Beruflich Dokumente
Kultur Dokumente
SILENT
PowerFactory
I N T E G R AT E D P O W E R S Y S T E M A N A LY S I S S O F T W A R E
DIgSILENT
PowerFactory 15
User Manual
DIgSILENT PowerFactory
Version 15
User Manual
Online Edition
DIgSILENT GmbH
Gomaringen, Germany
October 2014
Publisher:
DIgSILENT GmbH
Heinrich-Hertz-Strae 9
72810 Gomaringen / Germany
Tel.: +49 (0) 7072-9168-0
Fax: +49 (0) 7072-9168-88
Contents
I
General Information
1
3
1.1
1.2
Used Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Contact
2.1
2.2
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 PowerFactory Overview
4.1
General Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2
4.3
4.4
4.5
4.6
Data Arrangement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6.1
Global Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.6.2
4.6.3
Project Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.6.4
Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.6.5
Network Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.6.6
Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.6.7
Study Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.6.8
Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
CONTENTS
4.7
4.8
4.9
II
Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.1
Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.2
Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7.3
Cubicles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.4
Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.5
Substations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.6
Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.7
Branch Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.8.1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8.2
Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.8.3
Main Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.8.4
Administration
31
5 Program Administration
5.1
5.2
PowerFactory Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3
5.4
ii
33
5.2.1
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.2
Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.3
Licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.4
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.5
External Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.6
Map Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.7
Advanced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Workspace Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3.1
5.3.2
5.3.3
5.3.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. . . . . . . . . . . . . . . . . . . . . . . 36
CONTENTS
5.5
5.4.1
5.4.2
5.4.3
Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.5.2
5.5.3
5.5.4
Project Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.5.5
5.5.6
5.5.7
5.5.8
Monitoring Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.5.9
47
6.1
6.2
6.3
6.4
6.5
Creating Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.5.1
Tool Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.5.2
Configuration of Toolbars
6.5.3
Configuration of Menus
6.5.4
6.5.5
6.5.6
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 User Settings
57
7.1
General Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.2
7.3
7.4
7.5
Functions Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
iii
CONTENTS
III
7.6
Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.7
Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.8
StationWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.9
Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Handling
63
8.2
Project Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.1.2
Project Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.1.3
Project Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
8.1.4
8.1.5
8.1.6
External References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
75
9.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.2
9.3
iv
65
9.2.1
9.2.2
Drawing Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9.2.3
9.2.4
9.2.5
9.2.6
9.2.7
9.2.8
9.3.2
9.3.3
9.3.4
CONTENTS
9.4
9.5
9.5.2
9.5.3
9.5.4
9.5.5
9.5.6
9.5.7
9.5.8
9.5.9
9.7
9.6.2
9.6.3
9.7.2
9.7.3
9.7.4
Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
9.7.5
9.7.6
9.7.7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
9.8
9.9
9.9.2
9.9.3
Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
9.9.4
CONTENTS
9.12 Navigation Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.13 Geographical Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
9.13.1 Using an External Map Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
9.13.2 Using Local Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
9.14 Heatmaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10 Data Manager
135
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
. . . . . . . . . . . . . . . . . . . . . . 153
CONTENTS
10.7.1 Input Window Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
10.8 Save and Restore Parts of the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.8.1 Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.9 Spreadsheet Format Data Import/Export . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
10.9.1 Export to Spreadsheet Programs (e. g. MS EXCEL) . . . . . . . . . . . . . . . . 157
10.9.2 Import from Spreadsheet Programs (e. g. MS EXCEL) . . . . . . . . . . . . . . . 159
11 Study Cases
165
vii
CONTENTS
11.12Variable Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
11.13Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
11.14Graphic Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
12 Project Library
179
199
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
13.2.3 Inserting a Generator into a Virtual Power Plant and Defining its Virtual Power
Plant Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
13.3 Boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
13.4 Circuits (ElmCircuit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
13.5 Feeders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
viii
CONTENTS
13.5.1 Feeder Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
13.6 Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
13.7 Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
13.8 Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
13.9 Routes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
13.10Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
14 Operation Scenarios
215
. . . . . . . . . . . . . . . 223
227
ix
CONTENTS
15.5 The Recording Expansion Stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
15.6 The Variation Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
15.7 Variation and Expansion Stage Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
15.8 Variation and Expansion Stage Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . 232
15.8.1 Applying Changes from Expansion Stages . . . . . . . . . . . . . . . . . . . . . . 232
15.8.2 Consolidating Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
15.8.3 Splitting Expansion Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
15.8.4 Comparing Variations and Expansion Stages . . . . . . . . . . . . . . . . . . . . 233
15.8.5 Colouring Variations the Single Line Graphic . . . . . . . . . . . . . . . . . . . . . 234
15.8.6 Variation Conflicts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
15.8.7 Error Correction Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
15.9 Compatibility with Previous PowerFactory
Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
15.9.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
15.9.2 Converting System Stages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
16 Parameter Characteristics,
Load States, and Tariffs
241
CONTENTS
16.3.2 Viewing Existing Load States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
16.3.3 Load State Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
16.3.4 Example Load States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
16.4 Load Distribution States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
16.4.1 Creating Load Distribution States . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
16.4.2 Viewing Existing Load Distribution States . . . . . . . . . . . . . . . . . . . . . . 258
16.4.3 Load Distribution State Object Properties . . . . . . . . . . . . . . . . . . . . . . 258
16.4.4 Example Load Distribution States . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
16.5 Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
16.5.1 Defining Time Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
16.5.2 Defining Energy Tariffs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
17 Reporting and Visualising Results
263
xi
CONTENTS
17.5.6 Schematic Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
17.5.7 The Waveform Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
17.5.8 The Curve-Input Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
17.5.9 Embedded Graphic Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
17.5.10 Tools for Virtual Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
17.5.11 User-Defined Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
18 Data Management
325
345
xii
CONTENTS
19.1.1 The Principle Structure of a DPL Command . . . . . . . . . . . . . . . . . . . . . 346
19.1.2 The DPL Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
19.1.3 The DPL Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
19.1.4 The DPL Script Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
19.1.5 Access to Other Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
19.1.6 Access to Locally Stored Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
19.1.7 Accessing the General Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
19.1.8 Accessing External Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
19.1.9 Remote Scripts and DPL Command Libraries . . . . . . . . . . . . . . . . . . . . 358
19.1.10 DPL Functions and Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
19.2 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
19.2.1 Installation of a Python Interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . 362
19.2.2 The Python PowerFactory Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
19.2.3 The Python Command (ComPython) . . . . . . . . . . . . . . . . . . . . . . . . . 363
19.2.4 Running PowerFactory in Engine Mode . . . . . . . . . . . . . . . . . . . . . . . . 368
19.2.5 Debugging Python Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
19.2.6 Example of a Python Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
20 Interfaces
371
xiii
CONTENTS
20.4.4 Importing Elektra Network Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
20.4.5 Importing Elektra Type Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
20.4.6 Output Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
20.5 NEPLAN Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
20.5.1 Importing NEPLAN Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
20.6 INTEGRAL Interface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
IV
425
427
CONTENTS
21.2.3 Advanced Load Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
21.2.4 Temperature Dependency of Lines and Cables . . . . . . . . . . . . . . . . . . . 442
21.3 Executing Load Flow Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
21.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
21.3.2 Active Power Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
21.3.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
21.3.4 Iteration Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
21.3.5 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
21.3.6 Low Voltage Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
21.3.7 Advanced Simulation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
21.4 Result Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
21.4.1 Viewing Results in the Single Line Diagram . . . . . . . . . . . . . . . . . . . . . 455
21.4.2 Flexible Data Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
21.4.3 Predefined Report Formats (ASCII Reports) . . . . . . . . . . . . . . . . . . . . . 456
21.4.4 Diagram Colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
21.4.5 Load Flow Sign Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
21.5 Troubleshooting Load Flow Calculation Problems . . . . . . . . . . . . . . . . . . . . . . 457
21.5.1 General Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
21.5.2 Data Model Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
21.5.3 Some Load Flow Calculation Messages . . . . . . . . . . . . . . . . . . . . . . . 459
21.5.4 Too many Inner Loop Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
21.5.5 Too Many Outer Loop Iterations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
21.6 Load Flow Sensitivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
21.6.1 Load Flow Sensitivities Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
21.6.2 Load Flow Sensitivities Execution and Results . . . . . . . . . . . . . . . . . . . . 465
21.6.3 Technical Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
22 Short-Circuit Analysis
469
xv
CONTENTS
22.2.4 The IEC 61363 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
22.2.5 The IEC 61660 (DC) Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
22.2.6 The ANSI/IEEE 946 (DC) Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
22.3 Executing Short-Circuit Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
22.3.1 Toolbar/Main Menu Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
22.3.2 Context-Sensitive Menu Execution . . . . . . . . . . . . . . . . . . . . . . . . . . 485
22.3.3 Faults on Busbars/Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
22.3.4 Faults on Lines and Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
22.3.5 Multiple Faults Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
22.4 Short-Circuit Calculation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
22.4.1 Basic Options (All Methods) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
22.4.2 Verification (Except for IEC 61363, IEC 61660 and ANSI/IEEE 946) . . . . . . . . 492
22.4.3 Basic Options (IEC 60909/VDE 0102 Method) . . . . . . . . . . . . . . . . . . . . 493
22.4.4 Advanced Options (IEC 60909/VDE 0102 Method) . . . . . . . . . . . . . . . . . 494
22.4.5 Basic Options (ANSI C37 Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 496
22.4.6 Advanced Options (ANSI C37 Method) . . . . . . . . . . . . . . . . . . . . . . . . 498
22.4.7 Basic Options (Complete Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 499
22.4.8 Advanced Options (Complete Method) . . . . . . . . . . . . . . . . . . . . . . . . 500
22.4.9 Basic Options (IEC 61363) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
22.4.10 Advanced Options (IEC 61363) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
22.4.11 Basic Options (IEC 61660 Method) . . . . . . . . . . . . . . . . . . . . . . . . . . 503
22.4.12 Advanced Options (IEC 61660 Method) . . . . . . . . . . . . . . . . . . . . . . . 504
22.4.13 Basic Options (ANSI/IEEE 946 Method) . . . . . . . . . . . . . . . . . . . . . . . 504
22.4.14 Advanced Options (ANSI/IEEE 946 Method) . . . . . . . . . . . . . . . . . . . . . 505
22.5 Result Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
22.5.1 Viewing Results in the Single Line Diagram . . . . . . . . . . . . . . . . . . . . . 505
22.5.2 Flexible Data Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
22.5.3 Predefined Report Formats (ASCII Reports) . . . . . . . . . . . . . . . . . . . . . 506
22.5.4 Diagram Colouring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
22.6 Capacitive Earth-Fault Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
23 Power Quality and Harmonics Analysis
509
CONTENTS
23.2 Harmonic Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
23.2.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
23.2.2 IEC 61000-3-6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
23.2.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
23.3 Frequency Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
23.3.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
23.3.2 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
23.4 Filter Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
23.5 Modelling Harmonic Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
23.5.1 Definition of Harmonic Injections . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
23.5.2 Assignment of Harmonic Injections . . . . . . . . . . . . . . . . . . . . . . . . . . 523
23.5.3 Harmonics Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
23.5.4 Frequency Dependent Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 526
23.5.5 Waveform Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
23.6 Flicker Analysis (IEC 61400-21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
23.6.1 Continuous Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
23.6.2 Switching Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
23.6.3 Flicker Contribution of Wind Turbine Generator Models . . . . . . . . . . . . . . . 531
23.6.4 Definition of Flicker Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
23.6.5 Assignment of Flicker Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . 532
23.6.6 Flicker Result Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
23.7 Short-Circuit Power Sk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
23.7.1 Balanced Harmonic Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
23.7.2 Unbalanced Harmonic Load Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
23.7.3 Sk Result Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
23.7.4 Short-Circuit Power of the External Grid . . . . . . . . . . . . . . . . . . . . . . . 535
23.8 Connection Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
23.8.1 Connection Request Assessment: D-A-CH-CZ . . . . . . . . . . . . . . . . . . . 535
23.8.2 Connection Request Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
23.8.3 Connection Request Assessment Report . . . . . . . . . . . . . . . . . . . . . . 539
23.9 Definition of Result Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
23.9.1 Definition of Variable Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
xvii
CONTENTS
23.9.2 Selection of Result Variables within a Variable Set . . . . . . . . . . . . . . . . . 541
24 Flickermeter
543
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
553
561
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
DIgSILENT PowerFactory 15, User Manual
CONTENTS
26.3.1 Basic Options
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
. . . . . . . . . . . 599
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
xix
CONTENTS
26.12.5 Definition Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
26.12.6 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
26.12.7 Equation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
26.12.8 Equation Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
26.12.9 DSL Macros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
. . . . . . . . . . . . . . . . . . . . . . . . . 624
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
. . . . . . . . . . . . . . . . . . . 644
653
xx
CONTENTS
27.4 Troubleshooting Modal Analysis Calculation Problems . . . . . . . . . . . . . . . . . . . . 675
27.4.1 The Arnoldi/Lanczos Method is slow . . . . . . . . . . . . . . . . . . . . . . . . . 675
28 Model Parameter Identification
677
687
xxi
CONTENTS
29.5.1 Basic Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
29.5.2 Effectiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
29.5.3 Multiple Time Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
29.5.4 Time Sweep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
29.5.5 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
29.5.6 Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
29.5.7 Defining Time Phases for Contingency Analyses . . . . . . . . . . . . . . . . . . 707
29.5.8 Representing Contingency Situations with Post - Fault Actions . . . . . . . . . . . 709
29.6 Creating Contingency Cases Using Fault
Cases and Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
29.6.1 Browsing Fault Cases and Fault Groups . . . . . . . . . . . . . . . . . . . . . . . 711
29.6.2 Defining a Fault Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
29.6.3 Defining a Fault Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
29.7 Creating Contingency Cases Using the
Contingency Definition Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
29.8 Comparing Contingency Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
29.9 Result Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
29.9.1 Predefined Report Formats (Tabular and ASCII Reports) . . . . . . . . . . . . . . 717
30 Reliability Assessment
721
. . . . . . . . . . . . . . . . . . . . . . . . . . 742
CONTENTS
30.3.7 Fault Clearance Based on Protection Device Location . . . . . . . . . . . . . . . 742
30.3.8 How to Consider Planned Maintenance . . . . . . . . . . . . . . . . . . . . . . . 742
30.3.9 Specifying Individual Component Constraints . . . . . . . . . . . . . . . . . . . . 743
30.4 Running The Reliability Assessment Calculation . . . . . . . . . . . . . . . . . . . . . . . 743
30.4.1 How to run the Reliability Assessment . . . . . . . . . . . . . . . . . . . . . . . . 743
30.4.2 Viewing the Load Point Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
30.4.3 Viewing the System Reliability Indices (Spreadsheet format) . . . . . . . . . . . . 750
30.4.4 Printing ASCII Reliability Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
30.4.5 Using the Colouring modes to aid Reliability Analysis . . . . . . . . . . . . . . . . 752
30.4.6 Using the Contribution to Reliability Indices Script . . . . . . . . . . . . . . . . . . 753
31 Optimal Power Restoration
755
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
771
xxiii
CONTENTS
32.4 Assignment of Stochastic Model for Generation Object . . . . . . . . . . . . . . . . . . . 776
32.4.1 Definition of a Stochastic Multi-State Model . . . . . . . . . . . . . . . . . . . . . 777
32.4.2 Stochastic Wind Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
32.4.3 Time Series Characteristic for Wind Generation . . . . . . . . . . . . . . . . . . . 779
32.4.4 Demand definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
32.4.5 Generation Adequacy Analysis Toolbar . . . . . . . . . . . . . . . . . . . . . . . . 781
32.4.6 Generation Adequacy Initialisation Command
(ComGenrelinc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
32.4.7 Run Generation Adequacy Command (ComGenrel) . . . . . . . . . . . . . . . . . 784
32.5 Generation Adequacy Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
32.5.1 Draws (Iterations) Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
32.5.2 Distribution (Cumulative Probability) Plots . . . . . . . . . . . . . . . . . . . . . . 786
32.5.3 Convergence Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
32.5.4 Summary of variables calculated during the Generation Adequacy Analysis . . . 791
33 Optimal Power Flow
793
xxiv
CONTENTS
33.4.5 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
34 Transmission Network Tools
829
839
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840
847
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
xxv
CONTENTS
36.3.3 Output Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
36.3.4 Advanced Options Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
36.3.5 Results of Voltage Profile Optimisation . . . . . . . . . . . . . . . . . . . . . . . . 857
36.4 Tie Open Point Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858
36.4.1 Tie Open Point Optimisation Background . . . . . . . . . . . . . . . . . . . . . . . 858
36.4.2 How to run a Tie Open Point Optimisation . . . . . . . . . . . . . . . . . . . . . . 859
36.5 Backbone Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
36.5.1 Basic Options Page
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 869
877
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879
CONTENTS
37.5.1 NF C 15-100 (Tableau 52C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
37.5.2 NF C 13-200 (Tableau 52E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894
38 Motor Starting
897
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900
907
915
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
xxvii
CONTENTS
40.2 How to define a protection
scheme in PowerFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
40.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919
40.2.2 Adding protective devices to the network model . . . . . . . . . . . . . . . . . . . 919
40.2.3 Protection single line diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923
40.2.4 Locating protection devices within
the network model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
40.3 Setup of an overcurrent
protection scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
40.3.1 Overcurrent relay model setup - basic data page . . . . . . . . . . . . . . . . . . 925
40.3.2 Overcurrent relay model setup - max/min fault
currents tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
40.3.3 Configuring the current transformer . . . . . . . . . . . . . . . . . . . . . . . . . . 928
40.3.4 Configuring the voltage transformer . . . . . . . . . . . . . . . . . . . . . . . . . . 931
40.3.5 How to add a fuse to the network model . . . . . . . . . . . . . . . . . . . . . . . 935
40.3.6 Basic relay blocks for overcurrent relays . . . . . . . . . . . . . . . . . . . . . . . 937
40.4 The time-overcurrent plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
40.4.1 How to create a time-overcurrent plot . . . . . . . . . . . . . . . . . . . . . . . . . 945
40.4.2 Understanding the time-overcurrent plot . . . . . . . . . . . . . . . . . . . . . . . 946
40.4.3 Showing the calculation results on the time-overcurrent plot . . . . . . . . . . . . 946
40.4.4 Displaying the grading margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
40.4.5 Adding a user defined permanent current line to the time-overcurrent plot . . . . 948
40.4.6 Configuring the auto generated protection diagram . . . . . . . . . . . . . . . . . 948
40.4.7 Overcurrent plot options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
40.4.8 Altering protection device characteristic settings from the time-overcurrent plot . 950
40.4.9 How to split the relay/fuse characteristic . . . . . . . . . . . . . . . . . . . . . . . 951
40.4.10 Equipment damage curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954
40.5 Setup and analysis of a distance
protection scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966
40.5.1 Distance relay model setup - basic data page . . . . . . . . . . . . . . . . . . . . 967
40.5.2 Primary or secondary Ohm selection for distance relay parameters . . . . . . . . 967
40.5.3 Basic relay blocks used for distance protection . . . . . . . . . . . . . . . . . . . 967
40.6 The impedance plot (R-X diagram) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
40.6.1 How to create an R-X diagram
xxviii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
CONTENTS
40.6.2 Understanding the R-X diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
40.6.3 Configuring the R-X plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979
40.6.4 Modifying the relay settings and branch elements from the R-X plot . . . . . . . . 983
40.7 The time-distance plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983
40.8 Setup of the differential protection scheme . . . . . . . . . . . . . . . . . . . . . . . . . . 987
40.8.1 Differential relay model setup-basic data page . . . . . . . . . . . . . . . . . . . . 988
40.8.2 Basic relay blocks used for differential protection . . . . . . . . . . . . . . . . . . 988
40.9 Differential Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989
40.9.1 Magnitude biased differential diagram (.VisMagndiffplt) . . . . . . . . . . . . . . . 990
40.9.2 Phase comparison differential diagram (.VisPcompdiffplt) . . . . . . . . . . . . . 991
40.10Distance protection coordination assistant . . . . . . . . . . . . . . . . . . . . . . . . . . 992
40.10.1 Distance protection coordination assistant - technical background . . . . . . . . . 992
40.10.2 Worked example of the distance protection coordination assistant . . . . . . . . . 995
40.10.3 Prerequisites for using the distance protection coordination tool . . . . . . . . . . 998
40.10.4 How to run the distance protection coordination calculation . . . . . . . . . . . . 998
40.10.5 Distance protection coordination options . . . . . . . . . . . . . . . . . . . . . . . 998
40.10.6 How to output results from the protection coordination assistant . . . . . . . . . . 1000
40.11Accessing results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1002
40.11.1 Quick access to protection plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
40.11.2 Tabular protection setting report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004
40.11.3 Results in single line graphic
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
1023
xxix
CONTENTS
41.2.2 Network Reduction for Short-Circuit
. . . . . . . . . . . . . . . . . . . . . . . . . 1024
. . . . . . . . . . . . . . . . . . . . . . . . . . 1033
1035
CONTENTS
42.6.1 Output Window Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
42.6.2 External Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
42.6.3 Estimated States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
42.6.4 Colour Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057
Appendix
1059
A Glossary
1061
B Hotkeys Reference
1067
B.1
B.2
B.3
B.4
B.5
B.6
1077
C.1.2
C.1.3
Autotransformer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
C.1.4
C.1.5
C.1.6
C.1.7
C.1.8
C.1.9
C.2.2
C.2.3
C.2.4
xxxi
CONTENTS
C.2.5
C.2.6
C.2.7
C.2.8
C.2.9
C.4
C.5
C.6
C.7
xxxii
C.3.2
Rectifier/Inverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
C.3.3
C.3.4
C.4.2
Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086
C.5.1
C.5.2
Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
C.6.1
C.6.2
C.6.3
C.6.4
C.6.5
C.6.6
C.6.7
C.6.8
C.6.9
Measurement Devices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
C.7.1
C.7.2
CONTENTS
C.8
C.9
C.7.3
C.7.4
C.7.5
C.8.2
C.8.3
C.8.4
1091
D.1
D.2
D.3
D.4
D.5
D.6
D.7
E DPL Reference
1113
E.1
E.2
E.3
Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
E.3.2
E.3.3
String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
E.3.4
xxxiii
CONTENTS
E.4
E.5
E.6
E.7
xxxiv
E.3.5
E.3.6
File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189
E.3.7
Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202
E.4.2
E.4.3
E.4.4
E.4.5
StudyCaseMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1216
E.4.6
E.4.7
E.4.8
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224
E.5.2
E.5.3
E.5.4
E.5.5
E.5.6
E.5.7
E.5.8
E.6.2
E.6.3
E.6.4
E.6.5
E.6.6
E.7.2
E.7.3
CONTENTS
E.7.4
E.7.5
E.7.6
E.7.7
E.7.8
E.7.9
. . . . . . . . . . . . . . . . . . . . . . . . . . 1313
Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1332
E.8.1
E.8.2
E.8.3
E.8.4
E.8.5
E.8.6
E.8.7
E.8.8
E.8.9
Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1386
xxxv
CONTENTS
E.9.1
. . . . . . . . . . . . . . . . . . . . . . . . . . 1386
E.9.2
E.9.3
1431
F.1
F.2
Placeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432
F.3
F.4
Colour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1435
F.5
F.6
F.7
F.8
1439
xxxvi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1440
CONTENTS
G.4 Including Graphic Files as Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1442
H Standard Functions DPL and DSL
1443
Bibliography
1445
Index
1447
xxxvii
CONTENTS
xxxviii
Part I
General Information
Chapter 1
1.1
The first section of the User Manual provides General Information, including an overview of PowerFactory software, a description of the basic program settings, and a description of the PowerFactory data
model.
The next sections describe PowerFactory administration, handling, and power system analysis functions. In the Power System Analysis Functions section, each chapter deals with a different calculation,
presenting the most relevant theoretical aspects, the PowerFactory approach, and the corresponding
interface.
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,
visualisation, 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 commence by reading Chapter 4 (PowerFactory Overview), and
completing the PowerFactory Tutorials.
1.2
Used Conventions
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
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 file(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
CHAPTER 2. CONTACT
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
Chapter 3
Chapter 4
PowerFactory Overview
The calculation program DIgSILENT PowerFactory , 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 optimisation.
DIgSILENT " is an acronym for DIgital SImuLation of Electrical NeTworks". DIgSILENT Version 7 was
the worlds first 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 qualified engineers and programmers with many years
of experience in both electrical power system analysis and computer programming. The accuracy and
validity of results obtained with PowerFactory has been confirmed in a large number of implementations,
by organisations involved in the 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: definition, modification and organisation of cases; core numerical
routines; output and documentation functions.
2. Integrated interactive single line graphic and data case handling.
3. Power system element and base case database.
4. Integrated calculation functions (e.g. line and machine parameter calculation based on geometrical or nameplate information).
5. Power system network configuration with interactive or on-line 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 flow analysis, short-circuit calculation, harmonic analysis, protection coordination, stability analysis,
and modal analysis.
Although PowerFactory includes highly-sophisticated power system analysis functions, the intuitive user
interface makes it possible for new users to very quickly perform common tasks such as load flow and
short-circuit calculations.
DIgSILENT PowerFactory 15, User Manual
4.1
General Concept
4.2
PowerFactory uses a hierarchical, object-oriented database. All the data, which represents power system Elements, Single Line Graphics, Study Cases, system Operation Scenarios, calculation commands,
program Settings etc., are stored as objects inside a hierarchical set of folders. The folders are arranged
in order to facilitate the definition of the studies and optimise the use of the tools provided by the
program.
The objects are grouped according to the kind of element that they represent. These groups are
known as Classes" within the PowerFactory environment. For example, an object that represents a
synchronous generator in a power system belongs to a Class called ElmSym, and an object storing the
settings for a load flow calculation belongs to a Class called ComLdf. Object Classes are analogous
to computer file extensions. Each object belongs to a Class and each Class has a specific set of
parameters that defines the objects it represents. As explained in Section 4.8 (User Interface), the
edit dialogs are the interfaces between the user and an object; the parameters defining the object are
accessed through this dialog. This means that there is an edit dialog for each class of objects.
Note: Everything in PowerFactory is an object, all the objects belong to a Class and are stored according to a hierarchical arrangement in the database tree.
11
4.3
4.4
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 dialog 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
All data entered for objects is hierarchically structured in folders for ease of navigation. To view the data
and its organisation, 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.
13
4.5
Since power systems are constructed using standardised 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 modified 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-defined 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 summarised below:
14
4.6.1
Global Library
15
4.6.2
Sometimes it is useful to share a Library with another PowerFactory user in a Global Library. This requires the creation of a Library folder, which can be done by the Administrator as shown in Figure 4.6.2.
To do this, the Administrator must proceed as follows:
Right-click on the Database"
Click on New Folder
Chose a library name and select Library" as Folder Type
Click OK
The new Library is now created at the same level of the hierarchy as the Global Library. Every user of
this database has full read access, however the Types within this Library must be created and edited by
the Administrator.
16
4.6.3
Project Library
The project Library contains the equipment Types, network operational information, DPL scripts, templates, and user-defined models (generally) only used within a particular project. A particular project
may have references to the project Library and / or global Library. The Project Library folder and subfolders are discussed in detail in Chapter 12 (Project Library).
4.6.4
Diagrams
Single Line Graphics are defined in PowerFactory by means of graphic folders of class IntGrfNet ( ).
Each diagram corresponds to a IntGrfNet folder. They are stored in the Network Diagrams folder
( ) of the Network Model. Single line diagrams are composed of graphical objects, which represent
components of the networks under study. Graphical components reference network components and
symbol objects (IntSym).
The relation between graphical objects and network components allows the definition and modification
of the studied networks directly from the Single Line Graphics. Network components can be represented
by more than one graphical object (many IntGrf objects can refer to the same network component).
Therefore, one component can appear in several diagrams.
These diagrams are managed by the active Study Case, and specifically by an object called the
Graphics Board. If a reference to a network diagram is stored in a Study Cases Graphics Board,
when the Study Case is activated, the diagram is automatically opened. Diagrams can be easily added
and deleted from the Graphics Boards.
Each diagram is related to a specific Grid (ElmNet). When a Grid is added to an active Study Case, the
user is asked to select (among the diagrams pointing to that grid) the diagrams to 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 define and work with single line
graphics.
4.6.5
Network Data
The Network Data folder holds network data (Element data) in Grid" folders, network modification
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 defined 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,
organisational 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 analysed separately. At a
later stage both networks are connected and the analysis of the complete system is carried out.
Note: A Grid (and in general any object comprising the data model) is active when it is referred to by
the current study case. Only objects referred in the current (active) Study Case are considered for
calculation. In the Data Manager, the icon of an active Grid is shown in red, to distinguish it from
inactive Grids.
For details of how to define grids refer to Chapter 8.Basic Project Definition, Section 8.2 (Creating New
Grids).
DIgSILENT PowerFactory 15, User Manual
17
Grouping Objects
In addition to Grid folders, the Network Data folder contains a set of objects that allow further grouping
of network components. By default, when a new project is created, new empty folders to store these
grouping objects is created inside the Network Model folder.
For details of how to define grouping objects, refer to Chapter 13: Grouping Objects.
4.6.6
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.
4.6.7
Study Cases
The Study Cases folder holds study management information. Study Cases are used to store information such as command settings, active Variations and Operations Scenarios, graphics to be displayed,
and study results. See Chapter 11 (Study Cases) for details.
18
4.6.8
Settings
Project settings such as user-defined 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 flexibility to define network components directly within the Grid, or to
organise and group components in a way that simplifies management of project data.
Consider the example network data arrangement shown in Figure 4.7.1 In this case, two busbar systems
(ElmSubstat in PowerFactory ) have been defined, one at 132 kV, and one at 66 kV. The two busbar
systems are grouped within a Site, which includes the 132 kV / 66 kV transformers (not shown in
Figure 4.7.1). A Branch composed of two line sections and a node connects 132 kV Busbar" to
HV terminal". Grouping of components in this way simplifies the arrangement of data within the
Data Manager, facilitates the drawing overview diagrams, and facilitates storing of Substation switching
configurations.
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 defined by a drop down menu found
in the Basic Data page of the terminal dialog). According to the selected usage, different calculation
functions are enabled; for example the short-circuit calculation can be performed only for busbars, or
for busbars and internal nodes, and so on.
4.7.2
Branches
Elements with multiple connections are referred to Branches" (as distinct from a Branch Element",
which is a grouping of elements, discussed in Section 4.7.7). Branches include two-connection elements such as transmission lines and transformers, and three-connection elements such as threewinding transformers, AC/DC converters with two DC terminals, etc.
For information about how to define transmission lines (and cables) and sections refer to Chapter 9: Network Graphics, Section 9.2(Defining Network Models with the Graphical Editor). Technical information
DIgSILENT PowerFactory 15, User Manual
19
4.7.3
Cubicles
When any branch element is directly connected to a Terminal, PowerFactory uses a Cubicle" (StaCubic)
to define the connection. Cubicles can be visualised 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 configurations, 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
4.7.6
Sites
Network components including Substations and Branches can be grouped together within a Site"
(ElmSite). This may include Elements such as substations / busbars at different voltage levels. For
information about how to define sites refer to Chapter 10, Section 10.3(Defining Network Models with
the Data Manager).
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.
For information about how to define branches refer to Chapter 9: Network Graphics, Section 9.2(Defining Network Models with the Graphical Editor) and Chapter 10, Section 10.3(Defining Network Models
with the Data Manager).
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
20
4.8.1
Overview
21
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 specific action. To open a drop down list, either click on the
menu entry with the left mouse button, or press the Alt key together with the underlined letter in the
menu. Menu options that are shown in grey are not available, and only become available as the user
activates projects or calculation modes, as required.
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 finished. Some command icons will
remain depressed, such as the button to Maximise Output Window. When pressed again, the button
will return to the original (non-depressed) state.
This section provides a brief explanation of the purpose of the icons found on the upper part of the
toolbar. Icons from the lower part of the toolbar are discussed in Chapter 9(Network Graphics (Single
Line Diagrams)). Detailed explanations for each of the functions that the icons command are provided
in the other sections of the manual.
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 first 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.
Date/Time of Calculation Case (SetTime)
Displays the date and time for the case calculation. This option is used when parameter characteristics of specific elements (e.g. active and reactive power of loads) are set to change according
to the study time, or a Variation status is set to change with the study time.
Edit Trigger
Displays a list of all Triggers that are in the active Study Case. These Triggers can be edited in
order to change the values for which one or more characteristics are defined. These values will
be modified with reference to the new Trigger value. All Triggers for all relevant characteristics
are automatically listed. If required, new Triggers will be created in the Study Case. For more
information, see Chapter 16: Parameter Characteristics, Load States, and Tariffs. Section 16.2
(Parameter Characteristics).
Network Data Assessment (ComCheck)
Activates the Network Data Assessment command dialog to generate selected reports on network data or to perform model data verification. For more information see Section 22.6 (Capacitive Earth-Fault Current) or Section 21.5 (Troubleshooting Load Flow Calculation Problems).
23
24
25
4.8.4
In addition to results presented in the Single Line Graphics and / or Data Manager, the Output Window
displays other textual output, such as error messages, warnings, command messages, device documentation, result of calculations, and generated reports, etc. This section describes Output Window
use and functionality.
Sizing and Positioning the Output Window
The default location of the Output Window is docked" (fixed) at the bottom of the main window, as
shown in Figure 4.8.1 It can be minimised, but not closed. When right-clicking the mouse button with the
cursor in the output windows area, the context sensitive menu of the output window appears. The output
window can then be undocked by deselecting the Dock Output Window. The undocked output window
is still confined to the main window, but now as a free floating window. This can occur unintentionally
when the user left clicks the tool bar for the output window and drags the mouse (keeping the mouse
button down) to somewhere outside of the output window boundaries. To rectify this simply left-click in
the title bar of the undocked window and drag it down to the bottom of the screen where it will dock once
more (if you have right-clicked and unticked Docking View" then right click and select Docking View"
once more).
The upper edge of the output window shows a splitter bar which is used to change the size of 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 Maximise Graphic Window icon (
board by hiding the output window.
Pressing the Maximise Output Window icon (
window.
26
27
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.
28
4.9
The DIgSILENT Programming Language DPL offers an interface to the user for the automation of tasks
in PowerFactory . By means of a simple programming language and in-built editor, the user can define
automation commands (scripts) to perform iterative or repetitive calculations on target networks, and
post-process the results.
To find the name of an object parameter to be used in a DPL script, simply hover the mouse pointer
over the relevant field in an object dialog. For example, for a General Load, on the Load Flow page,
hover the mouse pointer over the Active Power field to show the parameter name plini".
User-defined DPL scripts can be used in all areas of power system analysis, for example:
Network optimisation.
Cable-sizing.
Protection coordination.
Stability analysis.
Parametric sweep analysis.
Contingency analysis.
DPL scripts may include the following:
DIgSILENT PowerFactory 15, User Manual
29
For further information about DPL commands and how to write and execute DPL scripts refer to Chapter 19.1 (The DIgSILENT Programming Language - DPL), and Appendix E DPL Reference.
30
Part II
Administration
Chapter 5
Program Administration
This chapter provides information on how to configure PowerFactory , and how to log on. More detailed descriptions of the installation, database settings and additional information can be found in the
PowerFactory Installation Manual.
5.1
In general there are 3 primary questions to consider before installing PowerFactory software, which will
determine the installation settings:
Licence: Where should the licence key(s) reside?
Installation: Where should PowerFactory be installed?
Database: Where should the database reside?
Once PowerFactory has been installed, it can be started by clicking either on the Desktop or by selecting
PowerFactory in the Windows Start menu. PowerFactory will then start and create a user account upon
the initial user log-in. If the user is working in a single-user-database environment, PowerFactory will
take the username from Windows by default. In the case that several user accounts have been created,
a log-on dialog will pop up allowing the user to select their username. The user will be asked to enter a
password if one has been defined for that particular account.
In a multi-user-database installation (see Chapter 6: User Accounts, User Groups, and Profiles) 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 Profiles). To log on as Administrator, use 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 to Section 6.2: The
Database Administrator.
Changes to the default settings of the installation settings can be carried out using the PowerFactory
Configuration dialog. Once PowerFactory is started, the Configuration dialog can be accessed via Tools
Configuration in PowerFactory s main menu. The Database and Licence tabs of the Configuration
dialog provide options to determine how the program installation should be configured. Administrator
rights are necessary to perform changes to these settings.
33
5.2.1
General
On this page the user can select the application language for the session.
5.2.2
Database
This page allows the selection of how the database will be used. The options are:
A single-user database which resides locally on each computer
A multi-user database which resides on a 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 regarding the database configuration please refer to the PowerFactory Installation Manual.
5.2.3
Licence
In order to run PowerFactory , the user is required to define licence settings on the Licence page of the
Configuration dialog. The options are described below, and more information regarding licence types is
available in the PowerFactory Installation Manual.
Demo request
When starting PowerFactory for the first time using this option, the DIgSILENT Licence Activation dialog
is opened containing instructions on how to activate the installation.
PowerFactory Workstation
This option is for single-user clients with a licence key (also known as a dongle or hardlock).
PowerFactory Server
This option is for multi-user clients with a network licence key which allows access to multiple users over
a network.
34
5.2.4
Workspace
The Workspace page allows the user to set the workspace directory and the workspace backup directory. The workspace is used to store the local database, result files and log files. For further information
regarding options for configuring and using the workspace, please refer to Chapter 5.3.
5.2.5
External Application
The External Applications page is used to set the Python editor path. This setting is used by Python.
5.2.6
Map Server
On the Map Server page, the default settings for background maps can be changed. The following
parameters can be set:
Directory: Map cache directory where downloaded map tiles are stored (default: workspace
directory). A custom directory can be specified if the cache should be shared across different
PowerFactory installations.
Preferred tile size [pixels]: Pixel dimensions of map tiles.
Max server connections: Maximum number of map tiles that are downloaded simultaneously.
Download time-out: Timespan after which a non-finished tile download is cancelled. This value
may need to be increased for slow/unstable internet connections.
HTTP proxy: Needs to be specified in the case the users computer connects to the internet via a
proxy server. Format: host:port , e.g.: myproxy:1234"
If Google Mapsshould be used as the map provider, the Google Maps for Business account" data
must be set on this page as well. To acquire a licence, please contact Google sales: (http://www.
google.com/enterprise/mapsearth).
5.2.7
Advanced
Settings on the Advanced page should only be changed under the guidance of the DIgSILENT PowerFactory support (see Chapter 2 Contact).
35
5.3
Workspace Options
By selecting Tools Workspace from the main menu, the options described below are available.
5.3.1
The workspace directory can be seen by clicking Tools Workspace Show workspace directory.
5.3.2
To import the workspace, select Tools Workspace Import Workspace.... This is a convenient
way to import the entire workspace after a new installation. To export the workspace, select Tools
Workspace Export Workspace.... The package will be saved as a .zip file.
5.3.3
The selection Tools Workspace Show Default Export Directory from the main menu shows the
user the directory that is used for the export.
5.3.4
This option allows the migration of the database from an older PowerFactory version (e.g 14.X, 15.0. . . )
to the newest version.
This can be selected from the main menu, under Tools Workspace Import Workspace from 14.x
or 15.0. . . . After Import Workspace from 14.x or 15.0. . . " has been selected, the user can choose the
working directory. The database that is saved in selected working directory will be migrated.
Depending on the database size, a migration may take several hours. Figure 5.3.1 shows the two
different migration types available.
Migration Types
Complete: the database structure and all projects will be altered and migrated immediately upon
pressing the OK button.
Minimal: the database structure will be altered immediately, but the project migration will occur upon
activation.
Minimal migration is recommended for the migrating of large databases.
36
5.4
This section describes working in offline mode. Installation of the offline Mode is described in the
PowerFactory Installation Manual.
5.4.1
5.4.1.1
Preconditions:
A PowerFactory user account must already exist in the online database. The PowerFactory Administrator" user is able to create user accounts.
The user must not be logged-on to an online session. In the example in Figure 5.4.1, User 2 and
User 3 are able to start an offline session, but User 1 is not, as s/he is already logged-on to an
online session.
37
5.4.1.2
From the main menu, select File Offline Terminate Offline session
A warning message is shown to confirm the synchronisation
Press Yes
All unsynchronised local changes will then be transferred to the server and the local offline
database is removed.
38
Synchronise All
Synchronises global data (new users, projects added, projects removed, projects moved) and all subscribed projects.
Open the main menu File Offline Synchronise all
5.4.1.4
5.4.1.5
5.4.1.6
Unsubscribe Project
5.4.1.7
A new project is created in offline mode. It is available only in this offline session. Later this project
should be published to other users and synchronised to the online database.
Create a new project or import a PFD project file.
Open the Data Manager and navigate to the project.
Right-click on the project stub. A context menu is shown.
Select Subscribe project in Offline mode for reading and writing.
39
Synchronise Project
Synchronises 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 offline 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 Synchronise
5.4.2
5.4.2.1
The session status for each user is shown in the Data Manager.
In Figure 5.4.4:
User 1 and Administrator are logged on to an online session. They are indicated by the
green ONLINE icon.
User 2 has started an offline session. It is indicated by the red OFFLINE icon.
Public, Demo, and User 3 are not logged on.
5.4.3
There may occasionally be cases which require that an offline session be terminated by the Administrator; e.g. if the computer on which the offline session was initialised has been damaged and can no
longer be used, and the user wants to start a new offline session on a different computer.
The Administrator is able terminate a session as follows:
Right-click on the user; the context menu is shown.
Select Terminate session (see Figure 5.4.5)
40
5.5. HOUSEKEEPING
5.5
5.5.1
Housekeeping
Introduction
Housekeeping automates the 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 times. An additional benefit to housekeeping is that users will need to spend less time purging projects and emptying recycle bins, something that
can slow down the process of exiting PowerFactory .
Housekeeping is only available for multi-user databases (e.g. Oracle, SQL Server). For details on
scheduling housekeeping, see the PowerFactory Installation Manual.
41
5.5.2
Normally, housekeeping will not process data belonging to logged-on users; however, some user
accounts (e.g. those for a control room) may be connected to PowerFactory permanently. These users
can be configured to allow housekeeping to process their data while they are logged-on. This is done
from the User Settings dialog (see Figure 5.5.1). Regardless of this setting, housekeeping will not
operate on a users active project.
Figure 5.5.1: The User Settings dialog: housekeeping for connected users
5.5.3
The Housekeeping command (SetHousekeeping) is used to control which housekeeping tasks are
enabled (see figure 5.5.2). It is recommended that the user move this object from Database \System\Configuration\Housekeeping to DatabaseConfigurationHousekeeping, in order to preserve the
users configuration throughout database upgrades.
The following sections discuss the different housekeeping tasks available in the Housekeeping dialog.
42
5.5. HOUSEKEEPING
5.5.4
Project Archiving
5.5.5
If the option Remove projects based on last activation date has been selected in the Housekeeping
dialog, when the Housekeeping is executed, for each user, each project will be handled according to
the selected Action.
The Action options are:
Delete project: deletes the project
Archive project: archives the project
DIgSILENT PowerFactory 15, User Manual
43
The settings for multiple projects may be selected using the tabular pane of the Data Manager window
(select the relevant column, right-click and select Modify Values). A value of 1 is equivalent to the
Housekeeping option Delete project being selected (see Figure 5.5.4). Many projects can be changed
via the tabular window which appears following a Find operation, though it should be noted that executing a Find is potentially a lengthy operation.
44
5.5. HOUSEKEEPING
A project will be deleted/archived by the housekeeping task if it meets the following criteria:
1. The project is configured for automatic deletion/archiving 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 (e.g. User Settings, or anything under the System or Configuration trees).
5. The project is not locked (e.g. active).
6. The owner of the project is not connected, unless that user is configured to allow concurrent
housekeeping (see Section 5.5.2).
5.5.6
If Purge projects has been ticked in the Housekeeping dialog, when the Housekeeping is executed,
each project will be considered for purging. A project that is already locked (e.g. an active project) will
not be purged.
The criteria used by Housekeeping to purge a project are:
If the project has been activated since its last purge.
If it is now more than a day past the object retention period since last activation, and the project
has not been purged since then.
45
5.5.7
If Delete recycle bin objects is set in the Housekeeping dialog, when Housekeeping is executed, each
users recycle bin will be examined. Entries older than the number of days specified in the Housekeeping
dialog (as shown in Figure 5.5.2) will be deleted.
5.5.8
Monitoring Housekeeping
In order to ensure that housekeeping is working correctly, it should be regularly verified by an administrator. This is done by inspecting the HOUSEKEEPING_LOG table via SQL or the data browsing tools of
the 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, a detailed log of each housekeeping run is stored in the log file of the housekeeping user.
5.5.9
46
Chapter 6
47
6.2
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.
Define users groups.
Set individual user rights.
Restrict or allow calculation functions.
Set/reset user passwords.
Create and edit Profiles (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. Select 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 Manual.
48
6.3
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 first 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 Configuration 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 Configuration folder to display its contents.
Double click on the User Manager icon (
6.4
Any project or folder in a user account may be shared. This action can be performed selectively by
sharing only with certain user groups. User groups are created by the administrator via the User
Manager. To create a new user group:
Log on as administrator.
In the Data Manager open the Configuration folder and double click on the User Manager icon(
DIgSILENT PowerFactory 15, User Manual
).
49
6.5
Creating Profiles
Profiles can be used to configure toolbars, menus, dialogue pages, and dialogue parameters. By
default, PowerFactory includes Base Package" and Standard" profiles, selectable from the main menu
under Tools Profiles. Selecting the Base Package" profile limits icons shown on the Main Toolbar to
those that are used with the Base Package of the software. The Standard" profile includes all available
PowerFactory icons.
Profiles are created in the Configuration Profiles folder by selecting the New Object icon and then
Others Settings Profile. An Administrator can create and customise profiles, and control User/User
Group selection of profiles from the Profile tab of each group.
Figure 6.5.1 shows the Profile dialogue for a new profile, CustomProfile, and Figure 6.5.2 illustrates
aspects of the GUI that may be customised using this profile. This section describes the customisation
procedure.
50
6.5.1
Tool Configuration
Definition of Icons
Icons can be defined in the Configuration Icons folder by selecting the New Object icon and then
Others Other Elements Icon (IntIcon). 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 Configuration
Figure 6.5.3 shows the Tool Configuration Commands tab.
51
6.5.2
Configuration of Toolbars
The Main Toolbar and Drawing Toolbars can be customised using the Toolbar Configuration. The field
Toolboxes may either refer to a Toolbox Configuration (SetTboxconfig) or a Toolbox Group Configuration
(SetTboxgrconfig), which may in-turn refer to one or more Toolbox Configurations.
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.
Each toolbox can be customised to display the desired icons, such as illustrated in Figure 6.5.6
53
Prior to customising the displayed buttons and menu items etc, the user should first define any required
custom Commands and Templates. A Tool Configuration object can be created in the Configuration
Profiles folder, or within a user-defined Profile, by selecting the New Object icon and then Others
Settings Tool Configuration. If created in the Profiles folder, the commands will be available from the
Standard" profile. Conversely, if the Tool Configuration object is created within a profile (SetProfile) the
commands and templates will only be available for use in this profile. If there is a Tool Configuration
within a user-defined profile, as well as in the Profiles folder, the Tool Configuration in the user-defined
profile will take precedence. Optionally, customised icons can be associated with the Commands and
Templates.
6.5.3
Configuration of Menus
The Main Menu, Data Manager, Graphic, Virtual Instruments, and Output Window menus can be
customised from the Menu Configuration dialogue. The Change to Configuration View button of the
Profile dialogue is used to display description identifiers for configurable items, such as illustrated in the
context-sensitive menu shown in Figure 6.5.7. The Menu Configuration includes a list of entries to be
removed from the specified menu. Note that a Profile may include multiple menu configurations (e.g.
one for each type of menu to be customised).
54
6.5.4
The Dialogue Page Configuration 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 customise
the displayed dialogue pages from the Functions tab of their User Settings.
6.5.5
The Dialogue Configuration may be used to customise 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 modified by the user. A Profile
may include multiple dialogue configurations (e.g. one for each class to be customised).
Note that if a there is a Dialogue Configuration for say, Elm* (or similarly for ElmLne,ElmLod), as well
as a Dialogue Configuration for ElmLne (for example), the configuration settings will be merged.
55
6.5.6
References
Profiles can also contain references to configurations. This allows several profiles to use the same
configurations. These referenced configurations can either be stored in another profile or in a subfolder
of the Profiles" folder (e.g. a user-defined profile can use configurations from a pre-defined profile).
56
Chapter 7
User Settings
The User Settings dialogue, shown in Figure 7.0.1, offers options for many global features of PowerFactory. This chapter is dedicated to describe this options. The User settings dialogue may be opened
either by clicking the User Settings button ( ) on the main tool bar, or by selecting the Options User
Settings. . . menu item from the main menu.
7.1
General Settings
57
7.2
7.3
The data manager page specifies which object types will be displayed or hidden in the tree representation, and whether confirmation prompts will appear when objects or data is changed in the data manager
itself.
59
7.4
The output window settings control the way in which messages selected by the user, in the output
window are to be copied for pasting into other programs.
Whichever options are checked will determine what will be copied. The text in the output window itself
will not be influenced.
Escape sequences are special hidden codes which are used for 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
influenced 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
60
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
utilise PowerFactory .
7.6
Directories
Compiled DSL Models Pre-compiled DSL models may be available for use as external models.
The DSL directory should be directed to the correct folder/ directory in order for PowerFactory to
find these models.
PFM-DSM
7.7
Editor
The editor which is used to enter large pieces of text (such as DPL scripts, objects descriptions, etc.)
can be configured on this page.
Options
Enable Virtual Space Allows the cursor to move into empty areas.
Enable Auto Indent Automatically indents the next line.
Enable Backspace at Start of Line Will not stop the backspace at the left-most position, but will
continue at the end of the previous line.
View blanks and tabs Shows these spaces.
Show Selection Margin Provides a column on the left side where bookmarks and other markings
are shown.
Show line Numbers Shows line numbers.
Tab Size Defines the width of a single tab.
Tabs
Toggles between the use of standard tabs, or to insert spaces when the tab-key is used.
Language colouring
Defines the syntax-highlighting used when the type of text is not known.
ShortCuts
Opens the short-cut definition 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
61
7.9
Advanced Options
Contingency Analysis
A confirmation dialogue is showed when the Remove Contingencies option is selected in the Contingency Analysis dialogue.
62
Part III
Handling
Chapter 8
8.1
There are three methods to create a new project. Two of them employ the Data Manager window and
the third employs the main menu. Whichever method is used the end result will be the same: a new
project in the database.
Method 1: Using the main menu:
On the main menu choose File New Project.
Enter the name of the project. Make sure that the Target Folder is set to the folder in which the
project should be created. By default it is set to the active user account folder.
Press Execute.
Method 2: Using the element selection dialog from the Data Manager:
In the Data Manager click the New Object button (
In the field at the bottom of the New Object window (IntPrj) (after selecting option Others in the
Elements field). Note that names in PowerFactory are case-sensitive.
Press Ok. The project folder dialog will then open. Press Ok.
Method 3: Directly via the Data Manager:
Locate the active user in the left-hand pane of the Data Manager.
Place the cursor on the active users icon or a folder within the active user account and right-click.
From the context-sensitive menu choose New Project. Press Ok. The project folder dialog will
then open. Press Ok.
65
Note: The ComNew command is used to create objects of several classes. To create a new project it
must be ensured that the Project option is selected.
In order to define and analyse 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 methods described), a new study case
is automatically created and activated. A dialog used to specify the name and nominal frequency of a
new, automatically-created grid pops up. When the button OK is pressed in the grid dialog:
The new grid folder is created in the newly-created project folder.
An empty single line diagram associated with the grid is opened.
The newly-created project has the default folder structure shown in Figure 8.1.1. Although a grid folder
and a study case are enough to define a system and perform calculations, the new project may be
expanded by creating library folders, extra grids, Variations, Operation Scenarios, Operational Data
objects, extra study cases, graphic windows, etc.
Projects can be deleted by right-clicking on the project name in the Data Manager and selecting Delete
from the context-sensitive menu. Only inactive projects can be deleted.
Note: The default structure of the project folder is arranged to take advantage of the data model
structure and the user is therefore advised to adhere to it. Experienced users may prefer to
create, within certain limits, their own project structure for specific advanced studies.
66
8.1.1
Project Dialog
The project dialog shown in Figure 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 contains basic project settings and allows the creation of new study cases and
grids:
button in the Project Settings field opens a dialog where the validity period of
Pressing the
the project, the input units to be used within the project (i.e. units and the decimal prefixes for
input dialogs) and the calculation settings (i.e. base apparent power and the minimal value of the
resistances and conductances in p.u) are defined.
Pressing the New Grid button will create a new grid and will open the grid edit dialog. A second
dialog will ask for the study case to which the new grid folder should 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 dialog. 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. result box definitions, report definitions, flexible page
selectors, etc.) are defined by the default settings from the system library. If these settings are
changed, the changes are stored in the projects Settings folder. 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 field of the dialog. The settings can only be changed
when a project is inactive.
The name of the active study case is shown in the lower part of the dialog window under Active
Study Case. Its dialog can be opened by pressing the
button.
67
Pressing the Contents button on the dialog will open a new data browser displaying all the folders
included in the current project directory.
The Sharing page of the dialog allows the definition of the project sharing rules. These rules are
particularly useful when working in a multi-user database environment. Further information is given in
Chapter 18 (Data Management).
The Derived Project page provides information if the project is derived from a master project.
The Storage page provides information about the data stored inside the project. By default all changes
within the last 7 days will be stored. This is called the retention period and can be changed on this page.
The Description page is used to add user comments and the approval status.
8.1.2
Project Overview
The Project Overview is illustrated in Figure 8.1.3. It is a dockable window, displayed by default on the
left side of the main application window between the main toolbar and the output window. It displays
an overview of the project allowing the user to assess the state of the project at a glance and facilitates
easy interaction with the project data. The window is docked by default, but can be undocked by the user
and displayed as a floating window that can be placed both inside and outside of the main application
window. If required, the window can be closed by the user. To close or reopen the window, toggle the
option Window Project Overview from the main menu.
68
The following objects and information can be accessed via the Project Overview.
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 and inactive 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 inactive Grids or System Stages
Trigger
Active triggers
Entries for active objects are displayed with bold text, entries for inactive objects 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
69
8.1.3
Project Settings
In the project settings, the validity period of the project can be defined, as can the method used for
calculation of symmetrical components for untransposed lines, amongst other settings.
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 specifies the time span the network model is valid for.
The validity period is defined by the Start Time and End Time of the project (see Figure 8.1.2). The
study case has study time, which must fall inside the validity period of the project.
To specify the validity period of the Project:
Open the Data Manager and browse to the project folder (IntPrj).
Right-click on it and select Edit from the context-sensitive menu.
On the Basic Data tab press the project settings button (
On the Validity Period page adjust the Start Time and End Time of the project.
Press OK to accept the changes and close the window.
Advanced Calculation Parameters
Auto slack assignment
This option only influences the automatic slack assignment (e.g. if no machine is marked as
Reference Machine")
Method 1: all 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 its Load Flow page: Spinning if circuit-breaker is open is disabled.
Off: auto slack assignment is switched off; the grid will be considered as de-energised if no
reference machine is defined.
Calculation of symmetrical components for untransposed lines
The selection of one of these methods defines how the sequence components of lines in PowerFactory will be calculated:
Method 1: apply the 012-transformation (irrespective of line transposition). This is the
standard method used;
Method 2: first calculate a symmetrical transposition for untransposed lines, and then apply
the 012-transformation.
70
8.1.4
To activate a project use the option File Activate Project from the main menu. This shows a tree with
all the projects in the current users account. Select the project that should be activated. Alternatively,
a project may be activated by right-clicking on it in the Data Manager and using the context-sensitive
menu.
The last 5 active projects are listed under File in the main menu. The currently active project is the first
entry in this list. To deactivate the currently active project, select it in the list. Alternatively, you may
choose the option File Deactivate Project from the main menu. To activate another project, select it
in the list of the 5 last active projects.
Note: Only one project can be activated at a time.
8.1.5
Projects (or any folder in the database) can be exported using the *.dz or the *.pfd (PowerFactory Data)
file format. It is recommended to use the new PFD format (*.pfd) whenever possible. This format is
ideal for handling even very large projects. The performance of the import/export using the *.pfd has
been optimised and the consumption of memory resources is significantly lower than with the old file
format (*.dz). All new functions available in the PowerFactory database, e.g. time stamps and versions,
are fully-supported by the new PFD file format.
8.1.5.1
Exporting a Project
To export a project, select File Export. . . Data. . . from the main menu or click 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 inactive projects). The dialog is shown in Figure 8.1.4.
Objects to export: This table shows all objects that will be exported within the *.pfd file.
Export current state: This option is visible if the project (or, object in the Objects to export
table) has Versions defined. If enabled (default), the current state of the project will be exported.
Otherwise, only the state of the selected Version/s will be exported.
Versions to export: This table shows all Versions of the Objects to export, if any are available. By
disabling the checkbox for specific Versions, the user can define which Version should or should
not be exported. For master projects, the corresponding Version for the derived project must be
selected. See Section 18.3.1 for further details.
Export data in retention period: If enabled, data changes from within the retention period will
be exported. See Section 8.1.1 for further details.
Export external data files (e.g. result files): If enabled, calculation results (i.e. result files, plot
data, etc.) will be exported. Otherwise, the calculation must be repeated after importing.
Export derived project as regular project (only available for derived projects, see Section 18.3.1):
If enabled, a derived project will be exported as an adequate project. In this case no master
project is required. It should be noted that this project can no longer be reused as a derived
project.
Export to former PowerFactory version: If the project is intended to be imported into a former
PowerFactory version, this flag must be activated and the version specified.
PFD file: The path where the *.pfd file will be saved.
71
8.1.5.2
Importing a Project
Projects can be imported by selecting File Import. . . Data. . . from the main menu or by clicking
on the
icon in the Data Manager. The user can select the type of file to import from the Files of type
field in the Open dialog which pops up. Alternatively, projects can be imported by selecting Import. . .
on the project context-sensitive menu (only available for inactive projects).
Additionally, several import/export filters are available for other data formats.
72
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 via the project context-sensitive menu.
If external references are found, these can be packed before exporting by selecting the option Pack
external References in the project context-sensitive menu.
The user can define the source of the External References (i.e. Global Library, Configuration folder,
etc). A new folder, called External" containing all external references will be created inside the project.
8.2
Electrical networks can be defined in PowerFactory using the graphical editor or the Data Manager.
The graphical method is simple; it consists of selecting the desired network components from the
drawing toolbox and placing them at the desired location on the single line graphic. In this case,
PowerFactory 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). Using the Data Manager requires the manual
definition of the cubicles within the terminals and the selection of the specific cubicle where a branch
element is to be connected. This manual definition is more suitable for large networks whose graphical
representation becomes complicated. Advanced users may combine both graphical and Data Manager
methods to define and modify their network models more efficiently.
In addition to describing the basic methods used to define and edit network models, this section is
intended to explain practical aspects related to the creation and management of network grouping
objects. The procedures used to create and manage additional network diagrams are also presented
here. Information about defining and working with Variations and Expansion Stages is provided in a
separate section. To begin, a description of the network model definition, and how new grid folders are
created, is required.
Note: Experienced users may define networks combining the Data Manager and the graphical editor.
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 dialog of the currently-active project.
Press the New Grid button.
2. Select Insert Grid . . . on the main menu.
3. Right-click the project folder in the Data Manager and select Edit. Press the New Grid button.
4. Right-click the Network Data folder (in the active project) in a Data Manager window and select
New Grid from the context-sensitive menu.
The dialog to create a new grid will then pop up. There the grid name, the nominal frequency and a grid
owner (optional) may be specified. A second dialog will appear after the Ok button has been pressed.
In this dialog the study case that the grid will be linked to must be selected. Three options are given:
1. add this Grid/System Stage to active Study Case: Only available when a study case is active.
DIgSILENT PowerFactory 15, User Manual
73
74
Chapter 9
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 organised in Graphic Boards for visualisation (see Section 9.5.2 for more information).
9.2
In this section it is explained how the tools of the Graphical Editor are used to define and work with
network models.
9.2.1
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
75
Figure 9.2.1 shows an example of a generator placed according to the first method (left generator),
one placed according to the second method (middle generator), and one placed according to the third
method (right generator with long connection).
If a load or machine is connected to a terminal using the first method (single left click on busbar), but a
cubicle already exists at that position on the busbar, the load or machine symbol will be automatically
positioned on the other side of the terminal, if possible.
Note: By default all power system elements are positioned bottom down". However, if the Ctrl key
is pressed when the graphic symbol is positioned onto the drawing surface, it will be positioned
either turned 90 degrees (terminals) or 180 degrees (edge elements). If the element has already
been placed and the user wishes to flip it to the other side of the terminal, 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. Figure 9.2.2 shows an example of rotated and flipped power system elements.
76
The connection between edge elements and terminals is carried out by means of cubicles. When working with the graphical editor, the cubicles are automatically generated in the corresponding terminal.
Note: When connections to terminals are defined 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 first 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 first left clicking on the terminal to mark it, and
then click once more so that the cursor changes to
. Hold the mouse button down and drag the
terminal to a new position. Re-sizing is performed by first left clicking on the terminal to mark it. Sizing
handles appear at the ends.
9.2.3
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
77
Annotations are created by clicking one of the annotation drawing tools. Tools are available for drawing
lines, squares, circles, pies, polygons, etc. To draw these symbols left click at on an empty space on
the single line diagram and release the mouse at another location (e.g. circles, lines, rectangles). Other
symbols require that you first set the vertices by clicking at different positions and finishing the input
mode by double-clicking at the last position.
For further information on defining lines, see section 9.3 (Defining and Working with Lines and Cables).
9.2.4
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.
78
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 (
be used.
To mark a set of elements at the same time click on a free spot in the drawing area, hold down
the mouse key and move the cursor to another place where you release the mouse button. All
elements in the so defined rectangle will now be marked. A setting, found in the User Settings
dialogue under the Graphic Windows 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 first element.
In PowerFactory it is possible to place a terminal on an existing line in the single line diagram by
placing the terminal on the line itself. Moving the terminal to a different location on the single line
diagram may move line sections in an undesirable manner. By holding the Ctrl+Alt keys whilst
moving the terminal, the line sections will not be moved. However, note that this does not change
the actual location of the terminal along the line.
The data of any element (its edit dialogue) may be viewed and edited by either double-clicking the
graphic symbol under consideration, or by right-clicking it and selecting Edit Data.
When multiple objects are selected, their data can be viewed and edited trough a data browser by
right-clicking the selection and choosing Edit Data from the context sensitive menu.
Note: Finding specific elements in a large project may be difficult if one had to look through the single
line diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the user in finding
elements within the graphic. The user has to first search for the desired object in the Data Manager
using any of the methods presented in Chapter 10 (Data Manager). Once a searched object is
identified, it may be right-clicked and the option Mark in Graphic selected.
79
9.2.5
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 first connection as normal by left clicking
a node (see Figure 9.2.4).
2. Double-click to place the symbol. Your cursor is now attached to the 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
next page option.
80
9.2.6
Substations and Secondary Substations from existing templates are created using the network diagrams. The substations are represented in these diagrams by means of composite node symbols.
Creating a New Substation in an Overview Diagram
Overview diagrams are single line diagrams without detailed graphical information of the substations.
Substations and Secondary Substations are illustrated as Composite Nodes", which can be coloured
DIgSILENT PowerFactory 15, User Manual
81
) for Secondary
The new Switching Rule dialogue pops up, where a name and the switching actions can be specified. The switching actions are arranged in a matrix where the rows represent the switches and
the columns the fault locations. By default the fault locations (columns) 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 Configuration page. The switch action of every defined breaker in the matrix can be changed
by double clicking on the corresponding cell, as illustrated in Figure 9.2.7. Press afterwards Ok.
The new switching rule is automatically stored inside the substation element.
83
84
9.2.7
New composite branches can be created in the Data Manager using the procedure described in Chapter 10, Section 10.3.4 (Defining Composite Branches in the Data Manager). The definition and connection of the branch components can then be carried out in the relevant single line diagram, which is
automatically generated after the creation of the new branch.
Branches from previously defined templates are created using the single line diagram. The branches
are represented in these diagrams by means of the Composite Branch symbol ( ). To create a new
branch from a template:
Click on the Composite Branch button ( ) listed among the symbols on the right-hand drawing
pane. A list of available templates (from the Templates library) for branches will appear. If only
one Branch template exists, no list is shown.
From this list choose the template that you want to create the branch from.
If the branch is to be connected with terminals of the same single line graphic, simply click once
on each terminal.
If the branch is to be connected with a terminal from another single line diagram, you have to
Paste graphically one of the terminals on the diagram where you want to represent the branch,
or connect across pages as discussed in section 9.2.5 (Interconnecting Power Subsystems).
If the branch is to be connected with terminals from a substation, click once on each composite
node to which the branch is to be connected. You will be automatically taken inside each of those
composite nodes to make the connections. In the substation graphic click once on an empty spot
near the terminal where you want to connect the branch end, and then on the terminal itself.
A diagram of the newly created branch can be opened by double clicking at the composite branch
symbol. In the new diagram it is possible to rearrange the branch configuration and to change the
branch connections.
Details of how to define templates are provided in Chapter 12 (Project Library).
9.2.8
It is possible to define the phase technology of elements such as terminals, lines, and loads. In
instances where the number of phases of a connecting element (e.g. a circuit breaker or line) is equal
to the number of phases of the terminal to which it connects, PowerFactory will automatically assign
the connections. However, when connecting single-phase elements to a terminal with greater than one
phase, or two-phase elements to terminals with greater than three phases, it is sometimes necessary to
DIgSILENT PowerFactory 15, User Manual
85
) next to the Terminal entry and specify the desired phase connec-
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
This section describes specific 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 generalised 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
specified.
The purpose of separating lines into sections is to obtain different line parts, with different types (such as
when a line uses two or more different tower types, or when manual transpositions should be modelled
- since the Transposed" option in the type object is a perfect, balanced, transposition).
86
9.3.1
The simplest line model is a point-to-point connection between two nodes. This is normally done in the
single line graphic by selecting the ( ) icon and by left clicking the first terminal, possibly clicking on
the drawing surface to draw a corner in the line and ending the line at the second terminal by left clicking
it. This will create an ElmLne object in the database. When this object is edited, the following dialogue
will appear.
The dialogue shows the two cubicles to which the transmission line is connected (terminal i and
terminal j). The example in Figure 9.3.2 shows a line which is connected between the nodes called
Line End Terminal and Line Feeder Bus from a grid called North. The line edit dialogue shows the
name of the node (in red) in addition to the name of the cubicle (in blue). The actual connection point
to the node is the cubicle and this may be edited by pressing the edit button ( ). The cubicle may be
edited to change the name of the cubicle, add/remove the breaker, or change phase connectivity as
discussed in section 9.2.8 (Working with Single and Two Phase Elements).
The type of the line is selected by pressing the (
are:
) next to the type field. Line types for a line/ line route
The TypLne object type, where electrical parameters are directly written (the user can select if the
type is defined for an overhead line or a cable).
Tower types (TypTow and TypGeo), where geometrical coordinates and conductor parameters are
specified, and the electrical parameters are calculated from this data. Selection of the tower type
will depend on the users requirement to link conductor type data to the 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 define couplings between the circuits that
DIgSILENT PowerFactory 15, User Manual
87
9.3.2
The edit dialogue of the new line section will pop up. There it is possible to define the type and
length of the new section.
9.3.3
Consider a three-phase underground cable comprised of three single-core cables with sheaths. The
cable system is created within the active project by taking the following steps.
1. Create a Single Core Cable Type (TypCab) and Cable Definition Type (TypCabsys):
Navigate to the Equipment Type Library and select the New Object icon, or on the right-hand
side of the data manager right-click and select New Others.
Select Special Types, Single Core Cable Type, and then Ok.
Enter the Type parameters and select Ok. (Note that in this example, a Sheath is also
selected, and therefore a separate line will later be defined in the Network Model to represent
the sheath.)
Again select the New Object icon, or on the right hand side of the data manager right-click
and select New Others.
Select Special Types, Cable Definition, and then Ok.
Enter type parameters including Earth Resistivity, and Coordinates of Line Circuits (note
that positive values indicate the depth below the surface). Select the Single Core Cable Type
defined in the previous steps and press Ok.
2. Create the Network Model:
Add four terminals in the single line diagram at the same voltage defined in the Single Core
Cable Type.
Connect a Line Element between two of the terminals to represent the phase 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 Define Cable
System from the context sensitive menu. Alternatively, define the cable system in the Data
Manager by creating a New Object and selecting Other Net Elements Cable System,
and then select the required Cable Definition and Line Elements to represent the Conductor
and Sheath circuits.
88
89
9.3.4
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.
90
91
9.4
PowerFactory offers the user the option to explicitly represent the neutral connections and interconnections of the following widely used elements:
Power transformers (ElmTr2 and ElmTr3)
Shunt elements (ElmShunt)
92
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 figure
9.4.3. A Neutral terminal is configured by ensuring that the Phase Technology of the terminal is set to
N as shown in figure 9.4.4.
93
94
9.5
In the PowerFactory graphic windows, graphic objects associated with the active study case are displayed. Those graphics include single line diagrams, station diagrams, block diagrams and Virtual
Instruments. Many commands and tools are available to edit and manipulate symbols in the graphics.
The underlying data objects may also be accessed and edited from the graphics, and calculation results
may be displayed and configured.
Many of the tools and commands are found in the drop down menus or as buttons in the toolbars, but by
far the most convenient manner of accessing them is to use the right mouse button to display a menu.
This menu is known as a Context Sensitive Menu; PowerFactory evaluates where the tip of your cursor
is, and then presents a menu that is appropriate to the cursor location. Thus cursor position is important
when selecting various menu options. It is important to keep the cursor in place when right-clicking, as
the menu presented is determined from cursor position primarily, and not from the selected or marked
object.
9.5.1
95
9.5.2
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.
96
Figure 9.5.2: Relationship between the study case, graphics board and single line diagrams
9.5.3
In a simple network there may be a 1:1 relationship between data objects and their graphical representations, i.e. every load, generator, terminal and line is represented once in the graphics. However,
PowerFactory provides additional flexibility in this regard. Data objects may be represented graphically
on more than one graphic, but only once per graphic. Thus a data object for one terminal can be
represented graphically on more than one graphic. All graphical representations contain the link to the
same data object.
Furthermore, graphical symbols may be moved without losing the link to the data object they represent.
Likewise, data objects may be moved without affecting the graphic.
The graphics themselves are saved in the database tree, by default in the Diagrams folder of the Network
Model. This simplifies finding the correct Single Line graphic representation of a particular grid, even in
the case where there are several graphic representations for one grid.
When the drawing tools are used to place a new component (i.e. a line, transformer, etc.) a new data
object is also created in the database tree. A Single Line Graphic object therefore has a reference
to a grid folder. The new data objects are stored into the target folders that the graphics page are
associated with. This information may be determined by right-clicking the graphic Graphic Options,
see Section 10.5 (Editing Data Objects in the Data Manager) for more information.
Since data objects may have more than one graphic representation the deletion of a graphic 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.
DIgSILENT PowerFactory 15, User Manual
97
9.5.4
Once elements have been drawn on the graphic the data for the element may be viewed and edited by
either double-clicking the graphic symbol under consideration, or by right-clicking it and selecting Edit
Data.
The option Edit and Browse Data will show the element in a data manager environment. The object itself
will be selected (highlighted) in the data manager and can be double-clicked to open the edit dialogue.
A new data manager will be opened if no data manager is presently active. If more than one symbol
was selected when the edit data option was selected, a data browser will pop up listing the selected
objects. The edit dialogues for each element may be opened from this data browser one by one, or the
selected objects can be edited in the data browser directly, see Section 10.5 (Editing Data Objects in
the Data Manager).
Finding specific elements in a large project may be difficult if one had to look through the single line
diagram alone. PowerFactory includes the Mark in Graphic tool, to assist the user in finding elements
within the graphic. To use this tool the user has to first search for the desired object in the Data Manager
using any of the methods presented in Chapter 10 (Data Manager). Once a searched object/element
is identified, it may be right-clicked and the option Mark in Graphic selected. This action will mark the
selected object in the single line graphic where it appears.
When performing this command ensure that the object itself is selected, as shown in Figure 9.5.3. The
menu will be different to that seen when selecting an individual field, as shown in Figure 9.5.4.
98
9.5.5
A new project may be created by selecting File New on the main menu. This creates a new Project
folder and a dialogue is displayed where the user can define a grid folder in the Project folder. Finally
the Graphic page in which the single line diagram will be displayed.
9.5.6
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.
99
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. Specific 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
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 specific Drawing Tool Box. This toolbox has buttons for new network
symbols and for non-network symbols. See Figure 9.5.5 for two examples.
100
9.5.10
On the status bar of PowerFactory (Figure 9.5.6), the active grid folder is displayed on the left-most field,
indicating the target folder (grid) that will be modified when you make changes in the network diagram.
To change the active target folder, double-click this field and then select the desired target folder. This
can be useful if the user intends to place new elements on a single line diagram, but have the element
stored in a different grid folder in the data manager.
9.6
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
DIgSILENT PowerFactory 15, User Manual
101
9.6.1
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 visualised in the active diagram will appear.
Click on the symbol for busbars (
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 (
all drawn nodes (not just a single starting node).
If Show elements part of drawn composite nodes ( ) is selected, elements internal to already drawn
composite nodes will be shown in the list. However, since they are already drawn as part of the
composite node, they should not be re-drawn.
The marked or selected element can now be visualised or drawn by clicking somewhere in the active
diagram. This element is drawn and disappears from the list.
Note that the number of elements in the list can increase or decreases depending on how many
elements are a distance away from the element lastly drawn. Scroll down the list, in case only certain
elements have to be visualised.
Close the window and press Esc to return the Cursor to normal. The drawn terminals (busbars) can be
moved, rotated or manipulated in various ways.
102
9.6.2
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 (
toolbox, for transformers select the transformer symbol ( ), and so on.
Similar to terminals, a list of all the lines (or transformers, or elements which have been chosen) in the
network, that are not in the active diagram are listed. Reduce the list by pressing the button Elements
which can be completely connected ( ) at the top of the window with the list. A list of lines with both
terminals in the active diagram is pre-selected. If the list is empty, then there are no lines connecting
any two unconnected terminals in the active diagram.
For each selected line (or transformers...) a pair of terminals, to which the line is connected is marked
in the diagram. Click on the first terminal and then on the second. The selected line is drawn and is
removed from the list of lines.
Continue drawing all lines (or transformers...), until the list of lines is empty or all the lines to be drawn
have been drawn. If a branch cannot be completely drawn (for example, when the terminal at only one
end of a line is shown on the diagram), it is possible to double-click the diagram and arrows will appear
to indicate that the line connects to a terminal that is not shown. Figure 9.6.1 provides an illustration.
9.6.3
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 files). Even without a single line diagram, it is possible to perform load-flow and other
calculations, and new single line diagram can be created by drawing existing database elements.
This is done by first creating a new single line graphic object in the Diagrams folder of the Network Model
(right-click the Diagrams folder and select New Graphic). This opens the single line graphic dialogue,
where the Current Net Data pointer should be set to the respective grid folder. See Section 9.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 filtered to show only particular grids or all grids by using the drop down window
(Figure 9.6.2, red square) provided. Once a drawing tool is chosen, in this case the Terminal tool,
the list is further filtered to show only terminals, as can be seen in the example. When the user now
clicks on the graphic the highlighted terminal (in the browser, Figure 9.6.2) will be removed from the list
and placed onto the graphic, and the next terminal down will be highlighted, ready for placement.
DIgSILENT PowerFactory 15, User Manual
103
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 first 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 first define a feeder (say, at
the cubicle closest to the source node), then run a load-flow, navigate to the feeder in the data
manager, right-click and select Show Schematic visualisation by Distance or Bus Index. See
Section 13.5 (Feeders) for further information on how to define feeders.
Note: Before placing elements onto the graphic users may find it useful to configure and display a
background layer. This will be an image of an existing single line diagram of the system. It may be
used to trace over so that the PowerFactory network looks the same as current paper depictions;
see Section 9.7.4 for more information on layers.
9.7
In this section the commands, options and settings that are available in PowerFactory to configure and
use the graphic windows are introduced. The sub-sections of this chapter are divided as illustrated in
Figure 9.7.1.
104
9.7.1
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.
Freeze Mode:
Locks the diagram from graphical changes, no network elements can be added or deleted. Note that
the status of switches can still be modified when freeze mode is on.
Zoom In:
Press the Zoom In icon to change the cursor to a magnifying glass. The mouse can then be clicked and
dragged to select a rectangular area to be zoomed. When the frame encompasses the area you wish
to zoom into release the mouse button. Alternatively, Ctrl+- and Ctrl++ keys can be used to zoom in
and out, or Ctrl and the mouse scroll wheel.
Note: The Acceleration Factor for zooming and panning can be changed on the second page of the
Graphic Window 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-defined 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
Rectangular 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.
DIgSILENT PowerFactory 15, User Manual
105
106
9.7.2
Figure 9.7.3 shows the page, graphic, and print options buttons available. These commands are
discussed in this section, as well as some commands available through the page tab menu.
Print: This function will send the graphic to a printer. A printer dialogue will first appear.
Also accessed through:
Main Menu: File Print
Keyboard: Ctrl+P
Drawing Format: The drawing area for single line diagrams, block diagrams and virtual instruments is
modified in the Drawing Format" dialogue. A predefined paper format can be selected as-is, edited, or
a new format be defined. The selected paper format has Landscape orientation by default and can be
rotated by 90 degrees by selecting Portrait. The format definitions, which are shown when an existing
format is edited or when a new format is defined, also show the landscape dimensions for the paper
format.
It is not possible to draw outside the selected drawing area. If a drawing no longer fits to the selected
drawing size, then a larger format should be selected. The existing graphs or diagrams are repositioned
on the new format (use Ctrl+A to mark all objects and then grab and move the entire graphic by left
clicking and holding the mouse key down on one of the marked objects; drag the graphic to a new
position if desired).
If no Subsize for Printing format has been selected, then, at printing time, the drawing area will be
scaled to fit the paper size of the printer. If, for instance, the drawing area is A3 and the selected paper
in the printer is A4, then the graphs/diagrams will be printed at 70% of their original size.
By selecting a subsize for printing, the scaling of the drawing at printing time can be controlled. The
dimensions of the sub-sized printing pages are shown in the graphic page. If, for instance, the drawing
size has been selected as A3 landscape, and the printing size as A4 portrait, then a vertical grey line
will divide the drawing area in two halves. The drawing area will be accordingly partitioned at printing
time and will be printed across two A4 pages.
Make sure that the selected subsize for used for printing is available at the printer. The printed pages
are scaled to the available physical paper if this is not the case.
For instance:
DIgSILENT PowerFactory 15, User Manual
107
Terminal (ElmTerm, ) opens the station graphic of the selected terminal (this may also be accessed by right-clicking the terminal in a Data Manager, or a terminal on the single line graphic
Show Station Graphic.
Block Definition (BlkDef, ) The graphic of the block definition is opened. If there is no graphic
defined for the block definitions the command is not executed
Virtual Instrument Panels (SetVipage) A copy of the selected virtual instrument panel is created
and displayed.
Graphic folder objects (IntGrfnet) may be opened in more than one Graphics Board at the same time,
even more than once in the same Graphics Board. Changes made to a graphic will show themselves
on all pages on which the graphic object is displayed.
Also accessed through:
Page Tab Menu: Insert Page Open Existing Page
Other Page Commands:
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.
108
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
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 modified. 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 Defines if and how non-orthogonal lines are permitted:
Ortho Off: Connections will be drawn exactly as their line points were set.
Ortho: Allow only right-angle connections between objects.
Semi Ortho: The first segment of a connection that leads away from a busbar or terminal will
always be drawn orthogonally.
Line Style for Cables Is used to select a line style for all cables.
Line Style for Overhead Lines Is used to select a line style for all overhead lines.
Offset Factor for Branch Symbols Defines the length of a connection when a branch symbol is drawn
by clicking on the busbar/terminal. This is the default distance from the busbar/terminal in grid points.
Allow Individual Line Style Permits the line style to be set for individual lines. The individual style may
be set for any line in the graphic by right-clicking the line Set Individual Line Style. This may also be
performed for a group of selected lines/cables in one action, by first multi selecting the elements.
109
9.7.3.2
Boxes of Object Names - Background Specifies the transparency of object names boxes:
Opaque: Means that objects behind the results box cannot be seen through the results box.
Transparent: Means that objects behind the results box can be seen through the results box.
Result Boxes - Background Specifies the transparency of result boxes (as boxes of object names).
Always show result boxes of detailed couplers Self-explanatory.
Space saving representation of result boxes on connection lines Self-explanatory.
Show line from General Textboxes to referenced objects may be disabled to unclutter the graphic.
Reset textboxes completely Textboxes and result boxes have reference points (the point on the box
at which the box will attach to its element) that may be changed by the user. If this option is:
Enabled: The default reference will be used.
Disabled: The user defined reference will be used.
110
Switches page:
Display Frame around Switches Draws a frame around the switch itself (Breakers, Disconnectors,
etc.). This only applies to user-drawn breakers and disconnectors.
Create switches when connecting to terminal Self-explanatory.
Show connected busbars as small dots in simplified substation representation Defines how the
connection points on busbars are represented in busbar systems.
Additional Attributes and Coordinates pages should generally only be configured 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 specific 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 defined in the Graphical Layers
dialogue, accessed through the main toolbar ( ), by right-clicking on an empty spot of the graphic
DIgSILENT PowerFactory 15, User Manual
111
The Configuration page has a drop down list showing all layers that may be configured by the user.
Considering the Object Names layer as shown in Figure 9.7.7, it may be seen that a target (or focus)
may be set. The selected target will be the focus of the performed configuration command. Various
actions or settings may be performed, such as e.g. changing the font using the Change Font button.
The configuration page may also be used to mark (select/ highlight) the target objects in the graphic
using the Mark button.
The options available to configure a layer depend on the type of Layer. Table 9.7.1 shows for each layer
in which way its content can be changed in format.
112
As and example, suppose that a part of the single line graphics is to be changed, for instance, to allow
for longer busbar names. To change the settings, the correct graphical layer is first selected. In this
example, it will be the Object Names layer. In this layer, only the busbar names are to be changed,
and the target must therefore be set to All Nodes. When the layer and the target has been selected,
the width for object names may be set in the Settings area. The number of columns may be set using
the Visibility/Frame/Width button. Alternatively, the Adapt Width will adapt all of the object name
placeholders to the length of the name for each object.
Changing a setting for all nodes or all branches at once will overwrite the present settings.
Note: Should an object disappear when it has been re-assigned to a layer, that layer may be invisible.
Layer visibility should be inspected and changed if required.
Layer
Base Level
Object
Names
Results
Content
Symbols for the elements
of the grid
Boxes with names and
additional data description, if configured
Boxes with calculation results
Diagram Type
Configuration
SL Single Line
Options
B Block
Text/Box Format
SL/B
Text/Box Format
SL/B
Text/Box Format
SL/B
113
Layer
Connection
Points
Device Data
Invisible
Objects
Background
Numbers of
connection
lines
Sections
and
Line
Loads
Connection
Arrows
Tap
Positions
Vector
Groups
Direction
Arrows
Phases
Connection
Numbers
Connection
Names
Signals
Block Definition
114
Content
Dots at the connections
between edges and buses/terminals and signal
connections to blocks
Additional Text explanation given in the device
symbol
Layer containing the symbols of elements hidden
by default
Graphic
used
as
the
background
(Swallpaper
T)
to allow
easier drawing of the
diagram or to show
additional
information
(map information)
Number of lines for each
connection
Symbols at lines consisting of sections and/or
where line loads are connected
Double-Arrow at connections where the end point
is not represented in the
current diagram.
Positions of taps for
shunts and transformers
Vector group for rotating
machines and transformers
Arrows that can be configured for active and reactive power flow representation
Number of phases of a
line/cable, shown as parallel lines
Index of each possible
block connection point
Name of each unused
connection of a block
Name of the signal transmitted
Definition each block is
based on
Diagram Type
Configuration
SL Single Line
Options
B Block
Text/Box Format
SL/B
Text/Box Format
SL/B
Text/Box Format
SL/B
Name of file
with graphics
(WMF, DXF,
BMP, JPEG,
PNG,
GIF,
TIF)
SL/B
Text/Box Format
SL
Text/Box Format
SL
Text/Box Format
SL
Text/Box Format
SL
Text/Box Format
SL
Active/Reactive
Power
for
direct/
SL
inverse/
homopolar
system
Text/Box Format
Text/Box
mat
Text/Box
mat
Text/Box
mat
Text/Box
mat
ForForForFor-
SL
B
B
B
B
Layer
Content
Diagram Type
Configuration
SL Single Line
Options
B Block
Remote
Controlled
Substations
Colour
Annotations
9.7.5
SL
Text/Box ForSL
mat
Table 9.7.1: Diagram Layers of PowerFactory
Annotations in the graphic
Element Options
Figure 9.7.8 shows the commands available for zooming, panning, and selecting.
Delete Element:
This function deletes all marked objects in the diagram. The database objects for the graphical object
will also be deleted (a warning message will pop up first - this may be switched off in the User Settings"
dialogue; see Section 7.2 (Graphic Windows Settings).
DIgSILENT PowerFactory 15, User Manual
115
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 rightclick 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
created 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
Disconnect or Connect.
116
117
9.7.6
Figure 9.7.10 shows the commands available for zooming, panning, and selecting.
9.7.6.1
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 fill 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 specific calculation is valid,
then the selected colouring for that calculation is displayed.
The Diagram Colouring has a 3-priority level colouring scheme also implemented, allowing colouring
elements according to the following criteria: 1 Energising status, 2 Alarm and 3 Normal" (Other)
colouring.
Energising Status If this check box is enabled De-energised" or Out of Calculation" elements
are coloured according to the settings in the Project Colour Settings". The settings of the Deenergised" 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 defined by clicking on the Colour Settings button.
Normal" (Other) Colouring Here, two lists are displayed. The first list will contains all available
colouring modes. The second list will contain all sub modes of the selected colouring mode. The
settings of the different colouring modes can be edited by clicking on the Colour Settings button.
118
119
120
9.7.6.3
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.
The contents and size of the title mask can be changed by right-clicking the title block and selecting
the Edit Data option from the context sensitive menu. The Select Title dialogue that pops up is used to
scale the size of the title block by setting the size of the block in percent of the default size. The font
used will be scaled accordingly. To edit the text in the title block press the edit button ( ) for the Title
Text field. All text fields have a fixed format in the title block. The data and time fields may be chosen as
automatic or user defined. Most text fields are limited to a certain number of characters. When opening
a new graphic the title will appear by default.
121
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 definitions, it may be required to manually resize the
legend box in order to show all result box legends.
The Legend Box definition dialogue is opened by right-clicking the legend block and selecting Edit Data
from the context sensitive menu. The font and format shown may be configured. When opening a new
graphic the legend will appear by default.
9.7.6.5
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
Figure 9.7.13 shows the commands available for setting node default options. These are discussed in
further detail in this section.
9.8
You can edit or change the symbols, which are used to represent the elements in the single line graphic.
Click with the right mouse button on a symbol of an element in the single line graphic, then either:
Select Edit Graphic Object from the context sensitive menu in order to edit the symbol of the
element. Note that colour changes will only be displayed if Other User-defined is selected in
the Diagram Colouring options.
122
9.9
PowerFactory uses results boxes, text boxes, and labels in the Single Line Diagram to 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-flow, branch and edge elements will have
different formats compared to nodes, and an external grid will have an individual, different, format as
compared to the branch and edge elements.
The result box itself is actually a small output report, based on a form definition. This form definition,
and the PowerFactory output language that is used to define it, allows for the display of a wide range of
calculated values, object parameters, and even for colouring or user defined text.
Although the result boxes in the single line graphic are a very versatile and powerful way for displaying
calculation results, it is often not possible to display a large (part of a) power system without making
the result boxes too small to be read. PowerFactory solves this problem by offering balloon help on the
result boxes. Positioning the mouse over a result box will pop up a yellow text balloon with the text
displayed in a fixed size font. This is depicted in Figure 9.9.1. The result box balloon always states the
name of the variable, and may thus also be used as a legend.
123
124
9.9.2
Text Boxes
As mentioned before, text boxes are used to display user defined variables from a specific referenced
object within the single line graphic. To create a text box, right-click on the desired object (one end of
the object when it is a branch element) and select Create Textbox. By default a text box with the same
format of the corresponding result box will be generated.
The created text box can be edited, to display the desired variables, following the same procedure
described in 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 connection 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 automatically created with the graphical objects (see Figure 9.9.1). The label can be visualised 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 (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.
DIgSILENT PowerFactory 15, User Manual
125
9.10
Annotation Layer
The Annotation Layer function offers the user the opportunity to include additional graphical information
in one or more configurable layers in the single line diagram. Examples include:
Built in graphical annotation elements
text
icons (bitmap files)
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 figure 9.10.1).
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 file as a background image. The
annotation elements are as follows:
graphical annotation
Line:
Polyline:
Arrow:
Polyline with arrow:
Polygon:
Rectangle:
Circle:
Pie:
Arc:
126
or
in the dialogue shown
The newly created layers can be made visible or invisible by clicking
in figure 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 figure 9.10.2. The first 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 reflected in the graphic.
Export graphical layer
DIgSILENT PowerFactory 15, User Manual
127
9.11
Adding a protection device into the single line diagram is described in Section 40.2.2.
128
9.12
Navigation Pane
The navigation pane provides the user with an overview of the whole network in a small window. It
is available for all graphics but Virtual Instruments (described in Section 17.5: Virtual Instruments).
When zooming-in on a part of the grid, the navigation pane provides an overview of the whole network
and highlights the part of the network that is currently being shown in the single line diagram. This is
illustrated in Figure 9.12.1.
In addition, the navigation pane supports the relocation of the zoomed area, while maintaining the zoom
level. This is achieved by either moving the red frame inside the navigation pane to the desired location,
or by double-clicking on another location within the navigation pane. By resizing the red frame in the
navigation pane, the zoom level used in the single line diagram can be changed accordingly.
The navigation pane is enabled for every diagram by default, but can be disabled for specific diagrams.
Disabling the navigation pane is done by first clicking on the Grafic Options icon ( ). In the dialog, go
to the Advanced tab within the Basic Attributes and disable the option Allow Navigation Pane".
To close the navigation pane, either click on the X in the top right-hand corner, or go to the main menu,
under Window Navigation Pane. It can be reactivated by clicking on Window Navigation Pane
again.
9.13
Geographical Diagrams
In PowerFactory it is possible to specify terminal GPS coordinates, and automatically generate geographical diagrams. GPS coordinates (latitude and longitude) are entered on the Description page of
terminals and lines, on the Geographical Coordinates tab. One geographical diagram can be created
per project by either:
Opening the Data Manager, right-clicking on the active project or active grid and selecting Show
Geographical Diagram.
On the main menu, under Insert Geographical Diagram.
129
Maps can be used as background images and can be specified on the Configuration page of Layers
( ). Maps from the following providers are supported:
OpenStreetMap (OSM), featuring free-of-charge mapnik-style maps
Esri ArcGIS, including road maps, satellite, and hybrid maps
Google Maps1 , including road maps, satellite/aerial, hybrid, and topographic maps
9.13.1
An external map provider from the internet may also be used. Dependending on what types of maps
the provider offers, the Map type can be chosen from:
Roadmap
Satellite/Aerial
Hybrid
Topographic
1 requires
130
131
Figure 9.13.3: Network example with satellite background map (ESRI ArcGIS)
9.13.2
To display background images (e.g. maps) on the geographical diagram, the map provider must be
selected as Local map files. A File for reading background images must be selected. This facilitates
tiling of multiple images in the background of the GPS graphic if required.
The File is simply a text file with semicolon delimited entries, as follows:
Image_filename; X1; Y1; X2; Y2
Where:
Image_filename is the name of the image file. If it is not in the same directory as the File, it should
include the file 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.
132
9.14. HEATMAPS
9.14
Heatmaps
In PowerFactory , Heatmaps can be used to illustrate the state of a grid by colouring the area around
network elements. The colour definition is carried out as described in Chapter 9.7.6.2.
To use the colour definition for Heatmaps, click on the Generate Heatmap button ( ). On the General
of the dialog, the basic settings for the creation of the heatmap can be selected. The colour settings
dialog (explained in Section 9.7.6.2) is accessible from this page. The Mode shows which type of
colouring is used.
The resolution of the Heatmap can be:
Low
Medium
High
User-defined (in pixels)
Note: The amount of time required to generate each Heatmap increases with the specified resolution.
Since the optimal settings for Heatmaps vary for each grid, the process of finding this optimum
might take a few iterations. Therefore it is advised to start with a small or medium resolution.
133
Figure 9.14.1: Example of a Heatmap coloured according to loading, over- and under-voltage
134
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
The Data Manager provides the user with all the features required to manage and maintain all the data
from the projects. It gives both an overview over the complete data base as well as detailed information
about the parameters of single power system elements or other objects. New case studies can be
defined, new elements can be added, system stages can be created, activated or deleted, parameters
can be changed, copied, etc. All of these actions can be instituted and controlled from a single data
base window.
The data manager uses a tree representation of the whole database, in combination with a versatile
data browser.To initially open a data manager window press the
icon from the main toolbar. The
settings of this window can be edited using the User Settings dialogue (Section 10.2.5: Data Manager
Settings).
The data manager window has the following parts (see Figure 10.2.1):
The title bar, which shows the name and path of the of the folder currently selected in the database
[1].
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
135
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.
136
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
There are several ways to walk up and down the database tree:
Use the mouse: all folders that have a +" sign next to them may be expanded by double-clicking
on the folder, or by single clicking the +" sign.
Use the keyboard: the arrow keys are used to walk up and down the tree and to open or close
folders (left and right arrows). The Page Up and Page Down keys jump up and down the tree in
big steps and the -" and +" keys may also be used to open or close folders.
Use the toolbar in combination with the browser window. Double-click objects (see c" in Figure 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
137
10.2.2
Generally, new network components are added to the database via the graphical user interface (see
Section 9.2: Defining Network Models with the Graphical Editor), such as when a line is drawn between
two nodes creating, not only the graphical object on the graphics board, but also the corresponding
element data in the relevant grid folder. However, users may also create new objects manually" in the
database, from the data manager.
Certain new folders and objects may be created by right-clicking on folders in the data manager. A
context sensitive menu is presented, offering a choice of objects to be created that will fit" the selected
folder. For example, right-clicking a grid folder will allow the creation (under the New menu) of a Graphic,
a Branch, a Substation, a Site or a Folder object. The new object will be created in the folder that was
selected prior to the new object button being pressed. This folder is said to have the focus for the
commanded action. This means that some objects may not be possible to create since the focused
folder may not be suited to hold that object.
For instance: A synchronous machine should not go into a line folder. A line folder should contain
only line routes, line sections and cubicles. The cubicles in their turn should contain only switches or
protection elements.
icon must be pressed (new object
To access the whole range of objects that may be created, the
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 filter is used to sort the object list. This filter determines
what sort of list will appear in the drop-down list of the Element field. If Branch Net Elements" is first
selected, the selection of, for instance, a 2-winding transformer is accomplished by then scrolling down
the element list.
The Element field is a normal edit field. It is therefore possible to type the identity name of the new
element, like ElmTr3 for a three-winding transformer, or TypLne for a line type directly into the field.
The possible list of new objects is therefore context sensitive and depends on the type or class of the
originally selected folder.
138
After the selection for a new object has been confirmed, the Element Selection" dialogue will close,
the new object will be inserted into the database and the edit dialogue for the new object will pop up. If
this dialogue is closed by pressing the Cancel button, the whole action of inserting the new object will
be cancelled: the newly created object will be deleted from the active folder. The dialogue for the new
object may now be edited and the OK button pressed to save the object to the database.
As any other object, folders can be created either by using the context sensitive menu or by using the
icon. Common folders (IntFolder objects) may have an owner name entered, for documentation or
organisational purposes. In this way it should be clear who has created the data. Descriptions may also
be added. An existing folder may be edited by using the Edit icon
on the toolbar or by using the right
mouse button.
Each folder may be set to be read-only, or to be a PowerFactory system folder. The folder may be
a Common" or Library" folder. These attributes can be changed in the edit-folder dialogue. These
settings have the following meaning:
Common folders are used for storing non-type objects: electric elements, command objects,
settings, projects, etc.
Type folders are used as libraries for type objects.
System folders, which are read only folders
The use of read-only folders is clear: they protect the data. In addition, folders containing data that is
not normally accessed may be hidden. Selecting the kind of folders that the user/administrator wants to
be hidden is done in the user settings dialogue see Chapter 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
139
10.2.4
140
10.2.5
The message bar shows the current status and settings of the database manager. Some of the
messages are in fact buttons which may be clicked to change the settings.
The message bar contains the following messages.
Pause: on/off" (only in case of an opened input window) shows the status of the message queue
in the input window. With pause on, the command interpreter is waiting which makes it possible
to create a command queue. The message is a button: double-clicking it will toggle the setting.
N object(s) of M" shows the number of elements shown in the browser window and the total
number of elements in the current folder.
N object(s) Selected:" shows the number of currently selected objects.
Drag & Drop: on/off" shows the current drag & drop mode. Double clicking this message will
toggle the setting.
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 first.
Goto Busbar Opens the folder in the database browser that holds the busbar to which the currently
selected element is connected. If the element is connected to more than one busbar, a list of
possible busbars is shown first.
Goto Connected Element Opens the folder in the database browser that holds the element that is
connected to the currently selected element. In the case of more than one connected element,
which is normally the case for busbars, a list of connected elements is shown first.
Calculate Opens a second menu with several calculations which can be started, based on the currently
selected objects. A short-circuit calculation, for example, will be performed with faults positioned
at the selected objects, if possible. If more than one possible fault location exists for the currently
selected object, which is normally the case for station folders, a short-circuit calculation for all
possible fault locations is made.
Other useful features:
Relevant objects for calculations are tagged with a check-mark sign (this will only be shown
following a calculation). Editing one of these objects will reset the calculation results.
DIgSILENT PowerFactory 15, User Manual
141
10.3
In this section it is explained how the tools of Data Manager are used to define network models.
10.3.1
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
To connect newly created branch elements to a node, a free cubicle must exist in the target terminal. In
the Terminal field (Terminal I and Terminal j for two port elements, etc.) of the edge element you have
to click on the ( ) arrow to select (in the data browser that pops up) the cubicle where the connection
is going to take place.
To create a new cubicle in a terminal you have to open its edit dialogue (double click) and press the
Cubicles button (located at the right of the dialogue). A new browser with the existing cubicles will
pop up, press the New Object icon
and in the Element field select Cubicle (StaCubic). The edit
dialogue of the new cubicle will pop up; by default no internal switches will be generated. If you want
a connection between the edge element and the terminal trough a circuit breaker, you have to press
the Add Breaker button. After pressing the Ok button the new cubicle will be available to connect new
branch elements.
Note: New users are recommended to create and connect elements directly from the single line graphics. The procedures described above are intended for advanced users.
10.3.3
The concept and the application context of substations is presented in Section 4.7 (Project Structure).
A description of the procedure used to define new substations with the data manager is given as
follows. For information about working with substations in the graphical editor please refer to Section 9.2
(Defining Network Models with the Graphical Editor).
To define a new substation from the Data Manager do the following:
Display the content of the grid where you want to create the new substation.
Right click on the right pane of the Data Manager and select New Substation from the context
sensitive menu.
The new substation edit dialogue will pop up. There you can change the name, assign running
arrangements and visualize/edit the content of the substation (directly after creation it is empty).
After pressing Ok the new substation and an associated diagram (with the same name of the
substation) will be created.
The components of the new substation can be created and connected using the associated single line
diagram or using the data manager, the first option is 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.
142
10.3.4
The concept and the application context of composite branches is discussed in Section 4.7 (Project
Structure), and a description of how to define branches from within the diagram is provided in Section 9.2 (Defining Network Models with the Graphical Editor). This section provides a description of the
procedure used to define new branches from within the Data Manager.
Branches can be defined 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, define the name of the branch and press Ok.
4. Now navigate back to the branch edit dialogue (right-click and edit, or double click), and select
Contents to add terminal and line elements etc. to the template as required. The internal
elements can be connected as discussed in Section 10.3.2.
5. Use the fields Connection 1 and Connection 2 to define how the branch is to be connected to
external elements.
6. To create an instance of the Branch from the created Branch template, either:
Select the Composite Branch
Single Line Diagram.
10.3.5
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 define new sites is given.
To define a new site from the Data Manager do the following:
Display the content of the grid where you want to create the new site.
Right click on the right pane of the Data Manager and select New Site from the context sensitive
menu.
The new Site edit dialogue will pop up.
After pressing Ok the new site will be created.
DIgSILENT PowerFactory 15, User Manual
143
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
Each component can be individually edited by double clicking on it to open the corresponding dialogue. The class dialogue is composed of several tabs each corresponding to a calculation function
of PowerFactory. The parameters required by a determined calculation are always available on the
corresponding tab. The description of the network 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
at the upper part of the Data Manager.
click on the Detail Mode icon
In detail mode, the browser shows all data fields 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 field button. The widths of the data
fields can be adjusted by pointing the mouse on the separation line between two title fields and dragging
the field border by holding a mouse button down. The data fields can be edited by double-clicking them.
As with any Spread Sheet, you can copy and paste individual or multiple cells with Crtl_C and Crtl_V or
with right click Copy/Paste.
It is also possible to change a parameter field for more than one object simultaneously. The parameter
fields which are going to be changed have to be multi-selected first, then you have to right-click the
selection and select the option Modify Value(s) from the context sensitive menu. This will open the
SetValue dialogue. This dialogue can be used to:
Increase or decrease them by multiplication with a scale factor (Relative").
Increase or decrease them by multiplication with a scale factor with respect to the sum of values
selected (Relative to Sum").
Set all the selected parameter fields to a new fixed (absolute") value.
Note: It is not possible to simultaneously alter parameter fields from more than one column, i.e. to
change nominal currents and nominal frequencies simultaneous, even if they would happen to
take the same value or would have to be raised with the same percentage.
For further information please refer to 10.5 (Editing Data Objects in the Data Manager).
10.4
There are three main methods of searching for objects in the data base: Sorting, searching by name
and filtering.
144
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 first by name, then by rated voltage
and finally by actual voltage by pressing on the titles corresponding to these properties in reverse
Include, in the Flexible Data page tab, the terminal voltage and nominal voltage (see 10.6).
In the table (Flexible Data page tab), click on the title u, Magnitude p.u to sort all terminals from
highest to lowest calculated voltage.
Then click on the title Nom.L-L Volt kV to sort by nominal voltage level.
Now you will have all terminals first sorted by voltage level and then by rated terminal voltage.
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 first column contains the symbols of the
objects in the table. Clicking on such a symbol selects all columns of that row, i.e. for that object. The
procedure is as follows:
Select an object in the table by clicking on any object symbol in the table (if one object was already
selected then select a different one).
Now start typing the object name, which is case sensitive. Notice how the selection jumps as you
type, For example, typing T moves the selection to the first object whose name starts with T, etc.
Continue typing until the selection matches the object that you are looking for
10.4.3
function
Advanced filtering capability is provided with the FindE
. A filter is normally defined to find
a group of objects, rather than individual objects (although the latter is also possible). Advanced search
criteria can be defined, e.g. transmission lines with a length in the range 1km to 2.2km, or synchronous
machines with a rating greater than 500MW etc.
145
Look in: This field is available if a filter id defined within the data manager. It allows the user to specify
the folder in the database that will be searched.
Check boxes:
Include Subfolders will search the root folder specified as well as the subfolders in the root
folder. The search can be stopped at the matching folder.
Relevant Objects for Calculation will include only those objects considered by the active
study case (if no study case is active the search is meaningless and no search results will be
returned).
Area Interconnecting Branches will search for branch elements that interconnect grids.
The OK button will close the search dialogue, but save the filter object to the Changed SettingsFilters
folder. This makes it available for further use. The CANCEL button will close the dialogue without saving
the changes. This button is useful if a search criterion (filter) will only be used once.The APPLY button
146
Search Literally" is used to search for user defined strings inside parameter fields. For example,
perhaps the comment damaged but serviceable has been entered for some elements in the network.
This may be searched for as shown in Figure 10.4.3. All parameter fields will be searched for this string.
147
As stated before, the objects matching the filter criteria are displayed in a data browser. They may also
be highlighted in the graphic using the Colour representation function described in Chapter 9: Network
Graphics (Single Line Diagrams). The colour to be used in this case can be specified under the page
Graphic of the General Filter dialogue window.
Note: New a filters are saved to the ProjectChanged SettingsFilters folder in the project and are
available for use directly, using the right mouse menu. If a search is to be performed in a particular
grid simply proceed as follows: right-click the grid folder Find Local Filters Filter Name
(e.g. Lines longer than 700m). Remember to press the Apply button to perform the search. If you
unchecked the Show Filter Settings before Application box under User Settings General then
the filter will be applied as soon as it is selected from the menu. This is useful when you have
already defined several filters for regular use.
10.5
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.
148
Figure 10.5.1: Full size edit window appearing after double-clicking the object icon in the data manager
An open edit dialogue will disable the data manager window from which it was opened. The edit dialogue
has to be closed first in order to open another edit dialogue.
However, it is possible to activate more than one data manager (by pressing the
icon on the main
toolbar) and to open an edit dialogue from each of these data managers. This can be useful for
comparing objects and parameters.
Using the edit dialogues (Figure 10.5.1) has one major drawback: it separates the edited object from
the rest of the database, making it impossible to copy data from one object to the other, or to look at
other object parameter values while editing.
PowerFactory brings the big picture back in sight by offering full scale editing capabilities in the data
managers browser window itself. The browser window in fact acts like a spreadsheet, 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
In the general case the icon, the name, the type and the modification date (with its author) of the objects
are shown in the object mode (see Figure 10.5.2). Certain objects, for example network components,
show additional fields like the Out of Service" field.
149
The title buttons are used to sort the entries in the browser. The visible data fields can be double-clicked
to edit their contents, or the F2 button can be pressed. The object will show a triangle in its icon when
it is being edited.
After the data field has been changed, move to the other fields of the same object using the arrow-keys
or by clicking on these data fields, and alter them too.
The new contents of a data field are confirmed by pressing the Return key, or by moving to another
field within the same object. The triangle in the icon will change to a small star to show that the object
has been altered. The object itself however has not been updated. Updating the changes is done by
pressing Return again, or by moving to another object in the browser. By default, PowerFactory will
ask to confirm the changes. See Section 10.2.5 (Data Manager Settings) to disable these conformation
messages.
10.5.2
If the
icon on the browse window of the data manager is pressed, the browser changes to detail
mode (see Figure 10.5.3). It will display only the objects from the same class as the one which was
selected when the button was pressed. In the example of Figure 10.5.3, this is a load object (ElmLod).
The
icon or a filter (10.4.3) may also be used to engage detail mode.
The parameter fields which have to be changed have to be multi-selected first. Right-clicking the
selection will pop up a case sensitive menu from which the Modify Value(s) option opens the SetValue
dialogue, see Figure 10.5.5.
This dialogue can be used to:
151
10.5.3
One of the great advantages of editing data fields in the data managers browser window is the possibility
to copy data from one object to another. This is done by selecting one or more objects or object fields,
copying this selection to the clipboard, and pasting the data back in another place.
To copy one or more objects,
1. Open the Data Manager and select the grid folder where you find the objects to be copied. Please
do not open the icon for the Objects relevant for the calculation , as this is a filter view collecting
objects stored at various locations.
2. Select them (see Figure 10.5.6).
3. Press Ctrl-C to copy or use the
Copying data fields from one object to another is done just like for any spreadsheet software you may
be familiar with. To copy one or more data fields,
1. Select them by clicking them once. Select more data fields by holding down the Ctrl key.
2. Copy the fields to the clipboard by pressing Ctrl-C or the
icon.
3. Select one or more target objects data fields. If more than one field was copied, make sure that
the target field is the same as the first copied data field.
4. Press Ctrl-V or the
152
icon. The contents of the data fields will be copied to the target objects.
DIgSILENT PowerFactory 15, User Manual
10.6
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
categorised according to a calculation function and have a fixed format.
The Flexible Data tab, normally used to display calculation results, allows the user to define a custom
set of data to be displayed.
The default format for the calculation results displayed in the flexible page depends on the calculation
performed: Following a load-flow calculation, the default variables for terminals are line-to-line voltage,
per unit voltage and voltage angle. Following a short-circuit calculation the default variables are initial
short-circuit current, initial short-circuit power, peak current etc. Figure 10.6.1 shows an example of the
flexible data page tab.
10.6.1
The displayed variables are organised in Variables Sets that are, in turn, organised according to the
calculation functions. For example, an object class ElmTr2 (two-winding transformer) has a variable set
for symmetrical load flow calculation, a variable set for short-circuit calculation etc. There may also be
more than one variable set for any calculation function. For example, the object ElmTr2 may have two
variable sets for symmetrical load flow calculation.
The Flexible Page Selector allows the user to specify the variable set to use, or to define new variable
sets. Furthermore, the Flexible Page Selector allows the user to access and edit the variable sets, i.e.
to specify which variables to display in the Flexible Data page.
The Flexible Page Selector dialogue is shown in Figure 10.6.2. This dialogue is opened by pressing
the ( ) icon on the data manager toolbar. The Flexible Page Selector has a menu with all the different
calculation functions. It opens in the page corresponding to the most recent calculation.
The selection of variables within Variable Sets is presented in detail in Section 17.4 (Variable Sets).
153
The Format/Header tab (Figure 10.6.3) allows the user to customise the header of the Flexible Data
page.
Note: Variable Sets are objects of class IntMon, within PowerFactory they have multiple uses. This
section only presents their use in conjunction with Flexible Data. For further information please
refer to Section 17.4 (Variable Sets).
The number format per column in the Flexible Data Page can also be modified by right clicking on
the column header of the variable and selecting Edit Number Format . . . . A new window showed in
figure 10.6.4 will appear and the user may define the number representation.
10.7
The input window is for the more experienced users of DIgSILENT PowerFactory . It is closed by default.
Almost all commands that are available in PowerFactory through the menu bars, pop-up menus, icons,
buttons, etc., may also be entered directly into the input window, using the PowerFactory commands.
The contents of the input window can be saved to file, and commands can be read back into the window
for execution.
PowerFactory also has special command objects which carry one single command line and which are
normally used to execute commands. In this way, complex commands can be saved in the same folder
as the power system for which they were configured.
10.7.1
In principle, everything that can be done in DIgSILENT PowerFactory , can be done from the command
line in the input window. This includes creating objects, setting parameters, performing load-flow or
short-circuit calculations.
Some commands that are available are typically meant for command line use or for batch commands.
These commands are rarely used in another context and are therefore listed here as command line
commands", although they do not principally differ from any other command.
Cd Command Moves around in the database tree by opening another folder at a relative position
from the currently open folder.
Example:
cd...gridBLoad1
Cl Command Stops the redirection of the output window to either a file or to a printer. All following
DIgSILENT PowerFactory 15, User Manual
155
10.8
A selected part of the database can be written to a DZ" Import/Export file with the button Export Data...
. This will bring a File Save dialogue where a filename must be specified.
Alternatively, the folder or object that is to be exported can be right-clicked in the database tree, after
which the option Export... is selected.
The exported part of the database may be a complete project, a library, or a specific object in the
browser window. Exporting a folder (i.e a project, grid, library, etc.) will export the complete content of
that folder, inclusive subfolders, models, settings, single line graphics, etc.
It is even possible to export a complete user account. However, only the administrator is able 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 file can be imported into the database again in any desired folder by pressing the
Import Data...
button. This will bring a File Open dialogue where the DZ" data-file can be selected.
156
10.8.1
Notes
By exporting a folder from the database, only the information in that folder and all its subfolders will be
stored. If the exported objects use information (e.g. power system types like line or transformer types)
that is saved somewhere else, then that information will not be stored. Make sure that the used power
system types and all other referenced information is exported too.
When importing a file that contains objects which use data outside the import-file, a search for that data
is started.
For instance, assume a project is exported. One of the line-models uses a type from a library outside
the project. When exporting, the path and name of this type is written in the export-file, but the type
itself is not exported, as is does not reside in the exported project.
At importing, the stored path and name of the external type is used to find the type again and to
restore the link. However, if the external type is not found, then it will be created, using the stored
path and name. Of course, the created object has default data, as the original data was not exported.
Additionally, an error message is written to the output window.
Suppose that you are working with a large library, which is stored in a special user-account to make it
read-only. The library is made accessible by sharing it to all users.
When export the projects, the objects from the external library are not exported. However, a colleague
which has access to the same library may still import your projects without problems. The external
objects used in your projects will be found in the same location, and the links to these objects will be
correctly restored.
10.9
The PowerFactory data browser in the data managers window looks and acts like a spreadsheet program as far as creating and editing power system objects is concerned. To enable and simplify the use
of power system element data which is stored in spreadsheet programs such as the Microsoft Excel or
the Lotus 123 programs, the data browser offers Spreadsheet Format import and export facilities.
10.9.1
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:
157
158
10.9.2
There are two methods available for importing data from a spreadsheet program. The first method uses
a direct import of anonymous numerical data, i. e. of the values stored in the cells of the table. This
method is used to change parameter of existing objects by importing columns of parameter values.
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 fields of 6 load objects by right-clicking the
upper left most field which is to be overwritten. The result of this action is shown in Figure 10.9.5.
In contrast to the import of whole objects, the anonymous import of data does not need a parameter
description. This would complicate the import of complete objects, as the user would have to enter all
parameters in the correct order.
159
160
Figure 10.9.7 shows an example of valid spreadsheet data of some line types and some 2-winding
transformer types.
161
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.
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
*
?=",|
162
Default Data
When an imported object is created newly, the imported data is used to overwrite the corresponding default data. All parameters that are not imported will keep their default value.
Units
The spreadsheet values are imported without units. No conversion from MW to kW, for example,
will be possible. All spreadsheet values therefore have to be in the same units as used by
PowerFactory.
163
164
Chapter 11
Study Cases
11.1
Introduction
The concept of study cases was introduced in Chapter 4 (PowerFactory Overview). study cases (IntCase,
) define the studies to be performed on the system being modelled. They store all everything created
by the user to perform calculations, allowing the easy reproduction of results even after deactivation/reactivation of the project. By means of the objects stored inside them objects the program recognizes:
Parts of the network model (grids and expansion stages) to be considered for calculation;
Calculations (and their settings) to be performed on selected parts of the network;
Study time;
Active variations;
Active operation scenario;
Calculation results to be stored for reporting;
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 of the study cases in a project are
stored inside the study cases folder ( ) in the project directory.
Note: Only one study case can be active at a given time. When activating a study case, all the grids,
Variations and Operation Scenarios that it refers to will also become active.
Without study cases, it would be necessary to manually activate the relevant grid and/or expansion
stage multiple times in order to analyse the resulting power system configuration. Similarly, it would
be necessary to define over and over again the same calculation command setup used to analyse the
behaviour of the selected network.
In addition to storing the objects that define a network study, study cases set the units used for the
output of calculation results, and allow the definition of specific options for the calculation algorithms.
The following sections describe the main objects stored inside study cases. For further information
regarding the definition and use of study cases, please refer to Section 11.2 (Creating and Using Study
Cases).
DIgSILENT PowerFactory 15, User Manual
165
11.2
When a new project is created, an empty study case is automatically created and activated. This new
study case has default settings. The user can later modify these settings using the study case dialog
(Figure 11.5.1).
The user may define several study cases to facilitate the analysis of projects containing more than one
grid, several Expansion Stages, different Operation Scenarios or simply different calculation options. To
create a new study case:
Open the Data Manager and go to the study cases folder. Right-click on the folder and select
New Study Case from the context-sensitive menu. Enter the name of the new study case in
the dialog that pops up (Figure 11.5.1) and (if desired) modify the default settings.
Only one study case can be active at any given time. To activate or deactivate 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 an inactive study case place the cursor on its name, right-click and choose Activate. Study
cases may also be activated via 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 considered by 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 desired grid to add
to the calculation and select Add to study case from the context-sensitive menu. The grid will
be activated and any relevant graphics will be opened (following a user selection). 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 given study case. However there can 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 the Variation 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 activated or deactivated via the context-sensitive menu, or by using
the option File Activate Operation Scenario/Deactivate Operation Scenario from the main menu.
166
11.2.1
The Study Case Overview is an enhancement of the Project Overview described in Chapter 8: Basic
Project Definition, Section 8.1.2, and simplifies the management of study cases. It provides an overview
of all existing study cases with all active Operation scenarios, Variations, Grids and Triggers. In
this representation, study cases are arranged in the columns of the chart, and their components are
visualised row-wise. The Study Case Overview can be accessed by clicking on the arrow symbol
(Open Study Case Overview") in the upper right corner of the Project overview window, as shown in
Figure 11.2.2 or from Window Study Case Overview in the main menu. Upon opening the Study
Case Manager the active study case will be deactivated. This study case will be reactivated when
closing the Study Case Overview. By clicking on the arrow symbol Close Study Case Overview" in the
upper-right corner of the Study Case Overview, it is possible to return to the Project Overview.
This overview can be used to manage the setup of individual study cases, as it allows the activation/deactivation of:
Operation Scenarios
Variations
Grids
Triggers
simply by double-clicking on the cell entries - without the need to activate the study cases themselves.
Since the time of the active study case defines which Expansion Stage is active, it is only possible to
activate or deactivate Variations, but not Expansion Stages. Depending on the study time, the recording
Expansion Stage will be marked in bold.
Note: When folders are used to store study cases, only the study cases within the selected folder will
be shown.
167
11.3
Summary Grid
The primary task of a study case is to activate and deactivate a calculation target, which is a combination
holds
of grids and optionally expansion stages from the network model. The Summary Grid object
references to the grids which are considered in the calculation (i.e. the active grids). Grids may
be added to, or removed from, the study case by right-clicking on them in the database tree and
selecting Add to Study Case or Remove from Study Case from within their dialog. A reference to
the activated/deactivated grid is automatically generated in, or deleted from, the Summary Grid.
A grid cannot be activated separately; a study case linked to the grid must be active. The contextsensitive menu will show an Activate option when a grid or system stage folder is right-clicked if no study
case folder is active. A dialog will appear requesting that either an existing study case be activated, or
that a new study case be created first. The grid or system stage is then activated accordingly.
11.4
Study Time
PowerFactory Version 14 extended the idea of a model to incorporate time. Therefore, study cases have
a study time which defines the point in time the user wishes to analyse.
The study time must be inside the Validity Period of the project, which specifies the time span for
which the project is valid (see Chapter 8: Basic Project Definition, Section 8.1.3 (Project Settings)).
PowerFactory will use the study time in conjunction with time-dependent network expansions (see
Chapter 15: Network Variations and Expansion Stages) to determine which network data is applicable
at that point in time. The study time may be changed in order to analyse a different point in time. The
Expansion Stages will be activated/deactivated in accordance with the study time.
168
11.5
To edit the settings of a study case, select Edit Study Case from the main menu, or right-click the
study case in the Data Manager and select Edit from the context-sensitive menu. A dialog will appear
as shown in Figure 11.5.1.
169
11.6
Variation Configuration
11.7
) contains references
Operation Scenarios
A reference to the active Operation Scenario (if any) is always stored in the study case. Similar to
Variation Configurations and Summary Grids, when a study case is activated, the Operation Scenario (if
any) whose reference is contained, will be automatically activated. The reference to the active Operation
Scenario will be automatically updated by the program.
170
11.8. COMMANDS
11.8
Commands
Actions such as generating a report of the actual calculation results or the state of the defined network
components are carried out via commands (in this case ComSh and ComDocu, respectively). For
information about reporting commands please refer to Chapter 17 (Reporting and Visualizing Results).
Note: As with any other object, calculation commands can be copied, pasted, renamed and edited.
11.9
Events
Simulation Event objects are used to define 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:
171
11.9.1
Dispatch Event
The user specifies the point in time in the simulation for the event to occur, and a generation element
(ElmSym, ElmXnet or ElmGenstat). The incremental change of the generator can then be altered using
the dispatch event.
11.9.2
External measurement events can be used to set and reset values and statuses of external measurements.
11.9.3
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 specifies the point in time in the simulation for the event to occur, and a load element(s)
(ElmLod, ElmLodlv, ElmLodmv or ElmLodlvp). The value of the load can then be altered using the load
event. The power of the selected load(s) can be changed as follows:
Step Changes the current value of the power (positive or negative) by the given value (in % of the
nominal power of the load) at the time of the event.
172
11.9. EVENTS
Ramp Changes the current value of the power by the given value (in % of the nominal power of
the load), over the time specified by the Ramp Duration (in seconds). The load ramping starts at
the time of the event.
11.9.5
Message Event
A message will be printed to the output window at the specified time in the simulation.
11.9.6
Outage of Element
The Outage of Element event can be used to take an element out of service at a specified point in
time. It is intended for use in steady-state calculations e.g. short-circuit calculations and reliability
assessment.
It may also be used to take elements out of service in time-domain simulations, however it is not possible
to bring an outaged element back into service using this event during a transient simulation. This is only
possible in steady-state calculations. The following message will be displayed if the user attempts 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 specified. An element must then be specified/selected using
the down-arrow button . Choose Select... from the context-sensitive menu, and insert the name and
the new value of the 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 specified point on a line. The fault type (threephase, two-phase or single-phase fault) can be specified, as can the fault resistance and reactance and
the phases which are affected. The duration of the fault cannot be defined. Instead, to clear the fault,
another short-circuit event has to be defined, which will clear the fault at the same location.
11.9.10
Stop Events
Stops the simulation at the specified time within the simulation time frame.
173
11.9.11
Switch Events
icon
Switch events are only used in transient simulations. To create a new switch event, press the
on the main menu (if this icon is available), which will open a browser containing all defined simulation
events. Click on the
icon in the browser, which will show the Element Selection dialog (IntNewobj as
shown in Figure 11.9.1). This dialog can be used to create a new switching event.
After pressing OK, the reference to the switch (labelled Breaker or Element) must be manually set. Any
switch in the power system may be selected, thus enabling the switching of lines, generators, motors,
loads, etc. The user is free to select the switches/breakers for all phases or only those for 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 times.
11.9.12
The Synchronous Machine Event is used to change the mechanical torque of a synchronous machine
(ElmSym) in a simple manner. The user specifies the point in time in the simulation for the event to
occur, and an active synchronous machine. The user can then define the additional 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 specifies the point in time in the simulation for the tap event to occur, and a shunt or transformer
element (ElmShnt, ElmTr2, etc). The Tap Action can then be specified.
11.10
Simulation Scan
174
11.11
Results Objects
175
When the Export button is pressed, all events that happened during the simulation can 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).
11.12
Variable Sets
The result object combines one or more Monitor Variable Sets (IntMon ), allowing a very flexible and
highly transparent result definition. In fact, by using Monitor Variable Sets, just about every parameter
used in the PowerFactory program can be made available as a calculation result, including with a
description and a unit.
The variables selected via the Monitor Variable Sets dialog in the result object are available to the
subplot objects in virtual instrument panels. In these plots, one or more result objects can be selected.
From the selected result object/s, a power system element and one of its variables can then be chosen
(if that element and that variable were previously selected in one of the IntMon objects). The subplot
will then show the plot 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 organised according to PowerFactory calculation
functions 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 element referred to is to be stored, the selected Variable Set should be
Currents, Voltages and Powers (Figure 11.12.1 blue circle).
176
11.13. TRIGGERS
For further information on the definition of Monitor Variable Sets please refer to Chapter 17: Reporting
and Visualizing Results, Section 17.4 (Variable Sets).
11.13
Triggers
As described in Chapter 16 (Parameter Characteristics, Load States, and Tariffs), parameter characteristics are used to define parameters as ranges of values instead of fixed amounts. The parameter
characteristics are set over user defined scales. The current value of the parameter is at the end
determined 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
temperature scale is set. The current value of the temperature is defined by the trigger. The current
value of the temperature determines the current value of the parameter, according to the defined
characteristic.
Once a parameter characteristic and its corresponding scale are set, a trigger pointing to the scale is
automatically created in the active study case. The user can access the trigger and change its value as
required.
PowerFactory offers different types of characteristics and scales, and each scale points to a trigger
from the active study case. By default, scales are stored in the Scales folder in the Equipment Library.
Information regarding the use and definition 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,
). This folder
contains references to the graphics which are to be displayed. This folder, similar to the Summary Grid
folder, is automatically created and maintained and should generally not be edited by the user.
DIgSILENT PowerFactory 15, User Manual
177
178
Chapter 12
Project Library
12.1
Introduction
12.2
The Equipment Type Library is used to store and organise Type data for each class of network component. Once a new project is created, an Equipment Type Library is automatically set by the program
within the Library folder. It also includes a subfolder for storing Scales.
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 field, enter the name of the new folder.
3. In the Folder Type field, select Generic.
4. In the Class Filter field, write the name of the type class(es) to be allowed in the folder (case
sensitive). If more than one class is to be allowed, write the class names separated by commas.
An asterisk character (* ) can be used to allow all classes.
DIgSILENT PowerFactory 15, User Manual
179
Figure 12.2.1 shows the equipment library of a project containing generator, load, and transformer
types, sorted using library sub-folders.
Unlike the Global Library", which is accessible to all users, the local Equipment Type Library is used
to define types that are to be used in the specific project. It can only be used by the project owner, and
users with which the project is shared.
There are three options available for defining Type data for network components, as illustrated in
(Figure 12.2.2):
1. Select Global Type from the Global Library. The Data Manager is launched in the Global Library".
2. Select Project Type. The Data Manager is launched in the local Equipment Type Library.
3. New Project Type. A new type will be defined and automatically stored in the local 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).
180
12.3
Operational Library
The Operational Library is used to store and organise operational data for application to a number of
elements, without the need to duplicate operational information.
To illustrate, consider an example where there are two generators, G1" and G2". The units have
slightly different Type data, and thus unique Type models, G 190M-18kV Ver-1" and G 190M-18kV
Ver-2". The Capability Curves for these units are identical, and so the user wishes to create only a
single instance of the capability curve. By defining a Capability Curve in the Operational Library, a
single Capability Curve can be linked to both generators.
Similarly, various circuit breakers may refer to the same short-circuit current ratings. A Circuit Breaker
Rating object can be defined in the Operational Library and linked to relevant circuit breakers
This section describes the definition and application of operational data objects.
12.3.1
181
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 field click on the
The parameters defined in the circuit breaker ratings can be made to be time-dependant by means of
variations and expansion stages stored inside the CB Ratings folder.
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.
12.3.2
Demand Transfers
The active and reactive power demand defined for loads and feeders in the network model can be
transferred to another load (or feeder) within the same system by means of a Demand Transfer (objects
class IntOutage). This transfer only takes place if it is applied during a validity period defined by the
user (i.e. if the current study time lies within the validity period).
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
fit into the current study time. Before execution, the user is asked if the current network state should
be saved in a new operation scenario. The same demand transfers can be applied as many times as
desired during the validity period.
If a non-zero power transfer has been executed and the 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
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
183
184
185
186
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
Reactive Power operating limits can be specified in PowerFactory through definition of Capability Curves
(IntQlim). They are stored in Operational Library, within the Mvar Limit Curves folder
. Synchronous generators (ElmSym) and static generators (ElmGenstat) defined in the Network Model can
use a pointer to a Capability Curve object from the Load Flow page of their edit dialogue. When
executing 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 defined capability curve.
For information 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
calculations and reactive power limits, refer to Chapter 21 (Load Flow Analysis).
Note: If Consider Active Power Limits is selected on the Active Power Control page of the Load Flow
command, Active power is limited to the lesser of the Max. Operational Limit and the Max. Active
Power Rating specified on the Synchronous Machine Load Flow page.
3. Enter data points to define the generation limits, and Append Rows to add the required number of
rows to the table.
4. To apply a Capability Curve to a generator:
Locate the Reactive Power Limit section on the Load Flow page of the synchronous machines or static generators dialogue.
Press
187
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 specified 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 specified. For the Generator Derating, the maximum active power that can
be dispatched (defined 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 defined in the Outages folder of the Operational Library, only the
outage types Outage of Element and Generator Derating are enabled. Similarly if outage objects
are defined in the Demand transfer folder, only the outage type Demand Transfer is enabled.
188
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 definition 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 ).
button in the Reference field to select the target element.
Press the
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 defined 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 energising 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 energised.
All other components are considered to be deenergised (if circuit breakers are open). A deenergised
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 fulfilment of programmed outages can also be checked via the use of the colour representation
function available within the single line graphic by setting the Colouring option to Outage Check from
the colour representation dialogue . The following states are coloured, according to user preferences:
Components that are energised, but should be outaged.
Components that are deenergised and not earthed, but should be outaged.
Components that are deenergised and earthed, but should NOT be outaged.
Components that are deenergised, 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
189
12.3.6
Running Arrangements
Different configurations of the same substation can be defined by storing the corresponding switch
statuses in Running Arrangements. Different Running Arrangements can then be easily selected during
a study. If a running arrangement is selected for a substation, the status of the substation switches
cannot be modified (i.e. they become read-only). If there is no setting for a switch in a Running
Arrangement (i.e. the Running Arrangement is incomplete), the switch will remain unchanged but
its status will also be set to read-only. If the current Running Arrangement is deselected, switch status
will be reverted to the status prior to application of the Running Arrangement, and write-access will be
re-enabled. Running arrangements are defined and selected in the substation object dialogue Basic
Data page.
Note: Running arrangements store only the status of switches of class ElmCoup. The status of switches
which are automatically created in a cubicle following the connection of a branch element (StaSwitch
objects) are not considered in a running arrangement.
Further details of how to create, select, apply, and assign Running Arrangements are provided in the
following sections.
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.
190
3. Select the desired RA. This selection is immediately reflected in the substation graphic.
While an RA is selected, the switch statuses of a substation are determined by this RA and cannot be
changed by the user (i.e. they are read-only).
DIgSILENT PowerFactory 15, User Manual
191
192
12.3.7
Thermal Ratings
3. The new object dialogue is displayed. To configure the table for the short-term ratings (only visible
if the option Consider short term ratings is checked), go to the Configuration 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 postfault continuous rating (assumed as the branch element post-fault rating if the fault duration is larger
than the largest duration time defined in the table) are defined on the Ratings 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
193
12.4
Templates Library
The Templates folder is used to store and organise templates of network components (or groups of
components) for re-use in a power system model. Components from templates are created using the
graphical editor. Five kinds of templates are supported in PowerFactory :
1. Element template for single network elements: New single network elements with the same
parameters as the original element are created.
2. Group template for non-composite graphic objects: New groups of objects (including graphical
attributes) are created.
3. Substation template (composite node): New substations with the same configuration as the original substation (including its diagram).
4. Secondary Substation template: New secondary substations.
5. Branch template (composite branch): New branches with the same configuration as the original
branch (including its diagram).
, in the Library. When a template for a single
Templates are normally stored in the Templates folder
network element is defined, a copy of the original element is automatically created in the Templates
folder. New templates of substations and branches will copy the objects together with all of their
contents (including the diagram) to the Templates folder. New templates for groups of objects will copy
the corresponding objects, together with their graphical information to a subfolder for groups of class
IntTemplate
within the Templates Library.
For further information about working with templates, please refer to Section 9.2 (Defining 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.
12.4.1
General Templates
Any kind of single network component (lines, transformers, terminals, etc.) can be used to define
an "Element" template; this is done by right clicking the desired element on a single line graphic and
selecting Define Template from the context sensitive menu, a dialogue where the name of the new
template is to be written pops up. After the name is given and the Ok button is pressed, a copy of the
selected element is stored in the templates folder. Similarly, a group of network components can be
used to define a "Group" template, which will create a template folder ( ) storing the objects from
the group together with their graphical information. If a group of elements containing substation and
branches has been selected the elements outside the substation will not be added to the template.
12.4.2
Substation Templates
Existing substations can be used as "models" to define templates, which may be used later to create new
substations. A new substation template is created by right clicking on one of the busbars of the detailed
substation single line diagram and selecting Define substation template from the context sensitive menu.
This action will copy the substation together with all of its contents (including its diagram even if it is not
stored within this substation) in the Templates folder.
Note: In case of creating templates which contain graphical information the default settings of the
names and result boxes defining their graphical representation (font, frame, size,...) are copied
into the template diagram so that they appear as in the source object(s).
12.4.3
Busbar Templates
Similar to creating substation templates, existing busbars can be used as a models" to create userdefined templates, which may be used later to create new busbars. A new busbar template is created
by right clicking on the detailed single line diagram or simplified diagram of busbar and selecting Define
substation template from the context sensitive menu. This action will copy the busbar together with all
of its contents (including detailed and simplified diagrams) in the Templates folder. If the detailed busbar
configuration has been modified, it is possible to right-click the (existing) simplified representation in the
main single line diagram and select Update representation.
Busbars that have been created by the user in this way can be added to the single line diagram by
selecting the General Busbar System icon ( ). Note that for a busbar to be accessible from this icon,
both detailed and simplified diagrams must be included within the busbar template, as in the previously
described method.
12.4.4
195
12.4.5
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, define 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. Define a Template by selecting the generator, generator bus, and transformer, then right-click and
select Define Template. Optionally include the control system model with the template.
4. To create another instance of the newly created template, select the General Templates icon (
and place it on the single line graphic.
12.4.6
There are predefined Templates for Wind turbine models according to IEC 61400-27-1 in the Templates
Library of PowerFactory . More information is available in section C.11.1
12.4.7
Consider the following example where there is network with multiple instances of a Double Busbar
System. However, the Double Busbar System required for this particular model is a variant on the
standard Double Busbar System, which requires two switches. To simplify the task of developing the
model, a Template may be defined as follows:
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).
196
197
198
Chapter 13
Grouping Objects
This chapter describes the management and functionality of the objects used to group network components.
13.1
Areas
To facilitate the visualisation and analysis of a power system, elements may be allocated into areas (ElmArea ). The single line graphics can then be coloured according to these areas and special reports
after load flow calculations (Area summary report and Area interchange report) can be generated.
Area objects are stored inside the Areas folder ( ) in the Network Data directory.
To define a new area:
Multi select the components belonging to the new area (in the Data Manager or in a single line
diagram).
Right click on the selection and select Define Area from the context sensitive menu.
After the area has been defined, terminals can be added to it by selecting Add to. . . Area. . . in
their context sensitive menu.
In the edit dialog 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 visualisation of areas within the single line Graphic please refer to
Chapter 9: Network Graphics, subsection 9.7.6 (Graphic Attributes and Options). For information about
reporting Area results please refer to Chapter 17 (Reporting and Visualising Results).
13.2
199
13.2.1
) within
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 (
).
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
dialog. The total active power to be dispatched is set in the field Active Power. The dispatch of the
200
13.2.2
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 Defining its Virtual
Power Plant Properties
Generators are added to an existing Virtual Power Plant by adding a reference in the Optimisation tab
of their edit dialog. Notice that a generator can belong to at most one Virtual Power Plant. Define the
Merit Order and must run properties as required.
You also can add a generator to a Virtual Power Plant by clicking with the right mouse button on the
element in the network graphic and choose Add to. . . Virtual Power Plant. . . from the context
sensitive menu.
201
13.3
Boundaries
Boundaries are used in the definition of network reductions and to report the interchange of active and
reactive power after a load flow calculation. Boundary objects (ElmBoundary
) may define topological
regions by specifying a topological cut through the network.
New boundaries are created by specifying the cubicles that define the cut through the network. The
cubicles in the boundary element define a cut through the network, that together with the orientations are
used to define the corresponding "Interior Region". Topologically, the interior region is found searching
through the network starting at each selected cubicles towards the given direction. The topological
search continues until either an open switch or a cubicle that is part of the boundary list is found. Any
open switch that is found by this search is considered to be part of the interior region.
To define a new Boundary:
Multi select a set of cubicles and terminals in the single line diagram, which will define the
boundary. For doing this: freeze (!) the network diagram and click on the corresponding ends
of lines, transformers etc., and on one busbar to define the orientation of the boundary.
Then click with the right mouse button on the selection.
Choose in the context sensitive menu Define. . . Boundary. . . . The dialog of the new Boundary
will pop up.
202
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 defined
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 dialog of the new Circuit pops up. Give a name to the new object and press Ok.
DIgSILENT PowerFactory 15, User Manual
203
13.5
Feeders
When analysing a system it is often useful to know where the various elements are receiving their power
).
supply from. In PowerFactory this is achieved using Feeder Definitions (ElmFeeder
A feeder is defined at a line or transformer end, and then the feeder definition algorithm searches the
system from the definition point to determine the extent of the feeder. The feeder ends when:
An open breaker is encountered; or
The end of a line of supply is encountered; or
Terminate feeder at this point is enabled in a cubicle (optional); or
A higher voltage is encountered (optional).
Once a feeder has been defined it may be used to scale the loads connected along it according to a
measured current or power, to create voltage profile plots or to select particular branches and connected
objects in the network. Following load flow calculations, special reports can be created for the defined
feeders. To distinguish the different feeder definitions, 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 Define Feeder. . . . Once the option Feeder has been
selected, the Feeder dialog pops up. There you can define the desired options for the new object. After
pressing Ok, the new Feeder is stored in the Feeders folder of the Network Model.
Any existing Feeder can be edited using its dialog (double click the target Feeder on a data browser).
The Feeder dialog presents the following fields:
Name
Cubicle Is a reference to the cubicle where the Feeder was created. It is automatically set by the
program once the Feeder is created.
Zone Reference to the Zone (if any) to which the feeder belongs. A Feeder is assigned to the
zone of the local busbar/terminal.
Colour Sets the colour be used when the Feeder Definitions colouring mode (
the single line diagram.
) is engaged in
Terminate feeder whenE A feeder will, by default, terminate when a higher voltage level is
encountered, however, this may not always be desirous. This may be prevented by un-checking
this option. The feeder will now continue past a higher voltage level and may be terminated at
a user defined cubicle if desired. To manually terminate a feeder right-click a branch element
above the breaker (to select the desired cubicle where the feeder is going to end) and select Edit
Cubicle. The cubicle dialog will be presented, and the Terminate feeder at this point option may
be checked.
204
13.5. FEEDERS
Orientation The user may select the direction towards the feeder is defined. Branch means that
the feeder starts at the cubicle and continues in the direction of the connected branch element.
Busbar means that the Feeder is defined in the direction of the connected Terminal.
Load Scaling In any system some loads values may be accurately known whilst others are
estimated. It is likely that measurement points exist for feeders in the system as well, and thus
the power that is drawn through this feeder is also known. The load scaling tool assists the user in
adjusting these estimated load values by scaling them to match a known feeder power or current
that has been measured in the real system. More information about the use of the Load Scaling
Function is given below.
Elements The Mark in Graphic button may be used to select all the elements of a Feeder in the
desired single line diagram. The Edit button is used to list all the elements belonging to a Feeder
in a data browser.
To use the Load Scaling tool first define which loads may be scaled by enabling the Adjusted by Load
Scaling option on the Load-Flow tab of the load dialog. All of the loads in a feeder may also be quickly
viewed by editing the feeder from the feeders folder. Load scaling is now performed by the load-flow
calculation function when:
At least one feeder is defined with load scaling according to a current or power.
The option Feeder Load Scaling is enabled in the load-flow command dialog (basic options).
At least one load exists in the feeder area for which
A change in operating point affects the load-flow at the feeder position
The option Adjusted by Load Scaling has been enabled.
The load-flow calculation will then adjust the scaling of all adjustable loads in the feeder areas in such
a way that the load-flow at the feeder equals the current or power set-point.
The feeder setpoint is influenced by the zone scaling. This means that the current or power flow as
calculated by the load-flow could differ from the setpoint in the feeder dialog when the busbar where the
feeder is defined is part of a zone.
For instance, a feeder has a set-point of 1.22 MVA. The busbar is in a zone and the zone-scale is set to
0.50. The flow at the feeder position will thus be 0.61 MVA.
For information about colouring the single line graphic according to feeder definitions please refer to
Chapter 9: Network Graphics, Section 9.7.6 (Graphic Attributes and Options). For information about
voltage profile plots, please refer to Chapter 17 (Reporting and Visualising Results).
Defining 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 specific methodology within PowerFactory for this purpose. The procedure is as
follows:
1. Right-click the target terminal where the feeder/s should be defined from.
2. Choose the option Define Feeder. . . from the context sensitive menu that appears. This step
is illustrated in Figure 13.5.1.
3. PowerFactory will automatically create Feeder objects for each of the connected two terminal
elements, for example lines and transformers. The list of created feeders is displayed in a pop-up
window. The default name for each feeder is the concatenation of the terminal name and the
connected object.
4. Adjust the feeder colours and definitions as required and remove any unwanted feeders.
DIgSILENT PowerFactory 15, User Manual
205
13.5.1
Feeder Tools
Feeder Tools is a set of three tools that can be used only in radial systems to change voltage, technology
or phasing from a particular point downwards.
13.5.1.1
The Voltage Change Tool automatically changes type data (for transformers, lines, loads and motors)
and element data such that the primary voltage can be changed to a specified voltage value. The tool
will change the voltage from a particular point downwards but is limited to the HV side. This will enable
the voltage level of a network to be changed for planning studies, taking into account all downstream
equipment.
13.5.1.2
The Technology Change Tool automatically changes type data (for transformers, lines, loads, motors)
and element data such that the primary number of phases or neutrals (commonly referred to as technology) can be changed to a specific number of phases/neutrals. The tool will change the technology
from a particular point downwards but is limited to the HV side.
Note: If a device such as a transformer or shunt device is no longer compatible (number of phases
and/or phasing is not supported) then the device is set out of service and is reported to the user.
206
13.5. FEEDERS
13.5.1.3
The Auto Balancing Tool provides automatic balancing techniques to minimise voltage unbalance, with
the ability to specify which element (loads, lines and transformers), or combinations thereof, can be
adjusted. It is possible to indicate which elements should not be adjusted by the algorithms, which have
fixed phasing connections.
13.5.1.4
Feeder Tools is a built-in command (ComFeedertool) in PowerFactory and can be started via the rightmouse context-sensitive menu, by clicking on an element of a feeder as shown in Figure 13.5.2. A radial
feeder must be defined prior to using the command.
The voltage, technology and balancing tools are all related and are integrated in PowerFactory as one
command having different options for enabling/disabling each individual tool. Any combination of the
three tools can be used. For example, a user may want to evaluate the alternative where an existing 19
kV SWER line is to be changed to a 22 kV three-phase line. In this case, the line type voltage, phasing
and technology will all need to change. The transformers should then be changed to equivalent singleor dual-phase transformers (depending on their original secondary technology) with 22 kV phase-tophase connected primary windings.
Since Voltage and Technology Tools are more intrinsically related than the Auto Balancing Tool, the
first tools are meshed into one algorithm. The Auto Balancing Tool runs independently of Voltage and
Technology Tools but requires a convergent load flow. If the user wishes to apply all tools in one run
(Voltage, Technology and Balancing), then the algorithm of Voltage and Technology Tools is performed
followed by execution of the Auto Balancing Tool.
DIgSILENT PowerFactory 15, User Manual
207
When selecting the Voltage Change Tool, the user should specify the voltage level in kV (Previous
Voltage) that will be replaced, and the New Voltage. Both voltages should be specified as phase-phase
voltages, even if there is no phase-phase voltage available; for example when the previous or new
technology is 1 PH or 1 PH-N. When selecting the Technology Change Tool, the user should specify
the New Technology from the drop-down list and then proceed as follows:
1. A radial feeder must be defined
2. A Start Element (terminal or line) must be selected:
If the Start Element is a terminal, then this is defined as the Start Terminal. In the Start Element is a
line, then the Start Terminal is defined as:
For the Voltage Tool: the line terminal nearest to the feeder definition point
For the Technology Tool: the line terminal more distant from the feeder definition point.
Note: The algorithm uses a top-down approach: working from the Start Terminal downwards to the
Stop Point
13.5. FEEDERS
Do not change the type: the old type is not replaced and the corresponding element is put out-ofservice. Changes, if necessary, should be manually performed after the command execution.
An example of a Linking Object is shown in Figure 13.5.3. The voltage tolerance (parameter vtol) for
comparison between type voltage and new voltage can be optionally specified. The default value is 30
%. Records in Linking Object should be unique for each combination of Old Type, New Voltage and
New Technology. Validation rules (see item 7) are applied when the user presses the OK button or/and
automatically (i.e. within the algorithm).
209
13.5.1.6
The Auto Balancing Tool runs independently of the Voltage and Technology Tools but requires a convergent load flow. If the user wishes to activate all Feeder Tools (Voltage, Technology and Balancing)
in parallel, then the Voltage and Technology Tools algorithm is performed first and, if the load flow is
convergent, the Auto Balancing Tool will be executed.
The user should select which elements will be considered in phasing balancing from a drop-down list:
Loads: adjust the phasing options of single-, dual- and phase-to-phase connected loads (default
option);
Lines and transformers: adjust the phasing connections of unbalanced lines and the primary
phasing connections of transformers;
Loads, lines and transformers: adjust the phasing connections of unbalanced loads, lines and
transformers.
It is necessary to select the applicability of the algorithm:
All feeder voltage levels: to balancing the whole system (default option);
Start Element voltage level: to limit balancing to the Start Element voltage level.
The user can optionally specify a set of elements that will not be adjusted by the algorithm; i.e. whose
phasing connections are fixed.
1. A radial feeder must be defined
2. A Start Element (terminal or line) must be selected:
If the Start Element is a terminal then this is defined as the Start Terminal; otherwise if the Start Element
is a line, the Start Terminal is defined as the line terminal closest to the feeder definition point.
3. The balancing algorithm uses a bottom-up approach: balancing is performed from the extremities
of the feeder including the secondary circuits of step-down transformers up to the Stop Point. Only
elements connected to the set of terminals defined in Apply to drop-down list will be optimised.
Definition of the Stop Point for the Auto Balancing Tool is the Start Terminal.
Note: The Balancing algorithm uses a bottom-up approach. Therefore, the end is at the Start Terminal.
4. Control variables are the phases of single-phase/two-phase cubicles connected to a busbar with a
higher number of phases and unbalanced loads.
5. Calculate total load (S) behind every single-phase/two-phase cubicle (branch). Connect the branch
with the highest load to the phase supplying the lowest load. Initially, every phase supplies 0, hence it
210
13.6. OPERATORS
starts arbitrarily, e.g. A -> B -> C -> C -> etc.
6. If all branches are connected, balance unbalanced loads, so that every busbar is as balanced as
possible.
7. The recursion automatically continues at the next busbar upstream.
13.6
Operators
For descriptive purposes, it is useful to sort network components according to their operators. Additionally, system operators may find it advantageous to generate summary reports of the losses, generation,
load, etc. according to their designated region(s). PowerFactory allows the definition of operators, the
assignment of network components to these operators, and the identification of operators on single line
) are stored in the
diagrams by means of Operator objects. The Operator objects (ElmOperator,
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 dialog of the new operator pops up:
Give a name to the new object.
Select a colour to represent the operator in the corresponding colouring mode of the single
line diagram.
Press Ok.
Network elements (class name Elm* ) such as terminals, switches, lines, generators, transformers,
relays or composite models (ElmComp), Substations (ElmSubstat) and Branches (ElmBranch) can be
assigned to an operator by means of the reference Operator from the Description tab of their dialog.
Note: Operators that are created or deleted when a recording expansion stage is active; become available/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time
13.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 definition of network owners,
and the assignment of network components to them, by means of Owner objects.
The Owner objects (ElmOwner,
) are stored in the Owners folder ( ) in the Network Model directory. They are created following the same procedure described for operators. Network elements (class
name Elm* ) such as terminals, switches, lines, generators, transformers, relays or composite models
(ElmComp), Substations (ElmSubstat) and Branches (ElmBranch) can be assigned to an operator by
means of the reference Operator from the Description tab of their dialog.
Note: Operators that are created or deleted when a recording expansion stage is active; become available/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time
211
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 analyse the operation of protection devices within a network.
The defined 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 dialog of the new path pops up, give a name and select the desired colour for the corresponding colour representation mode in the single line diagram. The references to the objects defining
the Path (First/Last Busbar First/Last Branch) are automatically created by the program, according
to the selection.
After pressing Ok the new path is stored in the Paths folder of the Network Model.
By using the Elements button of the Path dialog you can have access to all the element belonging
to the path in a data browser, there you can edit them. The Select button may be used to locate the
components of the path in a single line diagram. With the Toggle button you can invert the order of the
objects limiting the path (First/Last Busbar First/Last Branch). This order is relevant when evaluating
directional protective devises.
New objects can be added to a path by marking them in a single line diagram (including one end of the
target path and a busbar as the new end) right clicking and selecting Path Add to from the context
sensitive menu. Objects can be removed from a Path (regarding that the end object of a Path must
be always a busbar) by marking them in the single line diagram, right clicking and selecting Path
Remove Partly from the context sensitive menu. The Remove option of the Path context sensitive menu
will remove the firstly found path definition of which at least one of the selected objects is a member.
For information about the colouring function please refer to Chapter 9: Network Graphics, subsection 9.7.6 (Graphic Attributes and Options). For information about the use of the path definitions for the
analysis of the protective devices, please refer to Chapter 40 (Protection).
Note: Paths that are created or deleted when a recording expansion stage is active; become available/not available only if the corresponding variation is active and the expansion stage activation
time is earlier than the current study time
13.9
Routes
Routes are objects which are used to group line couplings (tower elements). Each coupling (ElmTow)
can have a reference to any defined route (ElmRoute, ). Each route has a colour 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)).
212
13.10. ZONES
13.10
Zones
Zones are created by multi-selecting elements, right-clicking and choosing Define Zone. . . from the
context sensitive menu. The option Add to Zone. . . can be selected when a zone(s) have already
been defined.
213
214
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 Section 16.2 (Parameter Characteristics) for details.
14.2
Operation Scenarios are used to store network component parameters that define 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 define as many operation scenarios as needed; each operation scenario should represent a different operational point. Figure 14.2.1 shows a project containing three operation scenarios (Peak Load,
Light Load and Shoulder Load) the content of the Peak Load scenario (its subsets) is shown in the
right pane of the data manager.
215
A new operation scenario is defined by saving the current operational data of the active network components. Once they have been created, operation scenarios can be activated to load the corresponding
operational data. If an operation scenario is active and certain operational data is changed, these
changes are stored in the active operation scenario (if you decide to save the changes). If the current
operation scenario is deactivated, the active network components revert to the operational data that
they had before the activation of the operation scenario (this is the default operational data). Changes
made to the default operational data do not affect data within existing operation scenarios.
Operation scenario data stored within each operation scenario is separated into subsets, with one
subset of operational data created for every grid in the network model. It is possible to exclude the
operational data for individual grids. This prevents the operation scenario from saving the operational
data for any subset where this option is active. For example, you might be working with a network model
with four grids, say North, South, East and West. Perhaps you do not wish to store operational data
for the West grid because the models in this grid have fixed output regardless of the operational state.
By excluding the operational data subset for this grid, the default data can be used in all cases, even
though the operational data is different in the other three grids.
When working with active operation scenarios and active expansion stages, modifications on the operational data are stored in the operation scenario whereas the expansion stage keeps the default
operational data and all other topological changes. If no operation scenarios are active and new
components are added by the current expansion stage, the operational data of the new components
will be added to the corresponding operation scenario when activated.
Note: When an operation scenario is active, the operational data is distinguished in the network component dialogues because it is written using a blue font colour.
14.3
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.
216
14.3.1
Figure 14.3.1: Creating a new operation scenario object using the data manager.
3. Enter the name for the operation scenario in the name field.
4. Press OK. The operation scenario will appear as a new object within the operation scenarios
folder.
Method 2
Follow these steps:
1. From the main PowerFactory menu go to the File menu and select File Save Operation Scenario
as. . . (see Figure 14.3.2). The dialogue of the new operation scenario pops up.
Figure 14.3.2: Using the Main Menu to Save as a new operation scenario
217
14.3.2
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).
218
14.3.3
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
appear.
3. Choose the option Activate from the menu. If a currently active operation scenario contains
unsaved data, you will be prompted to save or discard this information.
Method 2
Follow these steps:
1. From the main file 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
219
14.3.5
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.
220
14.4
In this sub-section the operation scenario administrative tasks are explained. This includes reporting
operational scenario data status, comparing operation scenarios, viewing the non-default running arrangements, applying data from one operation scenario to another (copying), updating the base network
model, excluding grids from the operation scenario and creating a time based operation scenario.
14.4.1
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 finding the operation scenario in the data manager
right-clicking it and selecting edit from context sensitive menu.
2. Press the Reporting button. A list of objects with data missing from the operation scenario is
printed by PowerFactory to the output window.
Note: If you double click a listed object in the output window the dialog box for that object will open
directly allowing you to edit the object. You can also right click the name in the output window and
use the function Mark in Graphic to find the object.
14.4.2
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 first operation scenario dialog by finding 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
221
14.4.3
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 finding the operation scenario in the data manager,
right-clicking it and selecting edit from context sensitive menu.
2. Press the Reporting RA button. PowerFactory prints a report of the non-default Running Arrangements to the output window.
Note: Most of these actions are also available in context-sensitive menu when right-clicking on an
operation scenario (Action . . . ).
14.4.4
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.
222
14.4.5
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
Background
By default, each operation scenario contains several subsets, one for each grid in the network model.
For example, you might be working with a network model with four grids, say North, South, East and
West. In such a case each operation scenario would contain four subsets. Now it might be the case
that you do not wish to store operational data for the West grid because the models in this grid have
fixed output etc. regardless of the operational state. By excluding the operational data subset for this
grid, the default data can be used in all cases, even though the operational data is different in the other
three grids.
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
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:
223
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.
224
14.5
This sub-section describes some advanced configuration options for the operation scenarios. This
includes adjusting the automatic save settings and modifying the data that is stored within the operation
scenarios. Note for new users, it is recommended to use the default settings.
14.5.1
As mentioned in Section 14.3.2, by default operation scenarios do not automatically save your modifications to the network data operational parameters at the time the changes are made. As a user, you
can enable automatic saving of operation scenario data and you can alter the automatic save interval. It
is also possible to change the save interval to 0 minutes so that all operational data changes are saved
as soon as the change is made. To change the save interval for operation scenarios, follow these steps:
1. Open the PowerFactory User Settings by clicking the (
14.5.2
Background
PowerFactory defines a default set of operational data for each object within the network model. This
is the information that is stored within the operation scenarios. However, it is possible to alter the
information that is stored to a limited extent by creating a Scenario Configuration. The procedure is
divided into two tasks. Firstly, a special Scenario Configuration folder must be created and then the
object definitions can be created within this folder.
Task 1: Creating a Scenario Configuration Folder
To create a scenario configuration folder follow these steps:
1. Go to the Settings folder within the project using the data manager.
2. Click the New Object icon
3. Choose the Scenario Configuration (SetScenario). A scenario configuration dialog will appear.
You can rename it if you like.
4. Press OK.
225
226
Chapter 15
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 define 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, independent of changes made to the base Network Model. Data changes stored in Variations can easily be
activated and deactivated, and can be permanently applied to the base Network Model when required
(for example, when a project is commissioned).
The concept of having a permanent graphic" in PowerFactory means that graphical objects related to
Variations are stored in Diagrams folders, and not within Variations. When a Variation is inactive, 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
first 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 define as many Variations and Expansion Stages as required.
DIgSILENT PowerFactory 15, User Manual
227
15.2
Variations
In a Data Manager, select the Variations folder and click on the New Object icon
that the Element field is set to Variation (IntScheme), and press Ok.
. Ensure
15.3
Expansion Stages
15.4
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
229
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 Data Date/Time of Study Case, or Edit Project Data
button.
Study Case and then the
The Data Manager in the active Study Case folder, object Set Study Time".
15.5
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
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 defined within a particular Variation, 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 specified within each individual Expansion Stage.
To define a Variation Scheduler:
1. Open a Data Manager, and navigate to the Variation where the Scheduler is to be defined. Then,
either:
Right-click on the Variation and select New Variation Scheduler.
Click on the New Object button
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.
230
15.7
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 specified in this Variation Scheduler.
The alternative Variation Scheduler Scheduler2" is inactive (only one Variation Scheduler can be active
at a time).
Also shown in Figure 15.7.1 on the right-side pane are the modifications associated with 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.2 shows the Single Line Graphic of the associated network. Since the Expansion Stage
Ld2" is inactive, the Load Ld2" is shown in yellow.
231
Figure 15.7.2: Example Variations and Expansion Stages - Single Line Graphic
15.8
15.8.1
Changes stored in non-active Expansion Stages can be applied to the Network Data folder, or if there is
an active recording Expansion Stage, to the recording Expansion Stage. To apply the changes, either:
In the Data Manager, right-click the Expansion Stage and select Apply Changes, or in the Expansion Stage dialogue press Apply (only available if the Expansion Stage is within a non-active
Variation).
In the Data Manager, select item(s) within an inactive Expansion Stage, right-click and select
Apply Changes. If required, delete the item(s) from the original Expansion Stage.
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
Network Variation.
2. A confirmation message listing the Variations to be consolidated is displayed. Press Yes to
implement the changes.
3. View the list of consolidated Variations and Expansion Stages in the Output Window
232
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
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. Doubleclick 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
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 visualisation, sorting, and possible merging of the compared objects. Comparison results
symbols indicate the differences between each listed object, defined as follows:
The object exists in the base object" but not in the object to compare".
The object exists in the object to compare" but not in the base object".
The object exists in both sets but the parameters values differ.
The object exists in both sets and has identical parameter values.
233
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
15.8.6
Variation Conflicts
Active Expansion Stages with the same activation time must be independent. This means that the
same object can not be changed (modified, deleted, or added) in active Expansion Stages with the same
234
15.8.7
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 first remember in which Expansion Stage the change was introduced,
then they must make this Expansion Stage the Recording Stage before finally 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 first 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.
235
15.9
15.9.1
General
Prior to PowerFactory v14, System Stages" where used to analyse design alternatives as well as
different 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 definition has been replaced by Variations
and Operation Scenarios, which provides enhanced flexibility and transparency.
When importing (and then activating) a project that was implemented in a previous PowerFactory
version, the activation process will automatically make a copy of the project, rename it (by appending
_v14 or _v15 to the project name) and migrate the structure of the copied project.
The migration process creates new Project Folders (such as Network Data, Study Cases, Library
folders, etc.) and moves the corresponding information to these project folders. Additionally, existing
Stations and Line Routes elements are migrated to their corresponding definition in v14 and v15 (i.e.
Substations and Branches).
If the project contains System Stages, they will not be converted automatically. They will be still
be defined, and functions related to their handling will still be available. If the user wishes to take
full advantage of the Variation and Operational Scenario concepts, then the System Stages must be
converted manually. The procedure is described in the following section.
15.9.2
The conversion process of System Stages is described with reference to an example project opened in
PowerFactory v14, with the structure shown in Figure 15.9.1. The project contains three grids Grid 110
kV", Grid 220 kV" and Grid 33 kV". Each Grid contains a 2010 Base Case" System Stage with three
System Stages 2010 MAX", 2010 MIN", and 2011 Base Case". The 2011 Base Case" stage in-turn
contains two stages, 2011 MAX" and 2011 MIN". The Study Cases are configured so that the 2011
MAX" Study Case and the 2011 MAX" stages are active.
236
237
Figure 15.9.2: Reduce Revision performed for the 2011 Base Case
6. After converting System Stages 2010 Base Case" and 2011 Base Case" (with Network Data
modifications) to Variations, and System Stages 2010 MAX", 2010 MIN", 2011 MAX", and
2011 MIN" (with operational modifications) to Operation Scenarios, the Variations and Operation
Scenarios are assigned to Study Cases. Figure 15.9.3 shows the resulting project structure for this
example, where all System Stages have been converted to Variations and Operation Scenarios.
238
239
240
Chapter 16
Parameter Characteristics,
Load States, and Tariffs
16.1
Introduction
This chapter provides details on how to define 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-defined trigger. The range of values may be in the form
of a scaling factor, 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 defined in either:
The Characteristics folder of the Operational Library.
The Global Characteristics folder within Database Library.
Studies which utilise characteristics are known as parametric studies.
Scales and Triggers
The value of the characteristic is defined by the value of the scale. New scales are normally defined in
the Scales folder of the Operational Library.
241
).
).
Figure 16.2.1 illustrates an application of scales and triggers, where the study case time is used to set
the output of a load based on the hour of the day.
Available Characteristics
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.
242
Description of Application
Parameter(s) are to be modified based on
the day, week, or month set in the Study
Time. Parameter states may be interpolated
between entered values.
Parameter(s) are to be modified according
to seasonal variation and the day, week and
month set in the Study Time.
Parameter(s) are to be manually modified by
a scaling factor.
Discrete parameter states are to be selectable.
Parameter states may be interpolated between entered values.
Parameter(s) are to be modified with Frequency.
Parameter(s) are to be modified based on
a user-defined scale referencing the Study
Time.
Parameter states are based on two variables,
and may be interpolated between entered
values.
Parameter states and the trigger (optional) is
to be read from a file.
Reference link between a parameter and a
Characteristic
Usage
With the exception of the Scalar Characteristic, the Usage" field at the bottom of the characteristic
dialog 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 extrapolate 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 defined degree.
DIgSILENT PowerFactory 15, User Manual
243
Note that Approximation methods are not available for discrete characteristics.
Creating a Characteristic
To create a Characteristic, right-click on the desired parameter (e.g. Active Power), right-click and
select Add Project Characteristic or Add Global Characteristic and create the desired characteristic. It
is also possible to edit the existing characteristic by selecting the option Edit 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
characteristic determines the value of the parameter according to the study time (SetTime). The time
244
245
16.2.2
Profile Characteristics
16.2.3
Scaling Factor
246
16.2.4
Linear Functions
16.2.5
Vector Characteristics
Vector Characteristics may be defined 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 defined by a short text
description. The current value is shown in the characteristic dialog in red, according to the case that is
currently active.
To define a new project discrete parameter characteristic:
In the edit dialog of the target network component right-click on the desired parameter.
Select Add Project Characteristic One Dimension Vector. . .
Click the New Object button
247
16.2.6
16.2.7
249
16.2.8
Characteristic References
When a characteristic is defined for an objects parameter, PowerFactory automatically creates a characteristic 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
characteristic. The characteristic reference includes the following parameters:
Parameter the name of the object parameter assigned to the characteristic. This field cannot be
modified by the user.
Characteristic the characteristic which is to be applied to the parameter.
Inactive a check-box which can be used to disable a characteristic reference.
The ability to disable the characteristic for individual objects using the object filter and the Inactivate
option makes data manipulation using characteristics quite flexible.
16.2.9
Once a parameter has a characteristic defined, 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 dialog appears which lists all the characteristics referenced by
the parameter. The Edit characteristics dialog provides a graphical representation of the characteristic and allows characteristics to be inserted, appended and deleted. The Edit characteristics dialog
also allows modification of individual characteristics values, triggers and characteristic activation and
deactivation.
Note: By default the value of the first active characteristic is assigned to the parameter.
16.2.10
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).
16.2.11
Consider the following example, where the operating point of a generator should be easily modified by
the user to predefined values within the capability limits of the machine.
Firstly, the Active Power of the synchronous generator is set to the maximum capability of 150 MW.
Then, a vector characteristic is added to the Active Power parameter. To create a new Project Vector
Characteristic, right-click on the Active Power parameter (pgini) and select Add Profile Characteristic
One Dimension - Vector. . . . Click on the New Object icon and define a characteristic called Active
Power" in the ChaVec dialog.
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.
251
Click on ok to return to the Vector Characteristic. Define 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.
Next, a matrix characteristic is added to the Reactive Power parameter of the generator in a similar
fashion to the Active Power characteristic. A new discrete scale named Operating Region is created
(for the Columns) and three operating regions are defined (see Figure 16.2.6).
252
The scale Operating Region is linked to the Scale for Columns, and the previously defined scale
Output Level is selected for the Scale for Rows. Absolute Mvar values are entered in the Matrix
Characteristic as shown in Figure 16.2.7.
Now that the characteristics and triggers are defined, the Operating Region and Real Power Output
DIgSILENT PowerFactory 15, User Manual
253
16.3
Load States
This section describes Load States, as used in Reliability and Optimal Capacitor Placement calculations.
16.3.1
Pre-requisites:
Prior to creating load states, a time-based parameter characteristics must be defined for at least one
load in the network model. See Time Characteristics (ChaTime) in section 16.2.1 and Vector Characteristics with Time Scales (TriTime) in section 16.2.5 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-defined value. If the total number of calculated
load states exceeds this parameter then either the time period of the sweep or the accuracy should
be reduced.
254
16.3.2
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 filter ( ) (in the Data Manager window) to select the load states object (
There should now be created load states visible in the right panel of the data manager.
).
3. Locate the load states object and double-click to view the load states.
16.3.3
16.3.4
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
255
16.4
This section describes how to create load distribution states, as used by the Reliability calculation.
16.4.1
Pre-requisites:
Prior to creating load distribution states a substation/s must have been defined within the model. A
distribution curve must have also been defined (accessed from the reliability page of the substation/s).
Follow these steps to create the load distribution states:
1. Click the Create Load States button (
will appear.
2. Optional: Use the Reliability Assessment selection control to inspect or alter the settings of the
Reliability Calculation command. This selection control points to the default reliability command
within the active Study Case.
3. Optional: Use the Load Flow selection button to inspect and alter the settings of the load flow
command. This selection control points to the default load-flow command within the active Study
Case.
DIgSILENT PowerFactory 15, User Manual
257
16.4.2
After you have generated the load states as described above, or if you want to inspect previously
generated load states follow these steps:
1. Using the data manager, select the Reliability Assessment Command within the Active Study
Case.
2. Optional: Use the filter ( ) (in the Data Manager window) to select the load distribution states
object ( ). There should now be created load distribution states visible in the right panel of the
data manager.
3. Locate the load distribution states object and double-click to view the load states.
16.4.3
16.4.4
258
259
16.5
Tariffs
This section describes the definition of Time Tariffs (as used in Reliability calculations), and Energy Tariffs (as used in Reliability calculations and Optimal RCS Placement calculations, and Techno-Economical
calculations).
16.5.1
4. Select Time Tariff and press OK. A Time Tariff dialog box will appear.
5. Select the unit of the interruption cost function by choosing from the following options:
$/kW Cost per interrupted power in kW, OR
$/customer Cost per interrupted customer, OR
$ 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.
260
16.5. TARIFFS
16.5.2
4. Select Energy Tariff and press OK. An Energy Tariff dialog box will appear.
5. Enter Energy and Costs values for the Energy Tariff (right click and Append rows as required).
6. Press OK to return to the load element reliability page.
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
261
(16.1)
262
Chapter 17
Introduction
This chapter presents the tools and options included in PowerFactory to view the results of the preformed calculations. Key concepts in this topic are Result Boxes, Virtual Instruments (VIs), Results
Objects, and Variable Selection.
17.2
This section presents the set of objects, commands and tools, dedicated to the handling and presentation of results in PowerFactory.
17.2.1
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 define text reports, from very small result boxes to more complex and comprehensive
reports within DIgSILENT PowerFactory .
For a detailed technical description of the report generating language, see Appendix F (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 definition:
selecting three variables out of three predefined lists
selecting one or more variables out of all available variables
writing a new user defined format, using the PowerFactory 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.
263
Different variables can be added by appending new rows. The user should double click in the corresponding row in the column Variable" and the list of all available variables will appear.
This Format Editor has a page to change the format by selecting variables, and a page to manually
define 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.
It is also possible to define 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
field.
Format Editor
This is the most flexible, but also the most difficult mode. In this mode, any text and any
available variable, in any colour, can be entered in the Form. The highly flexible DIgSILENT
output language allows for complex automatic reports. This mode also offers a fast append of
predefined lines. The User defined button acts like the input mode User Selection" with one
important difference. Where the User Selection" mode is used to redefine the complete form
text, the User defined button appends a line for each set of variables to the existing form text.
In Figure 17.2.1, the editor is in the default User Selection mode. The three predefined rows show the
names of the variables, their units and their 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 first #-sign stands for any whole
number, not necessary smaller than 10.
The $N marks the end of a line. A line normally contains one or more placeholders, separated
by non-# signs, but may also contain normal text or macro commands.
After the $N, the list of variable names that are used to fill in the placeholders have to be added.
Variable names must be separated with commas. Special formatting characters, like the @:-sign,
are used to select what is printed (i.e. the name of the variable or its value) and how.
The 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
265
17.2.2
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 modified by the user. When the report form is changed,
it is stored in the Settings" object of the active project. This does not influence the reports of other
projects. The output of objects without a defined short listing will produce warnings like:
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
266
If one wants to report elements without defining a set of objects Use Selection" on the Device Data"
page must not be checked. The objects in the list Selected Objects" will be filtered out of the active
projects/grids and reported. Available Objects" shows a list of elements which can be add to the
Selected Objects" list. The list in Available Objects" depends on the Elements" radio button. Elements
in the left list are moved to the right by double-clicking them. The text in the Annex" input field will be
set as default annex for the selected class.
The Annex for Documentation
267
Objects This column shows the different classes with their title.
Annex This column stores the annex number shown in the Annex field of the report.
First Page This column defines the start page for the class in the report. The first page number
depends on the class of the first element output in your report. The page number of its class
is the page number of the first page.
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 loadflow). 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 modified it will be stored automatically in the Settings" folder of
the active project. The changed form does not influence the reports of other projects. If Use Selection"
is active a set of objects (selection) or a single object must be chosen. The report is generated only for
these elements. All relevant objects are used if Use Selection" is not selected. The relevant objects
depend on the chosen report. Most reports display a title on top of each page. The reference Title"
defines the contents of the header.
For some reports additional settings are required. These settings depend on the chosen report, the
selected objects for output and the calculation processed before. The calculation (left top) and the used
268
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 specific variables during a transient simulation, or during a
data acquisition measurement. Result objects are also used in DPL scripts, in reliability calculations, for
harmonic analysis, etc.
An example of the result object dialogue is depicted in Figure 17.2.7.
269
270
This function will export the data from the displayed curve with the given time range as ASCII text to the
following programs/files:
Output Window
Windows Clipboard
Measurement File (ElmFile)
ComTrade
DIgSILENT PowerFactory 15, User Manual
271
17.3
At many stages in the development of a power system design, the differences between certain settings
or design options become of interest.
For a single calculation, the absolute results are shown in the single line graphics. The variables that
are shown may be specified by the user by altering the result-box definitions.
When pressing the Comparing of Results on/off button ( ), the results of the first calculation are
frozen. All subsequent calculations will then show their results as deviations from the first calculation
made. The subsequent calculation results are stored together with the first result. This allows the user
to re-arrange the comparisons as desired by pressing the
icon (see the next Section).
The differences between cases are coloured according to the severity of the deviation, making it possible
to recognise 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 first case by activating a certain calculation case and, for example, calculating a
load-flow.
Press the
icon on the main toolbar. This will store the base case results and prepares to store
the results of forthcoming calculations.
If relative results are also required for a particular calculation report, in a formatted report, that
report has to be generated for the first case by pressing the
icon on the main toolbar and
selecting the required report. This step is necessary to let the comparison manager know which
parameters are to be compared.
Change the power system or a calculation setting to create the next case. Permitted alterations
include opening/closing switches, altering load settings or any other component parameter, changing calculation cases, adding or deleting elements, changing the active variations of scenario, etc.
Repeat the calculations as performed for the first case.
The result boxes in the single line graphic will now show the percentage change as compared to
the first case. If the calculation report, as generated for the first case, is generated again, it will
also show relative results.
Make and calculate the other cases. After each calculation, the comparison to the first case is
shown.
272
17.3.1
The set of calculated comparisons may be edited to select the cases which are to be compared to each
icon on the main toolbar is pressed, the Compare
other or to set the colouring mode. When the
dialogue will open. See Figure 17.3.1.
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
icon on the main toolbar.
specifically commands this, using the
Note: The corresponding input parameters of the database will be overwritten by the calculated values.
273
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
calculated, the user can define variable selection monitors from the single line graphic. To do this,
perform the following steps:
Right click on the target network component.
Select Define Variable Selection (SIM) from the context sensitive menu.
A data browser listing all the results objects defined in the active study case should appear. Double
click on a target result object to select it. If no result objects have been defined, 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 defined. To define a new variable selection, the
icon in the browser can be pressed.
17.4.1
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 flowing to the load are going to be monitored (blue circle).
274
In the Variable Selection Monitor dialogue the following fields can be seen:
Object
Is the selected object (normally a network component), whose variables are going to be monitored.
Class Name
If no object has been selected the Class Name" field becomes active. This is normally used for
more advanced studies and need not be explained further here.
Display Values during simulation in output window (...)
By checking this box and selecting the option Display results variables in output window in the
simulation command, the values calculated for the selected variables during a simulation will be
displayed in the output window.
Filter for
As mentioned previously, there is a large number of variables that may be observed in PowerFactory. To be able to find and select these they are sorted into sets. A series of filters allows the
user to sort through the sets. Further information about the selection of variable is given in the
subsection Searching the Variables to Monitor.
Page Tab
The first sorting of the variables is by calculation function (load-flow, short-circuit, etc.). In the
example of Figure 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 filter).
DIgSILENT PowerFactory 15, User Manual
275
17.4.2
The first sorting of the variables is by calculation function (load-flow, short-circuit, etc.). Within these
sets variables are sorted into sub-sets. The user can select the desired subset by means of the drop
down menu on the Variable Selection field. Following a description of the available subsets:
Currents, Voltages and Powers
Almost self explanatory- these are the outputs as calculated by a calculation function. The
variable is preceded by m:" (representing monitored or measured) as in m:P:bus1" for the
active power drawn by the load. The user may select one set for branches and one set for the
nodes, which then is used for each node the edge is connected to.
Bus Results
Variables for the bus/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 defined and/or PowerFactory models (inputs
and outputs). They are preceded by s:". These should be used when creating a controller or in
a DPL script. These variables are accessible whilst an iteration is being calculated, whereas the
other variables sets are calculated following an iteration.
Calculation Parameter
276
17.4.3
In this subsection an examples for the use of the above described sets are given. The procedures
described below always apply, regardless of which is the final use of the variable 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 filter - 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.
277
The tap setting will be found in the element data and the parameter is located on the load-flow 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
parameters 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
parameter we will refer to the object that the LV side of the transformer is connected to, which is the
cubicle Cub_2. Since the nominal and calculated voltages of the node are located in the node object
itself we will next need to refer to this node object LV.
278
Step by step, the process will be as follows: We first need to refer to or jump to the cubicle. If we
picture the input dialogue for the transformer element we recall that the connections for the HV and LV
sides are listed on the basic data page, so this is where we will logically find the link to the connected
object (the cubicle). In Figure 17.4.4 we can see that this selection has been made (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.
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
279
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 find the parameter, as shown
in Figure 17.4.6. The parameter is called
uknom
kV
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
illustration purposes. Typically, however, a user wishes to display calculated variables such as
280
These bus results can only be seen in the calculation function tabs and they are drawn from an internal
node that is not displayed on the single line graphic. An illustration of this node and its relationship to
the cubicle is shown in Figure 17.4.7.
17.4.4
When selecting variables from the Currents, Voltages and Powers set, the user will notice that there is
a filter called Bus Name. This is used to determine which side of an edge element is to be considered.
281
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 defining 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
profiles, 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 visualise 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 defined 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 floating point numbers, but there is also the possibility to show
discrete variables as well as binary numbers, for example an out of service" flag 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 defined 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.
282
283
17.5.1
Virtual instruments are created and edited on a Virtual Instruments Panel (SetViPage) which is one of
the possible types of pages on a Graphics Board. Other page types are single line graphics and block
diagram or frame graphics.
A new virtual instrument panel can be created by
selecting the File New option on the main menu and subsequently selecting a Virtual Instrument Page" in the ComNew. This will create a new page in the Graphics Board" of the currently
active study case.
icon on the graphics boards toolbar and selecting Virtual
selecting the Insert New Graphic
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
icon is clicked or the Edit Actual Virtual Instrument Panel option is
plots and other diagrams. The
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.
284
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-flow
calculation, where the x-axis is given by the harmonic frequencies. Different types of plots, like the
subplot and the waveform plot, can be scaled simultaneously.
With the button Zoom X-Axis
a certain range of the x-axis or of several x-axes can be zoomed easily.
Click on the icon to activate the function, then click on a plot, hold the right mouse button and drag the
mouse to the right or to the left to mark the desired range on the x-axis. If the mouse button is released,
PowerFactory will then show the marked x ranged zoomed.
DIgSILENT PowerFactory 15, User Manual
285
or
The modes can easily be changed by pressing the one or the other button. In addition the position of
VIs can easily be exchanged. Thereto mark the VI by clicking it. Then drag the VI onto another plot.
Thus the position of the VIs will be exchanged.
Note: This option of exchanging the plots by dragging is only possible, when one of the arrangement
buttons are active. If you deactivate both buttons by unselecting them in the toolbar, the plots can
freely be moved by dragging them on the panel. See also Moving and Resizing.
Another way to rearrange the VIs is to open the dialogue of the VI panel by pressing the
icon and then
use the Arrangement options on the Advanced" page. Here the option User defined can be activated.
So the VIs will no longer be arranged automatically but can be resized and moved inside the panel. So
the user is free to arrange the VIs ad libitum. This mode is also activated by disabling the selected icon
or .
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 defined can be activated on the Advanced page of the edit dialogue of the VI panel.
A VI is clicked to mark it. The VI is dragged inside the panel by clicking it with the mouse button
pressed. Then the VI can be move across the panel. The mouse is released to set the new position.
Note: Please note that some VIs can not be resized at all because their size is set automatically. This
applies e.g. for the bitmap VI with the option Adapt Size of VI to Size of Bitmap enabled.
Page Format
The page format is modified using the
in the toolbar of the graphics board. VI panels use the page
format set in the graphics board. In addition a local page format can be created for each VI panel. The
option Create local Page Format is selected in the context sensitive menu to create a local page format.
The VI panel now uses a local page format independent of the page format set in the graphics board.
Set default Page Format is selected in the context sensitive menu to reset the local page format. The
VI panel now uses the default format of the graphics board again.
Editing Variables of Plots
The icon
is clicked to open the Edit Plots on Page dialogue for defining curves of several plots. If the
variables of only one subplot are to be changed, it is suggested to edit the dialogue of the plot itself by
double-clicking it. This procedure is more convenient.
This dialogue gives a very good overview over the diagrams on the VI panel and the variables, axis and
curve styles. Figure 17.5.1 shows an example of the dialogue.
286
Each line of the table named Curves defines a variable shown on the panel. The variables definition
applies to the plot shown in the first column. When the dialogue is opened the plots are sorted from left
to right and from top to bottom and are numbered accordingly.
All data and settings of each variable is displayed in the table, and the columns are used exactly like the
columns in the table of a plot. To move a variable from one plot to another, simply change the Plot Nr.
of the variable to move.
In this table not only subplots (VisPlot) are shown but also plots with two y-axis (VisPlot2) can be
modified. Here additionally in the column y the y-axis can be defined to which the variable is related.
In Figure 17.5.1 this can be seen in the to last rows of the table. Here both variables are shown in one
plot number 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 filter dialogue. The selected filter 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.
icon in the toolbar is clicked to show or hide the title block. The
Like in the single line graphics the
title can be defined or changed by double-clicking on them or use the icon
to modify the title text.
For details about the settings of the title object refer to Chapter 9: Network Graphics.
Results
Some VIs like the most frequently used class subplot" show curves stored in one ore more 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
287
icon.
2. If 1. is empty the Results reference on the Results page of the Graphics Board will be used by
pressing the
icon.
3. If both (1. and 2.) are not empty, the results element used for the last calculation will be applied.
If there is no calculation the appropriate results element in the study case will be used (if any).
Background
The default background of virtual instrument panels is empty. The background settings for the panel
can be found in the frame Background on the Advanced" page of the virtual instrument panel dialogue.
The Filename defines the background file, which can be either a Windows Metafile (*.wmf), a Bitmap
(*.bmp) or a AutoCad DXF file. If the selected file does not exist, or if the filename is not set the
background remains empty. VIs can be transparent or opaque. Graphics are transparent must be
activated to make all graphics transparent. If an opaque graphic fills the complete panel area the
background will be invisible.
The Context Sensitive Menu
The options in the context sensitive menu of the VI panel may vary depending on the 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 is selected to mark all VIs.
Export Results. . . exports the shown result into e.g. the output window, a ASCII file, a Comtrade
file or the clipboard.
Creating Virtual Instruments
icon . A small dialogue will pop up, where
New VIs can easily be created with the Append New VI(s)
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 defined. There are six predefined styles available in DIgSILENT PowerFactory , which are:
288
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.
icon and selecting
A new subplot is created on the current Virtual Instrument panel by pressing the
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.
289
290
291
The following list describes how to edit the definition of the different x-axes:
To edit the graphics board definition, 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 xaxis definition for the complete graphics board can be then accessed via the Used Axis selection.
Another way to modify the graphics board definition is to click the
icon for the graphics board
dialogue and then go to the x-Axis page.
Similar to the graphics board definition, to edit the virtual instrument panel specific 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 definition 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 definition 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.
292
The option User defined 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 specific 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 synchronised across virtual instruments like the x-axis can be, because
they all show different parameter values and thus need parameter-specific 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 definitions 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.
293
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
294
Each line in the Curves table is used to define a variable to plot and the visual representation of the
curve.
The first column states the result object from which the data to plot the curve will be read. If it is
empty, the standard result file will be used, as defined in the reference to Shown Results in the
same dialogue.
The second column states the power system element (here the generator G1d"), which is selected from the available elements in the result object.
The third column states the actual variable for the curve (here xspeed"), selected from the
variables in the result object, belonging to the selected element.
The next columns specify the style of the individual curve.
With the last two columns the user can 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 field or right-click the field 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 rightclick the cell and select Edit.
To create a new curve definition 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
definition 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 defined 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
295
To easily specify more than one curve for the same result file 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
definition 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.
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 first row.
Some plot types (e.g. VisPlot) have the option to define a User Defined 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
icon and select a
A plot with two y-axes can be seen in Figure 17.5.9. To create this plot, press the
Subplot(2y)(VisPlot2) from the pull down list. This will add a subplot with two y-axes to the current VI
panel.
296
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.
On the variables page the variables for the x- and y-axis are specified. Both variables have to be stored
in one result file of a simulation. To select variables of two different elements the option Show x-Element
in Table has to be activated. The options and the tools for the curves are similar to the ones described
in section 17.5.2 (The Subplot).
DIgSILENT PowerFactory 15, User Manual
297
17.5.3
Calculated Results
Some plot types, such as the VisPlot, have the option to define a User Defined Signal. The User
Defined 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 define a new Calculated Result, first 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 define at least one
curve from the results stored in the result object. Once at least one curve is assigned in the VisPlot, the
User Defined Signals dialogue should become visible as shown in Figure 17.5.11.
298
Click on New to create a new calculated result. An example of the calculated result object dialogue is
depicted in Figure 17.5.12.
299
17.5.4
A vector diagram is used to visualise complex values such as voltages, currents and apparent power as
vectors. A complex variable can be defined 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 predefined vector diagrams for calculation results. The predefined 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 predefined variable, i.e. Voltage/Currents
The example in Figure 17.5.13 shows the voltage and current at one terminal of a line.
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-flow
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 predefined 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
element.
Set Origin to set the origin of the diagram to the position selected with a mouse-click.
Centre 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 defined using minimum and maximum for each scale because the x- and the y-ratio
must be equal. The ratio for each unit is therefore set as the parameter units per axis tick. In addition
the location of the origin can be defined.
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"
defines the unit and the column Scale" defines 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 calculation is ready. Turn off Auto Scale" to keep the defined 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
301
17.5.5
Background
The Voltage Profile Plot VisPath shows the voltage profile of a radial network based on the networks
load-flow results. The Voltage Profile Plot is directly connected to a feeder object defined in the network,
so it can only be created for parts of the system where a feeder is assigned.
The Voltage Profile Plot requires a successful load-flow calculation before it can display any results and
hence it can not be created if there is no load-flow calculated. The easiest way to create a voltage
profile plot is to define the plot directly from the single line graphic.
302
303
The Parallel Branches option is required because the voltage profile plot only shows a single connection
line between nodes, regardless of how many parallel branches connect the two nodes. If there is a
situation where one of these parallel lines is below the Lower Limit and another is above the Upper
Limit, then the parallel branches option determines whether the single line in the voltage profile plot is
either the line with the maximum loading or the line with the minimum loading. Typically, most users are
concerned with the maximum loading, so the default of Show Maximum will be fine in the majority of
cases.
Changing the busbar names colour
The colour of the busbar (terminal) names on the voltage profile plot can be altered according to the
user preference. To change the colour setting follow these steps:
1. Double left-click on a blank area of the plot to open the voltage profile 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 Profile Plot
To access the context sensitive menu, right-click on the plot or on the profile. The context sensitive
menu shows additional functions regarding the voltage profile 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 Visualisation
In addition to the voltage profile, 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 profile plot detailed in Section 17.5.5.
DIgSILENT PowerFactory 15, User Manual
305
17.5.7
The waveform plot VisHrm is used to display the voltage or current waveform after a harmonics loadflow 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:
() =
() cos(2( () + ())
(17.1)
=1
306
()
()
()
Index of frequency
Number of frequencies
Time
Frequency at index i
Magnitude at frequency i
Angle at frequency i
If a successful harmonic load-flow calculation with the option All Frequencies is performed, the waveform plot will show the results of any distorted or pure sinusoidal variable, e.g. voltages or currents, from
any element in the network. The waveform plot can be created even if there is no load-flow calculated.
icon and select a Waveform Plot(VisHrm)
To create a waveform plot on the current VI panel, press the
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 definition of variables is slightly different. The variable
definition 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 defined.
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 defined, the parameter is not obligatory.
Figure 17.5.17 shows an example for defining a variable in the 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 specific settings unique to the waveform plot, these include the step size and time range. The
step size and time range are specified 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).
307
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-flow. To
guarantee that this criteria is always fulfilled, independent of the harmonics calculation, the Step Size
is entered in Number of Samples in Highest Frequency. The Highest Frequency and the resulting Step
Size are shown 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 is used for measuring printed curves. The original curves must be available
in windows metafile (*.wmf) or in bitmap (*.bmp) format. The graphics file is displayed as a background
in a curve input plot. This plot then allows for defining 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 synchronisation 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
of the graphics window.
panel is created with the new command in the file menu or the new icon
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 file which is to be measured. Only windows metafile
(*.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 file.
308
309
17.5.9
Some dialogues contain embedded graphic windows to visualise 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.
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 graphic 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 graphic. 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
311
17.5.10
Different kinds of plots are used to display calculation results or device data. There are numerous tools
which help the user interpret and analyse 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
graphics 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. Doubleclick 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.
312
313
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 defined locally per label or defined for all diagrams of the same type in the
activated project. The format-label dialogue is shown in Figure 17.5.22.
314
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 defined
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
influencing other labels in the same plot or in the active project. The Create Local Format" button
is replaced by the Set Default Format" when a local format is defined.
Set Default Format
Removes the local format. The format used is the one used for all plots of the same type in the
active project. The Set Default Format" button is replaced by the Create Local Format" when
the local format 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
315
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 specified in the dialogue.
There are different options and styles for the constant label:
Name defines 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 intersections with the curves of the plot.
Short Line Only (Left/Right indicates the constant value at the bottom/top respectively at the
right/left side of the plot.
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.
316
317
The Curve Filter specifies the type of filter applied to the data read from the result object. This object
is a filter applied to curves in plots. There are different filter types available. The following filter settings
are available. (N=number of points in the original curve, K=number of points in the filtered curve)
Disabled No filtering will be performed. K=N.
Average The filtered curve is the running average of the last n points. The first n-1 points are omitted.
K=N-n+1.
Balanced Average The filtered curve is the running average of the last (n-1)/2 points, the current point
and the next (n-1)/2 points. This filter thus looks ahead of time. The first and last (n-1)/2 values
are omitted, n must be an odd number. K=N-n+1.
Purge Points by averaging The filtered curve contains the averages of each block of n values. K=N/n.
This filter may be used to speed up the display of large curves.
Purge Points The filtered curve only contains every n-th value. All other values are omitted. K=N/n.
This filter may be used to speed up the display of large curves.
Note: A curve filter can only be applied at the end of the simulation or measurement, points added
during a simulation or measurement are not filtered. The option Filter... is not available in all plots.
Border
Off
Simple
3D
3D with label
The border with 3-dimensional effect and label will insert an additional label on the bottom of the
selected plot. This label can now be defined by double-clicking on it. Furthermore the text style can be
altered by choosing the option Select Font for Border.
Export of Curve Graphic
318
This function will export the data from the displayed curve with the given time range as ASCII text to the
following programs/files:
Output Window
Windows Clipboard
Measurement File (ElmFile)
ComTrade
Textfile
In this dialogue the individual step size can be set, the columns of the result file and the header for the
export as can be seen from Figure 17.5.25.
319
Various VI Tools
Grid This option in the context sensitive menu displays a dialogue to turn on/off the available grid lines.
For both x- and y-axis a main grid and a help grid can be displayed in the plots. Furthermore depending on the type of plot - the representation of the different ticks on the axes can also be
specified.
Autoscale X, Autoscale Y Changes the autoscale settings of the plot. Off turns off the auto-scale
mode. On performs an auto-scale at the end of the simulation or calculation. Online is available in
simulation plots only and tests the plot limits after each new simulation point.These settings can
also be defined in the edit" dialogue of the x- and y-axes.
x-Scale(s), y-Scale(s) There are two options in the x-scale or y-scale entry. Edit displays a dialogue to
modify the scale settings like minimum, maximum and other settings. Scale Automatic calculates
the minimum and maximum of the curve and adapts the scale limits.These settings can also be
defined in the edit" dialogue of the x- and y-axes or by double-clicking on the corresponding axis.
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 x320
17.5.11
User-Defined Styles
Each VI panel, each virtual instrument and every single plot uses a style where line-widths, fonts,
brushes and other graphical settings are defined. These objects normally use predefined styles. In
PowerFactory there are six predefined styles available:
Default - Standard English Text and Symbols
Gr Default - Greek Symbols
Tr Default - Turkish Symbols
Paper
Gr Paper
Tr Paper
These styles can be modified for all VIs or only for single plots. For this user-defined styles can easily
be created and specified. The base for an user defined style is always the previous default style.
There are several ways to select a predefined or user-defined style or change between the available
styles.
The easiest way is using the list-box in the toolbar by clicking and selecting one of the available
styles.
A style can be selected from the Style Select Style . . . in the context sensitive menu of the
VI.
A style is selected in the VI-Style list-box on the Advanced page of the VI Panel dialogue.
The user-defined styles are stored in the settings folder element of the active project. Therefore each
project has its own Settings Styles ... path and user defined styles. Only the changed elements are
stored in the project, the unchanged ones are the ones predefined in the default style.
The settings folder elements can be seen in the database in Figure 17.5.26.
Defining 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 predefined styles and is automatically selected for the current VI panel. The created style
is not set automatically in other VI panels of the project.
DIgSILENT PowerFactory 15, User Manual
321
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 define
the different font styles for the various entries of the block by clicking on the buttons
the height and the width of the columns of the title block (see Section 9.7.3: Graphic Options)
the line width of the title block and of the page frame
Defining Styles for the Virtual Instruments
There is the possibility to define the x- and y-axis of the plots inside on one page. These settings then
are valid every plot on panels using this style.
To change the styles, right-click on a virtual instrument on the panel and select the option Style Edit
Style in the context menu. Then a dialogue will pop up containing the 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 figures 17.5.28, the dialogue of the
selected axis will be opened and can then be modified.
322
In the dialogue the following settings of the axes can be specified for the selected style:
Axis Here the style and width of the axis itself can be changed. Also the number of small ticks shown
between the divisions can be chosen.
Text The number of characters and the digits behind the decimal point as well as the font type and size
can be specified.
Distance between Axis and Text
Arrow The representation can be altered between the normal style and a style with an arrow at the end
of the axis with a certain width and length of its tip.
Defining Styles for Single Plots In addition to the axes the presentation of the plot itself can be
chosen by the user. These settings can be accessed through the dialogue shown in 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
323
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 colour of the main grid and the help grid.
Legend Edit the distances from the legend to axis and between the different legends.
Margins Set spaces between the diagram and the surroundings.
Saving Predefined Styles for Plots
If the settings of the x- and y-axis, of the plot itself as well as the size of a particular plot shall be saved
and then reused for further plots, there is the option Style Save as predefined VI from the context
menu of every plot or VI.
This option saves the setting of the plot and stores a new VI in the list of all VIs. Hence if adding a plot
the newly created VI can now be selected from the list by pressing the
icon and selecting the e.g.
NewName(VisPlot) from the pull down list or by using the option Create VI . . . from the context menu
of theSetVipage to add new virtual instruments to the VI panel. The new empty subplots appear with
new defined settings.
324
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 itself
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 sections explain each of the data management functions in more detail:
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 first explains what a version
is and when it can be used. Next the procedure for creating a version is explained. Specific procedures
related to versions such as rolling back to a version, checking if a version is the basis for a derived
project and deleting a version are then explained.
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
development 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 original project (at the moment of version creation), which is stored inside a Version (IntVersion, ).
Versions 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 0, the project SIN is created. After a
time, 1, when the owner has made several changes they decide to make a copy of the project in its
DIgSILENT PowerFactory 15, User Manual
325
18.2.2
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 from the main PowerFactory menu. The dialog for the new version appears as shown in
Figure 18.2.1.
3. Set the desired options (explained in the next section) and press OK. PowerFactory automatically
creates and stores the version in the Versions folder (which is automatically created if it does not
yet exist).
326
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 the 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 dialog of most grid and library
objects.
18.2.3
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, . If a Rollback to
DIgSILENT PowerFactory 15, User Manual
327
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 when the confirmation message appears.
Note that a Rollback is not allowed (and therefore 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
The following steps should be followed to check if a version is the base for a derived project:
1. Activate the project.
2. Go to the Versions folder inside the project.
3. Right-click on the Version that should be checked. This should be done via 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 PowerFactory s output window.
328
18.2.5
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 should be deleted.
4. Select the option Delete.
18.3
Derived Projects
This section explains the concept of a derived project. For background information regarding the use of
derived projects, please see sub-section 18.3.1. In addition, sub-section 18.3.2 describes the procedure
for creating a derived project.
18.3.1
As is often the case, several users might wish to work on the same project. To avoid large amounts of
data duplication that would be required to create a project copy for each user, DIgSILENT has developed
a virtual copy approach called derived projects. From the users point of view, a derived project is like
a normal copy of a project version. However, only the differences between the original project version
(the base project) and the virtual copy (the 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 over time by the use of 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.
In a single-user database, the data administrator must export the base project. The user of the derived
project must always have this project imported. However, different users of the same base project can
exchange their derived project. Therefore the derived project should not be exported with option Export
derived project as regular project enabled. See Section 8.1.5 for further details.
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.
329
At any stage, the data administrator might create a version of a base project which 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.
In the Data Manager, a derived project looks like a normal project. The Derived Project page of its
dialog has a reference where the user can see the base project and the version used to derive the
project.
Users are notified of changes in the base project if: there is a new version of the base project (newer
than the currently-used version) which has the option Notify users of derived projects enabled (the
user/administrator enables this option when creating a new version), and the option Disable notification
at activation disabled (found on the Derived Project page of the project dialog).
The user may update a derived project when they next activate it, provided that the conditions stated
above are met. The newest version that can be used to update a derived project is referred to (if
available) in the Most recent Version field of the dialog. 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.
330
Figure 18.3.4: Merging the new version of the base project into derived projects
18.3.2
331
18.4
This section describes the procedure for comparing and merging projects within the PowerFactory
database. There are many circumstances whereby it may be desirable and/or necessary to merge
data from multiple projects. For example, when the data administrator updates a master project that is
the base project for a derived project that a user is working with. The Compare and Merge Tool (CMT)
can be used to update the users project with the data changes, yet also allows the user control over
which changes are implemented.
This section is separated into six sub-sections. Firstly, the background of the CMT is presented. The following sub-section explains the procedure needed for merging together or comparing two projects. Subsection 18.4.3 explains the procedure for merging or comparing three projects. In sub-section 18.4.4,
the advanced options of the CMT are explained. The CMT uses a diff browser for showing the
differences and conflicts between compared projects and also for allowing data assignments. This
is explained in sub-section 18.4.5.
18.4.1
When working collaboratively in a multi-user environment, a data administrator might often need to
update the master project to create a version based on updates completed by one or more users to
projects derived from the master project. The Compare and Merge Tool (CMT) is used for this purpose.
This tool can be used for project comparison in addition to the merging of project data. It is capable of
a two-way comparison between two projects and also a three-way comparison for three projects.
Internally, PowerFactory refers to each of the compared projects according to the following nomenclature:
<Base> Project - the base project for comparison.
<1st> - the first project to compare to the <Base> project.
<2nd> - the second project to compare to the <Base> project and to the <1st> project (threeway comparison only).
The CMT 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 three projects together, the target is either the <1st> or <2nd> project.
18.4.2
How to Merge or Compare Two Projects Using the Compare and Merge
Tool
This section describes the procedure for merging together or comparing two projects using the Compare
and Merge Tool (CMT). Note that the comparison is completed using a similar procedure but with slight
differences that will also be explained here.
332
333
18.4.3
How to Merge or Compare Three Projects Using the Compare and Merge
Tool
This section describes the procedure for merging or comparing three projects using the Compare and
Merge Tool (CMT). The comparison procedure is completed using a similar method to that used for a
two-way merge or compare, but with minor 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
dialog will appear as shown in Figure 18.4.2. The <Base>, the <1st> and the <2nd> project are
listed in the Compare section of the dialog.
Figure 18.4.2: Compare and Merge Tool options dialog for a three-way merge
4. Select one of the options Compare only, Manually or Automatically. The differences between
these three choices are:
Compare only : If only two projects should be compared and no merge is required, 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, the user will be asked to make assignments (to
choose the source project data for common objects that are merged together). Using this
option, the target project can also be selected. For a three-way merge, merging cannot
be done into the <Base>, meaning that either the <1st> or the <2nd> project must be
selected.
Automatically : When this option is selected, PowerFactory will attempt to merge the three
projects together, via automatic data assignments. As for the option Manually, the target
can be either the <1st> or <2nd> project. Note that if conflicts are detected during an
automatic merge, the CMT will automatically switch to manual mode.
5. If using options Manually or Automatically, the assignment priority must also be selected, by
choosing an option from the Assign drop-down menu. This defines the default assignment in
the CMT diff browser (or automatic merge) when PowerFactory identifies conflicts. For example,
say the CMT identifies that the load 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 favour 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 (provided that the user did not manually alter the assignment).
334
18.4.4
The Advanced Options page of the CMT shown is shown Figure 18.4.3.
335
18.4.5
After the CMT options have been set, press the Execute button to start the CMT comparison. The
comparison and assignment results are then 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:
Data Tree window on the left;
Comparison and Assignment window on the right; and
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
Output Window
The output window displays reports from the context-sensitive (right-click) menu, and other error information.
How to use the Comparison and Assignment window
In the CMT Comparison and Assignment Window, a list of the compared objects is shown. The
window appears slightly different depending on whether a two-way merge, a three-way merge or a
comparison has been performed. For instance, after a comparison, the Assigned from and Assignment
Conflict columns are not shown. After a two-way merge, the columns with the project names will show
<Base> and <1st> (or user-defined names), whereas after a three-way merge they will show <1st>
and <2nd>. A comparison result symbol, indicating the differences found for each object from the list,
is displayed in the columns <Base> and <1st> after a two-way merge and in columns <1st> and
<2nd> after a three-way merge. The possible combinations of these symbols are shown and explained
in Tables 18.4.1 and 18.4.2.
336
1st
Comment
The object has been removed from the <1st> project
The object has been added to the <1st> project
A parameter of the object has been modified in the <1st> project
The object is identical in both projects
1st
Comment
Objects are identical in all projects
A parameter of the object is modified in the
<2nd> project
A parameter of the object is modified in the
<1st> project
A new object in the <2nd> project
A new object in the <1st> project
Object removed from the <2nd> project
Object removed from the <1st> project
Modified in both projects but the same
modifications in both
Modified in both projects but the modifications are different
Modified in the <1st> project and removed from the <2nd> project
Modified in the <2nd> project and removed from the <1st> project
Identical object added to both projects
Object added to both projects but parameters are different
Object removed from both projects
For a project merge (i.e. the Merge option was enabled in the command dialog), the Assigned from
must define the source project of the changes to implement in the target project. All listed objects must
have an Assignment. If a certain change should not be implemented in the target; then the target
project must be selected as the source.
Special attention should be paid to all results indicated by the conflict symbol
. This symbol shows
that the objects are different in both compared projects or that another error has occurred. In the case
of conflicts, the user must always indicate 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
the user wishes 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.
Following 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
DIgSILENT PowerFactory 15, User Manual
337
Mixed/<Base>/<1st>/<2nd>
Meaning
Assignments/comparison is okay
Conflicts exist
The text indicates the assignments
within by indicating the assigned
project. If assignments within are from
multiple different sources, then Mixed
will be shown.
Assignments missing
Three-way merge - information will be
lost during the merge
Two-way merge - information could be
lost during the merge
Modifications to be shown The Modifications to be shown drop-down menu allows the results
in the comparison windows to be filtered according to their comparison status. Possible filter
options for a three-way comparison are:
All objects
All modifications (default)
All modifications in <1st> (show all modifications, additions and deletions in the <1st> project)
All modifications in <2nd> (show all modifications, additions and deletions in the <2nd> project)
All modifications in both (show only those objects which exist in both projects and have been
modified in both projects)
All modifications in both but different (show only those objects which exist in both projects and
have been modified in both projects to different values)
Added in <1st> (show only objects added to the <1st> project)
Modified in <1st> (show only objects modified in the <1st> project)
338
339
Figure 18.4.6: Compare and Merge Tool Diff window with buttons highlighted
Check This button checks that all assignments are okay. The following conflicts are checked for
all compared objects:
Missing assignment;
Missing parent (parent object of an assigned object will not exist in the target after merge.)
340
18.5
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 provides tips for working with the CMT.
18.5.1
When a derived project is activated after a new version of the Base project has been created (provided
that the flag Notify users of derived projects was checked when the version was created and that the
derived project option Disable notification at activation is unchecked), then the user will be presented
with the dialog shown in Figure 18.5.1.
341
If the Cancel button is used, the project is activated as it was left in the previous session. The notification
will appear following the next activation.
An alternative way to manually initiate the above procedure is to right-click on the derived project and
select the option Merge from base project. This feature is only possible with deactivated projects.
18.5.2
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 rightclicking on the derived project. As in previous cases, the CMT is started and conflicts can be manually
resolved using the diff browser.
18.5.3
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. This kind of task is often
342
18.6
Sharing Projects
In PowerFactory , any project can be shared with other users according to the rules defined by its owner.
Projects are shared with groups of users and not directly with 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, which allows users full control over all objects within the project.
Full access, which 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:
1. Open the project dialog by right-clicking on the project name and selecting the option Edit.
2. Select the Sharing page;
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 in 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.
DIgSILENT PowerFactory 15, User Manual
343
For information regarding user 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 which are still
important for possible future use can be archived.
Archiving describes the process of automatically exporting and deleting projects from the database and
storing them in a restorable way in the file system. The actual workload is shifted to the housekeeping
job which can be run overnight, where export and delete operations do not interfere with the users.
Archiving can either be done by the user selecting a project for archiving, or by using DPL scripts.
In multi-user database environments, the user can easily send projects to the archive folder via the
context-sensitive (right-click) menu for each project, and selecting Archive". The archived projects
are exported from the database and are placed in a separate folder (Archived Projects") for long-term
storage. The user thereby increases 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 to the exact location from which they originated.
Projects can be restored into the active database by executing the Restore" command in the contextsensitive (right-click) menu of each project.
For more information on this topic, see Chapter 5 Program Administration, section 5.5: Housekeeping.
344
Chapter 19
Scripting
19.1
The DIgSILENT Programming Language DPL serves the purpose of offering an interface for automating
tasks in the PowerFactory program. The DPL method distinguishes itself from the command batch
method in several aspects:
DPL offers decision and flow commands
DPL offers the definition and use of user-defined variables
DPL has a flexible interface for input-output and for accessing objects
DPL offers mathematical expressions
The DPL adds a new dimension to the DIgSILENT PowerFactory program by allowing the creation of
new calculation functions. Such user-defined calculation commands can be used in all areas of power
system analysis, such as
Network optimising
Cable-sizing
Protection coordination
Stability analysis
Parametric sweep analysis
Contingency analysis
etc.
Such new calculation functions are written as program scripts which may use
Flow commands like if-then-else" and do-while"
PowerFactory commands (i.e. load-flow or short-circuit commands)
Input and output routines
Mathematical expressions
PowerFactory object procedure calls
Subroutine calls
DIgSILENT PowerFactory 15, User Manual
345
19.1.1
The DPL command ComDpl is the central element, which is connecting different parameter, variables
or objects to various functions or internal elements and then puts out results or changes parameters.
As the input to the script can be predefined input parameters, single objects from the single line
diagram or the database or a set of objects/elements, which are then stored inside a so called General
Selection".
These input information can then be evaluated using functions and internal variables inside the script.
Also internal objects can be used and executed, like
a calculation command, i.e. ComLdf, ComSim, etc., especially defined with certain calculation
options
subscripts also released in DPL
filter sets, which can be executed during the operation of the script
Thus the DPL script will run a series of operation and start calculation or other function inside the script.
It will always communicate with the database and will store changed settings, parameters or results
directly in the database objects. There is nearly no object inside the active project, which can not be
accessed or altered.
During or at the end of the execution of the DPL script, the results can be output or parameters of
elements my be changed. There is the possibility to execute a predefined output command ComSh or
to define own outputs with the DPL commands available.
19.1.2
346
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.1.2.1
A DPL Command ComDpl can be created by using the New Object ( ) icon in the toolbar of the data
manager and selecting DPL Command and more. Then press OK and a new DPL command is created.
The dialogue is now shown and the parameters, objects and the script can now be specified.
This dialogue is also opened by double-clicking a DPL script, by selecting Edit from the context sensitive
menu or by selecting the script from the list when pressing the icon .
19.1.2.2
The DPL command holds a reference to a selection of objects (General Selection). At first this general
selection is empty, but there are several ways to define a special set of object used in the DPL command.
This DPL Commands Set" (SetSelect) can be specified through:
Select one or more elements in the single line diagram. Then right-click the selection (one of the
selected elements) and choose the option Define. . . DPL Commands Set. . . from the context
sensitive menu.
347
19.1.2.3
The easiest way to start a DPL command AND define a selection for it is
To select one or more elements in the single line diagram or in the data manager and then rightclick the selection.
Choose the option Execute DPL Scripts from the context sensitive menu.
Then select a DPL script from the list. This list will show DPL scripts from the global as well as
from the local library.
Select a DPL script, insert/change the variables and then press the button Execute
In this way the selection is combined into a DPL Commands Set and the set is automatically selected
for the script chosen.
Only one single DPL command set is valid at a time for all DPL scripts. This means that setting the DPL
command set in one DPL command dialogue, will change the DPL command set for all DPL commands
in the database.
Note: To choose different sets for various DPL scripts you can either use different selection object
SetSelect like the General Set". Or new DPL command sets can be created and selected
inside the active study case. This is done by pressing
, selecting other" and the element
Set (SetSelect) and then selecting the set type.
The interface section Input Parameters is used to define variables that are accessible from outside the
DPL command itself. DPL commands that call other DPL commands as subroutines, may use and
change the values of the interface variables of these DPL subroutines.
The list of External Objects is used to execute the DPL command for specific objects. A DPL command
that, for example, searches the set of lines for which a short-circuit causes too deep a voltage dip at a
specific busbar, would access that specific busbar as an external object. Performing the same command
for another busbar would then only require setting the external object to the other busbar.
19.1.2.4
On the Advanced Options page a Remote script can be selected, which is then used by this script
instead of a local defined script on the next page Script. This is a so called referring command". The
root command" as described above in the example uses the local defined script.
Also there can be Result parameters defined. These parameters are results from the script and they
are stored inside the result object. Hence it is possible to access them through the variable monitor and
display them in a plot.
19.1.2.5
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.
348
19.1.3
There is also an own editor available for conveniently writing a DPL script. To activate this editor press
on the bottom side of the Script page of a DPL command dialogue.
the icon
Now a new window will be opened in PowerFactory. Here the script can be written in a very convenient
way similar to the programming language C++. The highlighting will be activated automatically.
There are several tools which can be used in this editor:
With this icon Edit Object the edit dialogue of the script is opened and the user can Check the
modified script for errors or one can Execute it.
The script inside the editor and in the dialogue are synchronized each time the script is saved or
edited in the dialogue. If this Disconnect icon is pressed, the scripts will not be synchronised
anymore.
With the search icon the user can activate a Find, a Replace or also a Go To function inside the
editor.
With the search next icon find/replace/go to the next matching word.
With the search previous icon find/replace/go to the previous matching word.
With the these icons bookmarks can be set in the editor. Also jump from one bookmark to the next
or previous as well as clear all bookmarks
icon and the script will be synchronized with the main dialogue.
When finished editing, press the
One can also jump to the main graphics board by selecting the option Window Graphic. . . from the
main menu.
19.1.4
The DPL script language uses a syntax quite similar to the C++ programming language. This type of
language is intuitive, easy to read, and easy to learn. The basic command set has been kept as small
as possible.
The syntax can be divided into the following parts:
variable definitions
assignments and expressions
program flow instructions
method calls
The statements in a DPL script are separated by semicolons. Statements are grouped together by
braces. Example:
statement1;
statement2;
DIgSILENT PowerFactory 15, User Manual
349
19.1.4.1
Variable Definitions
19.1.4.2
Constant parameters
DPL uses constant parameters which cannot be changed. It is therefore not accepted to assign a value
to these variables. Doing so will lead to an error message.
The following constants variables are defined in the DPL syntax:
SEL is the general DPL selection
NULL is the null" object
this is the DPL command itself
Besides these global constants, all internal and external objects are constant too.
350
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();
y = sin(x);
x += y;
y -= x;
19.1.4.4
!
!
!
!
x
y
x
y
now
now
now
now
equals
equals
equals
equals
1.5708
1.0
2.5708
-1.5708
Standard Functions
description
sine
cosine
tangent
arcsine
arccosine
arctangent
hyperbolic sine
hyperbolic cosine
hyperbolic tangent
exponential value
natural logarithm
log10
square root
power of 2
power of y
absolute value
smaller value
larger value
remainder of x/y
integral part
fractional part
closest integer
smallest larger integer
largest smaller integer
example
sin(1.2)=0.93203
cos(1.2)=0.36236
tan(1.2)=2.57215
asin(0.93203)=1.2
acos(0.36236)=1.2
atan(2.57215)=1.2
sinh(1.5708)=2.3013
cosh(1.5708)=2.5092
tanh(0.7616)=1.0000
exp(1.0)=2.718281
ln(2.718281)=1.0
log(100)=2
sqrt(9.5)=3.0822
sqr(3.0822)=9.5
pow(2.5, 3.4)=22.5422
abs(-2.34)=2.34
min(6.4, 1.5)=1.5
max(6.4, 1.5)=6.4
modulo(15.6,3.4)=2
trunc(-4.58823)=-4.0000
frac(-4.58823)=-0.58823
round(1.65)=2.000
ceil(1.15)=2.000
floor(1.78)=1.000
351
pi
2 pi
e
19.1.4.5
in which
[boolexpr] = expression [boolcomp] expression
[boolcomp] = "<" | ">" | "=" | ">=" | ">=" | "<>"
[statlist] = statement; | { statement; [statlist] }
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;
352
19.1.4.6
353
19.1.5
With the syntax for the parameter definitions, program flow and the input and output, it is already
possible to create a small program. However, such a script would not be able to use or manipulate
variables of external" objects. It would not be possible, for instance, to write a script that replaces a
specific line by possibly better alternatives, in order to select the best line type. Such a script must be
able to access specific objects (the specific line) and specific sets of objects (the set of alternative line
types).
The DPL language has several methods with which the database objects and their parameters become
available in the DPL script:
The most direct method is to create an object, or a reference to an object, in the DPL command
folder itself. Such an object is directly available as object" variable in the script. The variable
name is the name of the object in the database.
The DPL command set may be used. This method is only useful when the order in which the
objects are accessed is not important. The DPL command set is automatically filled when a
selection of elements is right-clicked in either the single line graphic or the data manager and the
option Execute DPL Script is selected.
The list of external objects is mainly used when a script should be executed for specific objects or
selections. The list of external objects is nothing more than a list of aliases". The external object
list is used to select specific objects for each alias, prior to the execution of the script.
354
If a database object is known to the DPL command, then all its methods may be called, and all its
variables are available. For example, if we want to change a load-flow command in order to force an
asymmetrical load-flow calculation, we may alter the parameter iopt_net". This is done by using an
assignment:
Ldf:iopt_net = 1; !
force unbalanced
In this example, the load-flow objects is known as the objects variable Ldf". The general syntax for a
parameter of a database object is
objectname:parametername
In the same way, it is possible to get a value from a database object, for instance a result from the
load-flow calculations. One of such a result is the loading of a line object, which is stored in the variable
c:loading". The following example performs the unbalanced load-flow and reports the line loading.
Example
00.
01.
02.
03.
04.
05.
06.
07.
08.
09.
int error;
double loading;
Ldf:iopt_net = 1; ! force unbalanced
error = Ldf.Execute(); ! execute load-flow
if (error) {
exit();
} else {
loading = Line:c:loading; ! get line loading
output('loading=loading'); ! report line loading
}
This examples is very primitive but it shows the basic methods for accessing database objects and their
parameters.
19.1.6
Locally stored objects (also called internal objects") can be accessed directly. They are known in the
DPL script under their own name, which therefore must be a valid DPL variable name. It will not be
possible to access an internal object which name is My Load-flow\{}1* ", for instance.
Internal objects may also be references to objects which are stored elsewhere. The DPL command
des not distinguish between internal objects and internal references to objects. An example is shown in
Figure 19.1.4, where a DPL script is shown on the left which has a load-flow command and a reference
to a line in its contents folder on the right.
The example DPL script may now access these objects directly, as the objects Ldf" and Line". In
DIgSILENT PowerFactory 15, User Manual
355
int error;
error = Ldf.Execute();
if (error) {
output('Load-flow command returns an error');
exit();
}
In line 01, a load-flow is calculated by calling the method Execute()" of the load-flow command.
The details of the load-flow command, such as the choice between a balanced single phase or an
unbalanced three phase load-flow calculation, is made by editing the object Ldf" in the database. Many
other objects in the database have methods which can be called from a DPL script. The DPL contents
are also used to include DPL scripts into other scripts and thus to create DPL subroutines".
19.1.7
Accessing database objects by storing them or a reference to them in the DPL command would create
a problem if many objects have to be accessed, for instance if the line with the highest loading is to be
found. It would be impractical to create a reference to each and every line.
A more elegant way would be to use the DPL global selection and fill it with all lines. The data manager
offers several ways in which to fill this object DPL Command Set with little effort. The selection may
then be used to access each line indirectly by a DPL object" variable. In this way, a loop is created
which is performing the search for the highest loading. This is shown in the following example.
Example
356
execute a load-flow
exit on error
initialise maximum
no lines:
!
!
exit
! update maximum
! update max loaded
line
!output results
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.1.8
The DPL contents make it possible to access external object in the DPL script. The special general
selection object (SEL") is used to give all DPL functions and their subroutines access to a central
selection of objects. i.e. the DPL Command Set.
Although flexible, this method would create problems if more than one specific object should be accessed in the script. By creating references to those objects in the DPL command itself, the DPL
command would become specific to the current calculation case. Gathering the objects in the general
selection would create the problem of selecting the correct object.
357
Example:
sagdepth = Bar1:u;
19.1.9
To understand the DPL philosophy and the resulting hierarchical structure of DPL scripts, the following
is important to understand:
A DPL command either executes its own script or the script of another, remote, DPL command.
In the first case, the DPL command is called a root command" and the script is called a local
script". In the second case, the DPL command is called a referring" command and the script
is called a remote script".
A root command may define interface variables that are accessible from outside the script and
358
359
A DPL command may be included in the contents of another DPL command. In that case, the included
DPL subroutine" may be called in the script of the enclosing DPL command. In principle, this is not
different from calling, for example, a load-flow command from a DPL script.
As with most other commands, 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.1.6.
19.2. PYTHON
19.1.10
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-flow command, the line object, the asynchronous machine, etc.
Please see the Appendix E DPL Reference for a description of these functions including implementation
examples.
19.2
Python
This section describes the integration of the Python scripting language in PowerFactory and explains the
procedure for developing Python scripts. The Python scripting language can be used in PowerFactory
for:
Automation of tasks
Creation of user-defined calculation commands
Integration of PowerFactory into other applications
Some of Pythons notable features include:
General-purpose, high-level programming language
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 Office-like applications
Web services, etc.
The integration of Python into PowerFactory makes the above-mentioned features accessible to users
of PowerFactory . Python can be started with PowerFactory as follows:
1. Install a Python interpreter
2. Write Python scripts using the PowerFactory Python module powerfactory.pyd
3. Execute a Python script within PowerFactory using the Python command (ComPython)
DIgSILENT PowerFactory 15, User Manual
361
19.2.1
By default, no Python interpreter is installed with PowerFactory . A separate installation of the Python
interpreter is therefore required. The recommended Python versions are available in the PowerFactory
installation directory (e.g. C:\Program Files\DIgSILENT\PowerFactory 15.2\python). PowerFactory supports CPython 3.3 and 3.4. By default PowerFactory uses Python 3.4, but 3.3 can be selected via the
PowerFactory Configuration (see Figure 19.2.2).
The PowerFactory architecture (32- or 64-bit) determines the Python interpreter as shown below:
PowerFactory 32-bit requires a Python interpreter for 32-bit
PowerFactory 64-bit requires a Python interpreter for 64-bit
To check which PowerFactory architecture is installed, press Alt-H to open the Help menu and select
About PowerFactory. . . . If the name of PowerFactory includes (x86)", then a 32-bit version is installed;
if the name of PowerFactory instead 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 a corresponding Python add-on/package. For example,
Microsoft Excel can be used by Python scripts if the Python for Windows Extensions" PyWin32 (http:
//sourceforge.net/projects/pywin32/) package is installed, which includes Win32 API, COM
support and Pythonwin extensions.
19.2.2
The functionality of PowerFactory is provided in Python through a dynamic Python module (powerfactory.pyd") which interfaces with the PowerFactory API (Application Programming Interface). This
provides Python scripts with access to a comprehensive range of data in PowerFactory :
All objects
All attributes (element data, type data, results)
All commands (load flow 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 Python command ComPython (see Section 19.2.3), or externally (PowerFactory is started by
the Python module in engine mode) (see Section 19.2.4).
19.2.2.1
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 following command must be added:
app = powerfactory.GetApplication()
A Python object of class powerfactory.Application is called an application object. Using the application object from the command above(app"), it is possible to access global PowerFactory functionality.
Several examples are shown below:
362
19.2. PYTHON
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 object.
Unlike DPL syntax, Python syntax requires use of the dot (.) operator instead of the colon (:) in order to
access element parameters of objects (i.e. name, out of service flag, etc.). All other object parameters
(calculated, type, measured, . . . ) are to be called using the colon (:), as is done in DPL.
Examples:
project = app.GetActiveProject()
projectName = project.loc_name
project.Deactivate()
or:
lines = app.GetCalcRelevantObjects("*.ElmLne")
line = lines[0]
currLoading = line.GetAttribute("c:loading")
For printing to 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 to the PowerFactory output window makes them
selectable (i.e. creates a hyperlink 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 obtained using the dir() function
as shown below:
project = app.GetActiveProject()
app.PrintPlain(dir(project))
19.2.2.2
A detailed Python Module Reference document is available containing a list of supported functions.
19.2.3
In contrast to DPL, the Python command only links to a Python script file (as shown in Figure 19.2.1).
It stores only the file path of the script and not the file itself. For optimal operation, the script should be
located in the External Data directory.
363
The script may be executed by clicking on the Execute button of the corresponding dialog. Editing
the script file is possible by clicking the Open in External Editor button. The preferred editor may
be chosen in the External Applications tab of the PowerFactoryConfiguration dialog by selecting the
Tools Configuration. . . menu item from the main menu as shown in Figure 19.2.2. Python scripts
may be created in any text editor as long as the script file is saved using the UTF-8 character encoding
format. The Python version (3.3 or 3.4) can be selected in the PowerFactory Configuration dialog (Figure
19.2.2).
On the Basic Options tab of the Python command (ComPython), the user can define Input parameters
and External objects, as illustrated in Figure 19.2.3. The Input parameter table in the dialog is used as
in DPL to define variables that can be accessed from outside of the Python script. Input parameters
may be the following data types: double, int and string. All other fields (Name, Value, Unit, Description)
are user definable.
364
19.2. PYTHON
The External object table allows the direct configuration of objects under investigation. An external
object is an object external to the Python command that the user wants to access in the script. By
defining the External object here, the user avoids accessing it via Python methods inside the script
(thereby allowing the script to execute faster).
Important: To call an external object or input parameter in Python, the user has first to call the script
and can then access the object/parameter through ScriptObj.ExternObjName:
script=app.GetCurentScript() #to call the current script
extObj=script.NameOfExternObj #to call the external object
inpPar=script.NameOfInpPram #to call input parameter
The Advanced Options tab contains two sections: Remote script and Result parameter, as shown in
Figure 19.2.4. Remote script offers a selection of a remote script, which is used instead of the code
defined on the Script tab. A remote script can be advantageous in cases where the user has multiple
Study Cases using the same script code, but different input parameters. If the user was to use a remote
script, then modifying the master script will affect all the Python scripts that refer to it. If user had
locally-defined scripts, then they would need to change the code in each of them. Result parameters
represents results from the script and they are stored inside the specified result object.
365
The Python command 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 defined
by first clicking the New Object
icon in the toolbar of the Python script contents dialog and then
selecting the required object from the New Object pop-up window. References to other objects are
created by defining a reference object IntRef". Figure 20.11.6 shows a Python command and some
example contents.
19.2.3.1
To create a new Python command click on the New Object ( ) icon in the toolbar of the Data Manager
and select DPL Command and more as shown in Figure 20.11.20. From the Element drop-down list
select Python Script (ComPython). Then press OK and a new Python command will be created. The
Python command dialog is then displayed as shown in Figure 19.2.3. The name of the script, its input
parameters and the file path to the script, etc, can now be specified. The Python command dialog 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 after clicking on the main toolbar icon Execute Scripts ( ).
366
19.2. PYTHON
19.2.3.2
A Python command may be executed by clicking the Execute button in the dialog.
Alternative methods for executing a Python script include:
From the Data Manager:
Right-click on the Python command and select Execute Script from the context-sensitive
menu.
Right-click in a blank area and select Execute Script from the context-sensitive menu. A list
of existing DPL and Python scripts contained in the global and local libraries 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 select Execute Script from the context-sensitive menu. A list of existing DPL and Python
scripts contained in the global and local libraries 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 specific
Python script.
From the main toolbar:
Click the icon Execute Scripts
. A list of existing DPL and Python scripts from the global
and local libraries will appear. Select the specific Python script and click OK.
367
19.2.4
PowerFactory may be run externally by Python. In order to do this, the script must additionally import
the file 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 from the Python shell as shown in Figure 19.2.7
19.2.5
As with any other Python script, it is possible to remotely debug scripts written for PowerFactory by using
specialised applications.
19.2.5.1
Prerequisites
The recommended IDE for debugging is Eclipse (www.eclipse.org) with the Python add-on PyDev
(www.pydev.org).
368
19.2. PYTHON
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
19.2.5.2
The following is a short description of remote debugging with PyDev. For more information please consult 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:
#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()
19.2.6
The following example Python script calculates a load flow and prints a selection of results to the output
window. The 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..")
369
Please refer to the Python Reference (available in the Help menu) for a description of these functions
including examples.
370
Chapter 20
Interfaces
20.1
Introduction
PowerFactory supports a wide set of interfaces. Depending on the specific data exchange task the user
may select the appropriate interface.
The interfaces are divided as follows:
Interfaces for the exchange of data according to DIgSILENT specific formats:
DGS
StationWare (DIgSILENT GmbH trademark)
Interfaces for the exchange of data using proprietary formats:
PSS/E
NEPLAN
ELEKTRA
MATLAB
INTEGRAL
Interfaces for the exchange of data according to standardised formats:
UCTE-DEF
CIM
OPC
Interfaces for remote control of PowerFactory
API
The above mentioned interfaces are explained in the following sections.
20.2
DGS Interface
DGS (DIgSILENT ) is PowerFactory s standard bi-directional interface specifically 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
371
Although the complete set of data can be imported in PowerFactory every time a modification has been
made in the original application, this procedure would be impractical. The typical approach in such
situations would be to import the complete set of data only once and afterwards have incremental
updates.
20.2.1
20.2.2
PowerFactory s DGS interface is based on the PowerFactory data model. Data can be imported and
exported with DGS using different file formats and database schemas.
The following database schemas or file 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 files 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 organise all data in tables. Each table has a unique name (within
the DGS file or database/table space) and consists of one or more table columns, where generally all
names are case-sensitive.
For more detailed information on DGS and for some examples, please refer to the DGS Interface
document available on the DIgSILENT download area: http://www.digsilent.de/index.php/
downloads.html
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
dialog.
Specify the required options in both the General and Options pages, and click on the Execute
button.
When importing DGS files, 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
373
Options Page
Predefined Library A predefined 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 defined inside
the cubicles, the enabling of this option will create the switches automatically during the import.
If switches already exist in a certain cubicle, the creation of switches in that particular cubicle is
ignored.
Replace non-printable characters If the source data contains not allowed characters (, ?,
etc.), they are replaced by an underscore character.
Use foreign keys (available only with the option Import into Existing Project) Every object in
PowerFactory provides a parameter named Foreign Key" which can be used to identify the object
uniquely within its project. The parameter is a character field with a maximum of 20 characters
and can be found on the Description page of the various property sheets.
If the DGS import interface is used for updating an existing network model the Name" column
can be filled with the Foreign Key" of an existing object. The object will then be identified by
this Foreign Key" and the data defined in the DGS file will overwrite the objects parameters.
Parameters which are not included in the DGS file will remain unchanged.
Additional Parameters This field is specified for internal use only. No extra information is
required by the user.
For more information regarding DGS import options, please refer to the DGS Interface document available on the DIgSILENT download area: http://www.digsilent.de/index.php/downloads.
html
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
374
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
dialog.
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 file (for Excel or Access,
Microsoft Office must be installed on the computer) or as Oracle, MS SQL Server and ODBC
DSN databases (databases format available only for DGS Version 5.0).
Insert Description of Variables If checked, a description of the columns is included (only
available for ASCII, XML and MS Excel).
Variable Sets With this option, the data exported will be according to the variable definitions
specified (see the explanation at the beginning of the section) It is required to select a folder that
contains the monitor variable objects (IntMon) related to each class that is to be exported.
Options Page
Settings currently not relevant for DGS 5.0.
DIgSILENT PowerFactory 15, User Manual
375
20.3
Although both import and export functions for PSS/E files 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
PowerFactory is able to convert both steady-state data (for load-flow and short-circuit analysis) and
dynamic data files. It is good practise to first import the steady-state data (described in this section),
then to add the dynamic models (described in Section 20.3.2: Import of PSS/E file (Dynamic Data).
Before starting the next steps for importing a PSS/E file, please make sure that no project is active.
Once this has been confirmed, please select from the main menu File Import. . . PSS/E. By doing
so, the Convert PSS/E Files command dialog seen in Figure 20.3.1 will be displayed, asking the user
to specify various options.
General Settings Page
376
Convert only sequence data file With this option enabled, the converter will only add the
sequence data to an existing project.
DIgSILENT PowerFactory 15, User Manual
377
378
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 symbol as IEEE (default) or IEC representation.
Scaling factor The graphic files are scaled according to the scaling factor shown.
20.3.2
As explained in Section 20.3.1 it is good practise first to import the steady-state data and then to add
the dynamic model data.
Before converting dynamic data, it is recommended to copy the Standard Models library folder located
in the global library into the user directory. The Standard Models dynamic data library folder can be
found under Library\Standard Models. This folder has the structure as shown in Figure 20.3.4.
379
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,
automatic voltage regulators (AVRs), power system stabilisers (PSS), primary controllers (PCO)
and others. The models are constructed in DIgSILENT Simulation Language (DSL). The folders
also may contain user-defined models.
Composite Model Frames This folder contains the composite frames which are basically wired
diagrams.
An important condition for successful file conversion is that all DSL models used during the conversion
process should be stored in the same model library folder. By default, this is the case in the global
PowerFactory library. If the original library should use specific folders for the different types of controllers
(AVR,PCO,PSS, etc.), the user should copy all of the models into the same library folder. After the
conversion, the user may re-arrange the models.
The procedure to start the import of dynamic network data is very similar to the import of steady-state
data. Some parameter adjustments have to be made.
General Settings Tab Page - Dynamic Model Import
In the dialog of General Settings in Figure 20.3.1 the following topics have to be specified:
Dyn. Models Data Location of the PSS/E Dynamic Models data file. By default the program
searches for * .dyn and *dyr extensions.
Use Standard Models from global library If this option in enabled, PowerFactory will automatically point to the Standard Models library located in the Global library. There will be no need of
selecting the composite Frame Path and DSL Model Path.
Composite Frame Path Location in the PowerFactory data base where the composite frames
380
20.3.3
This function allows the export of the network model in PSS/E format. The export comprises both
steady-state and dynamic data sets. The correct conversion of dynamic models is only possible for
the standard IEEE models. Models which the user implemented in PowerFactory s DSL can not be
automatically translated and must be modelled as user-defined controller types separately in PSS/E.
To export a project in PSS/E format select File Export. . . PSS/E from the main menu.
Export General Settings Tab Page
RAW Conversion File Path and file name for the PSS/E RAW file, containing the symmetrical
description of the model.
SEQ Conversion File Path and file name for the PSS/E SEQ file, containing the additional
description of the model necessary for unbalanced conditions.
DYN Conversion File Path and file name for the PSS/E DYN file, containing the dynamic models
of the project.
PSS/E Version Version of the exported PSS/E file (25 to 32).
DIgSILENT PowerFactory 15, User Manual
381
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 field is empty, the numbering assigned will be according to the name (in ascending
order/alphabetical order).
Convert voltage controlled SVS to generator Selecting this option will convert the SVS models
(only the SVS set to voltage control) to generator models.
Export branch as single equivalent line Selecting this option will convert the branch models to
an equivalent line.
Base Apparent Power Base for the power values given in per-unit system.
Min (Zero) Impedance Branch Minimum impedance for ideal connections.
Export PSS/E-Area index as Here, two options are available:
Girds: The exported file will have the areas defined according to the Grids defined in the
PowerFactory model.
Areas: The exported file will have the areas defined according to the Areas defined in the
PowerFactory model.
Additional Parameters This field is specified for internal use only. No extra information is
required by the user.
20.4
ELEKTRA Interface
PowerFactory offers the user the possibility to import different types of ELEKTRA files. The files supported for import are as follows:
382
20.4.1
The general way to import data via the Elektra interface is as follows:
From the main menu, select: File Import Elektra. . . . The Elektra-Import dialog will be
displayed.
Select the desired options and click on the Execute button.
Note: The Elektra import cannot be executed if Elektra is open. Close the software before executing
the import.
The import will be executed regardless of whether a project is activated or not. At the end of the
import, the project will be activated. If there is another project activated while importing the Elektra
data, PowerFactory will deactivate the active project, and activate the newly-created or selected project
(according to the settings).
The options available in the Elektra import dialog are described in the following section.
20.4.2
General Settings
Import into
New project A new project will be created in which all of the Elektra data will be stored. The user can
select a name and a storage location. Different versions of the same network model should be
stored in new projects.
Existing project Elektra data will be imported into an existing project. Use this option if grids from
different regions will be connected and should be calculated together in one project.
Files
Kind of data Within the Elektra import, Element/graphic data (data type *.esd and *. enp) or Type data
(data type *.dat) can be imported, according to the selection.
Element data If Element/graphic data is selected, please set the storage location of the Elektra element
data by clicking the . . . " icon.
Graphical data Add graphical data for the element. Select Delete to remove the data from the list.
Type data If Kind of Data: Type data is selected, click on Add to select the Elektra type library (*.dat)
for import. Repeat this step if more type libraries should be added to the import. Select Delete to
delete single files from the selection.
DIgSILENT PowerFactory 15, User Manual
383
20.4.3
Advanced Settings
On the Advanced settings page, the following options can be used to simplify the imported network. In
addition, there are two options to activate the import of coupling impedances and active/reactive power
characteristics (Q(P) curves).
General Options
consider graphical node representation If a node is set to Internal Node in the Elektra element
data, PowerFactory will also set the node to Internal Node. That is, the usage of the node in
PowerFactory is set according to the usage in Elektra element data.
create detailed busbar systems for single busbars By default, a detailed representation of substations is generated for all Elektra busbars in a PowerFactory substation. This is done regardless of
whether it is a single or double busbar. This option should be chosen to set locations where only
single busbars exist, to single busbars in PowerFactory .
create auxiliary graphic objects in annotation layer Objects in the Elektra open graphic (open texts,
memos, rectangles, pictures, . . . ) will be transformed into the annotation layer of PowerFactory
by default. These layers can be scaled and changed in PowerFactory . As an alternative, graphical objects can be split into parts in the import process. This leads to limited options in later
adaptations of the objects.
create element names with reference to the node name In PowerFactory , every element must have
a unique name. To ensure this uniqueness for the Elektra import, the names are comprised of
the following parts: Elektra element name - Elektra name of terminal 1 - Elektra name of other
terminal. If this name has more than 40 letters it will be shortened.
coupling impedances Coupling impedances between adjacent overhead lines in Elektra network data
are converted into corresponding tower elements (ElmTow) and tower types TypTow in PowerFactory .
convert Q(P) curves The reactive power behaviour of generator units or synchronous machines in
Elektra data can be given as an active/reactive power characteristic. These curves are converted
into a Q(P) characteristic in PowerFactory and assigned to the corresponding static generator/s or
synchronous machine/s.
Individual scaling factors at Elektra node elements
Active and reactive power can be modified through scaling factors in Elektra on different layers. These
factors are transformed into scalar PowerFactory characteristics, upon import of Elektra element data.
If there are many individual scaling factors for Elektra node elements, one of the following options can
be chosen. These options may assist in reducing the number of characteristics in PowerFactory.
Ignore all scaling factors The factors for active and reactive power for Elektra node elements are
ignored within the data import. The results of the load flow calculation are influenced by this
option.
Calculate resulting power quantities The multiplication of the active and reactive power by the Elektra node element factor is transferred into PowerFactory .
Create individual scale factor objects For all factors for Elektra node elements that are set to a value
different to 1, corresponding scalar characteristics are created in PowerFactory . This is the
default option.
Additional Parameter This field is for internal use. No additional information is required from the user.
384
20.4.4
To import Elektra network data, choose Kind of data: Element/graphic data. The following combinations
of element and graphic data exist:
1. Selection of Elektra element data (*.esd) without graphic data
The element and topological data from the *.esd file will be imported. Type data for the element
data will be created. There is no creation of a network diagram.
2. Selection of Elektra element data (*.esd) and one or more corresponding graphic files (*.enp)
The included topological and type data from the *.esd file will be imported. Type data for the
element data will be created. Additionally, a network diagram for every selected Elektra graphical
data will be created and elements are linked to the graphical objects (if present in both files).
3. Selection of Elektra graphical data (*.enp), without element data.
If only graphical data has been selected, for each graphic file one network diagram will be created.
From the topological information in the *.enp file, network data will be created. This network data
does not contain technical parameters or type references.
20.4.5
20.4.6
Output Window
During the import the following information is provided in the output window:
Network elements which do not coexist in the Elektra element and in the Elektra graphical data
(multiple entries while importing multiple graphical files are possible).
Network elements which are generated from power ratings in Elektra nodes.
Coupling objects between different locations, which cannot be converted.
Graphical objects whose names are adapted during import.
Inconsistent or incomplete element parameters.
20.5
NEPLAN Interface
PowerFactory offers to the user the option of importing different types of NEPLAN files. The files
supported for importing are the following:
DIgSILENT PowerFactory 15, User Manual
385
20.5.1
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
dialog.
Specify the required options and click on the Execute button.
The NEPLAN data import always creates a new PowerFactory project. Once the import process has
been executed, the newly generated project is left activated upon completion.
Independent of the NEPLAN file version (4 or 5), the user has the option of importing the data with
or without graphical information. That is, if the user selects importing the data without graphical
information, only the topological and electrical data will get imported, and no single line graphic will
be generated.
Importing NEPLAN 4 Files
When importing NEPLAN 4 files, the user has basically two options:
3. Selection of a * .mcb file.
If the user selects this type of file and if a corresponding * .ldb file is present (should be in the same
directory where the * .mcb is stored), then the information of both files gets imported. If only the
*
.mcb file exists, then only the information regarding this file is imported (which can also contain line
data).
4. Selection of a * .ldb.
If the user selects this type of file only the information regarding this file (line data) is imported.
Importing NEPLAN 5 Files
When importing NEPLAN 5 files, the user is only required to select the * .ndt. By doing so, the
corresponding * .edt file is automatically imported also. This basically means that a * .edt file must
be present otherwise the import will not be executed. The * .cde file is however optional. Additionally, all
three files must have the same name and must be in the same directory! As a recommendation, create
a separate folder and place all the files there.
The following section describes each of the NEPLAN import dialog options.
General Settings
386
File Type
Neplan Data Location on the hard disk of the NEPLAN data file. Three types of files are available:
*
.mcb, * .ldb and * .ndt.
Save converted data in
Project The project name that will be assigned to the converted/imported file in PowerFactory.
in Location in the data manager tree where the imported file 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 file 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 field is specified for internal use only. No extra information is
required by the user.
387
20.6
INTEGRAL Interface
PowerFactory offers the user the option to import Integral files for Load Flow and Short Circuit analysis.
The following files are supported:
*.dvg
*.dtf
*.xml
20.6.1
20.7
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 importing/exporting grid data of a country belonging to the former UCTE community.
The data contained in these files correspond basically to load flow and short circuit (3 phase) type data.
Furthermore, it only considers specific UCTE voltage levels according to voltage level codes, as well as
UCTE specific country codes, such as DK for Denmark, P for Portugal, etc.
Important to note here is that from 1 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/fileadmin/user_upload/_library/publications/ce/otherreports/UCTE-format.pdf
20.7.1
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 dialog.
Specify the required options and click on the Execute button.
Once the import process has been executed, the project (new or existing) is left activated upon completion.
The following section describes each of the UCTE import dialog options.
388
Import into
New Project By choosing this option, a project will be created where all the UCTE data will be
stored. The user will have the option of specifying a specific name and location (other than the
default).
Existing Project By choosing this option, the UCTE data will be imported into an already existing
project.
File Type
Add UCTE Files Location on the hard disk of the UCTE files. Two types of files are available:
*
.uct and * .ucte.
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 defined in the
UCTE file will be converted to generators in the PowerFactory model.
Convert transformer equivalent to common impedance With this option enabled, transformer
equivalents defined in the UCTE file will be converted to common impedances in the PowerFactory model.
389
20.7.2
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 dialog.
Specify the required options, and click on the Execute button.
The following sections describe each of these options.
General Settings
File Type
UCTE Data Location on the hard disk where the UCTE files will be stored. Two types of files are
available: * .uct and * .ucte.
Grids Selection of which grids to export.
Export UCTE voltage >= Only the elements having a voltage grater than the UCTE voltage
specified are exported.
390
20.8
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 profile:
ENTSO-E 2009
CIM is defined in IEC-61970, and its purpose is to allow the exchange of information related to the
configuration and status of an electrical system.
20.8.1
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 dialog.
Specify the required options and click on the Execute button.
Once the import process has been executed, the project (new or existing) is left activated upon completion.
The following section describes each of the CIM import dialog options.
General Settings
Import into
DIgSILENT PowerFactory 15, User Manual
391
separated Files With this setting the user has the option to import the equipment, topology and
solved state files separately.
Additional Parameters This field is specified for internal use only. No extra information is
required by the user.
20.8.2
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 dialog.
Specify the required options, and click on the Execute button.
The following sections describe each of these options.
General Settings
392
Export to
Profile Currently the profile ENTSO-E 2009 is supported.
CIM File Location on the hard disk where the CIM files will be stored. Two types of files are
supported: * .zip and * .xml.
separated Files With this setting the user has the option to export the equipment, topology, and
solved state files separately.
Grids Selection of which grids to export.
Border Nodes Grid Selection of the grid which contains the X-nodes.
20.9
MATLAB Interface
For a detailed description on the MATLAB interface please refer to Chapters Stability and EMT Simulation and Modal Analysis, Sections 26.15: MATLAB Interface for DSL models and 27.2.6: Output Options
Modal Analysis.
20.10
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
DIgSILENT PowerFactory 15, User Manual
393
20.10.1
20.11
StationWare Interface
This chapter describes the StationWare interface. An introduction into StationWare is provided in Section 20.11.1.
The following two sections describe the overall StationWare architecture (Section 20.11.2) and the
conceptual differences between PowerFactory and StationWare (Section 20.11.3).
Both PowerFactory and StationWare have to be configured before they can be used together (Section 20.11.4).
The Getting Started section (Section 20.11.5) provides an introduction to the most important features.
The complete documentation can be found in the Reference section (Section 20.11.7).
The terms StationWare and PSMS are used synonymously throughout this chapter. PSMS stands
for Protection Settings Management System, and stresses the more internal and technical part of
StationWare .
20.11.1
About StationWare
DIgSILENT StationWare is a centralised asset management system for primary and secondary equipment. It provides a reliable central protection settings database and management system for the
complete power system data, both to manage the various control parameters and to centrally store
power system related information and data, based on the latest .NET technology.
StationWare stores and records all settings in a central database, allows modelling of all relevant work
flow sequences, provides quick access to device manuals, interfaces with manufacturer-specific relay
settings software, and integrates with PowerFactory software, allowing powerful and easy-to-use settings co-ordination studies.
Modern numerical relays have a large number of settings that are determined, stored and communicated by proprietary software solutions (these may be suitable for only one particular manufacturer or
only one series or type of relay). This results in a fragmented and distributed settings database". DIgSILENT StationWare provides a single system that incorporates all 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 straightforward manner.
PowerFactory s data exchange facility allows it to access the settings stored in StationWare , such that
these may be used as input to the powerful PowerFactory system simulation and protection settings
tools. Settings that are calculated by using these tools may then be transferred back to StationWare .
395
20.11.2
Component Architecture
There are usually several clients. One main advantage of this architecture is that the data is stored in
one central database on the server. One client connects to the server and fetches the data from there,
modifies it, and then stores it back to the server. On other These changes are visible on other clients.
DIgSILENT StationWare server provides two interfaces to access from client machines:
Visualisation 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.11.2.
The browser displays HTML pages which are created by StationWare s HTML front end. The
HTML pages are transferred using the HTTP protocol on top of the TCP/IP internet protocol.
HTML allows to present all kind of data e.g. plain text, tables or images.
Additionally HTML provides concepts to achieve interactivity: by submitting HTML forms or pressing on hyperlinks data is sent to the server. The server interprets such requests and creates new
HTML pages which are displayed by the browser again.
The web service interface, similar to the HTML interface uses the HTTP protocol to communicate with the web service frontend, though no HTML pages are transferred but lower-level data
(SOAP/XML encoded). The web service client application is responsible to present this data
conveniently.
PowerFactory is able to play the role of a web service client. It integrates parts of StationWare s
data and concepts smoothly into its own world.
The functionality of the HTML interface is covered in the StationWare manual. The remainder of this
396
20.11.3
Fundamental Concepts
Although StationWare and PowerFactory store data and settings associated with primary devices such
as lines, transformers, . . . and secondary devices, i.e. relays, CTs, VTs and circuit breakers, the two
systems utilise different concepts to deal with this data.
In StationWare it is possible to model a location hierarchy and associate the devices to nodes in this
hierarchy (e.g. substations). This has no equivalent in PowerFactory , where the devices are stored
inside the parent grid (ElmNet) object.
Conversely, PowerFactory allows to the creation of 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 StationWare interface, it is important to understand the differences between both applications.
Location
DIgSILENT PowerFactory 15, User Manual
397
In PowerFactory the data is organised in projects (IntPrj). A project may have one or more grids
(ElmNet) which in turn contain net elements e.g. terminals, cubicles, and relays (ElmRelay ). See
Figure 20.11.4 for a typical PowerFactory project.
StationWare s location concept and PowerFactory s project/grid concept hardly fit together. Thats the
reason why the data mapping between PowerFactory and StationWare begins at the device level which
is the subject of the next sections.
398
Device State
A devices state is in StationWare called setting. A setting is a list of attributes, and describes the state
of one device completely. An attribute is a tuple of
attribute name,
attribute type which can be an arbitrary integer or floating point number, optionally with a range
restriction, or a string, or a enumeration type.,
a default value,
an optional unit.
A complex relay may have thousands of attributes. In StationWare the setting attributes are organised in
so-called setting groups. A setting group groups the attributes together which belong somehow together.
399
Name
a
b
c
d
e
Type
integer in [0,10]
float
float in [0.03, 4.65]
string
enum yes, no, maybe
Default
0
-0.32
1.0
DEFAULT
yes
Unit
A
l/s
According to this attribute definition a device can have settings as shown in tables 20.11.2 or 20.11.3.
Group, Name
G,a
G,b
G,c
H,d
H,e
Value
7
23.43
1.1
abc
maybe
Group, Name
G,a
G,b
G,c
H,d
H,e
Value
8
0
1.1
abcdef
yes
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.11.4 for a definition and
Table 20.11.5 for an example. The TypRelay type defines components and parameters.
StationWare attributes are mapped to PowerFactory parameters and vice versa. The mapping is nontrivial 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;
i.e. a parameter may be calculated from several attributes.
Component
i>
Logic
los
Parameter
o
p
q
r
s
Type
integer
string
enum enabled,disabled
float
float
Some relays support multiple setting groups (MSG) also called parameter sets. Such relays have the
400
Value
8
HIGH
enabled
18,5
19,5
Group
G
H1
H2
H3
Name
a
b
c
d
c
d
c
d
Type
integer in [0,10]
float
string
float in [0.03,1.65]
string
float in [0.03,1.65]
string
float in [0.03,1.65]
Default
0
-0.32
DEFAULT
1.0
DEFAULT
1.0
DEFAULT
1.0
Unit
A
l/s
In PowerFactory a device has exactly one state (or setting). Therefore when data is transferred between
PowerFactory and StationWare , always a concrete device setting in StationWare must be specified.
For PowerFactory purposes a special PowerFactory planning phase is introduced. The transfer directions are specified as follows:
Imports from StationWare into PowerFactory are restricted to Applied and PowerFactory settings. Applied denotes the current applied setting (Applied) or a previous applied (Historic)
setting.
Exports from PowerFactory to StationWare are restricted to the PowerFactory setting. (Applied
and Historic settings are read-only and can never be changed).
(Actually PowerFactory s sophisticated variant management is similar to the phase concept, but there
is no obvious way how to bring them together.)
20.11.4
Configuration
In order to transfer data between PowerFactory and StationWare both systems must be configured.
StationWare Server
DIgSILENT PowerFactory 15, User Manual
401
20.11.5
Getting Started
The mapping between PowerFactory object-attributes and calculation results with StationWare devicesettings or process-settings, or additional attributes of devices, is done via flexible DPL scripts. These
scripts have access not only to data in PowerFactory objects themselves, but also to other related
objects e.g a relay type object or relay sub-blocks.
To be able to transfer data from PowerFactory to StationWare and vice versa, suitable DPL scripts have
to be created and placed in an appropriate location in the project library folder.
20.11.5.1
This section is a simple walk-through and covers the most essential StationWare interface functionality.
By using a simple PowerFactory project and simple StationWare substation, it describes
1. how relays in StationWare and PowerFactory are created,
2. how these relays are linked,
3. how settings can be exported from PowerFactory to StationWare ,
4. how settings can be imported again into PowerFactory .
All (especially the more advanced) options and features are described in the reference section (see
Section 20.11.7: Reference).
Prepare substation in StationWare
We begin with the StationWare side. We create a substation and two relays within:
start the web browser,
log on to the StationWare system,
create a new substation titled Getting Started,
create two relays named Getting Started Relay 1 and Getting Started Relay 2 in the Getting
Started substation
In the HTML interface the station detail page should look as shown in Figure 20.11.7.
Go to the detail page of the Getting Started Relay 1 (Figure 20.11.8).
Since we have just created the device it has no settings, yet. Later it will contain a PowerFactory setting
which reflects the relay state on the PowerFactory side.
403
404
405
406
enter the Server Endpoint URL of the StationWare server. The URL should have a format similar
to
http://192.168.1.53/psmsws/PSMSService.asmx
enter Username and Password of a valid StationWare user account.
407
409
410
navigate to the relay detail view of the Getting Started Relay 2 relay (see Fig. 20.11.18)
Observe the new created PF setting. The phase of this setting is PowerFactory.
switch to the settings detail page of the new PF setting (see Fig. 20.11.19).
411
20.11.5.2
Additional attributes represent additional information which users may find useful for a location, device
or settings within a device. These are not directly part of a settings record but are user-defined. For
example, a common additional attribute that is useful for a feeder or substation location is the nominal
voltage level in kV. Primary elements such as lines do not posses settings but instead parameters.
Parameters such as length or impedance are then presented by the use of additional attributes.
412
20.11.5.3
Calculation results data exchange is only possible in one direction: from PowerFactory to StationWare .
It is important to know that PowerFactory stores calculation results in attributes of temporary so-called
calculation objects" (see 20.11.21). This data will be exchanged between calculation objects" and
StationWare process objects.
413
After being defined, the process should be created and have a device assigned to it.
414
20.11.6
DPL Scripts
20.11.6.1
Export script
Independent of the usage of the script (export of settings data, additional attribute data or calculation
result), all scripts must posses:
The same name PsmsExport"
They must have two External Objects":
Object: refers to a concrete object when exporting.
Map: the script uses this object to write export data into.
One result parameter: Result, whose value has to be set on OK at the end of the script.
Example Code
Settings export (see Figure 20.11.25 and Figure 20.11.26)
Object1=Object.GetSlot(Z1P);
DIgSILENT PowerFactory 15, User Manual
415
Zone 1);
416
20.11.6.2
Import script
As in the case of export scripts, all import scripts (independent of whether they are importing settings
or additional attributes) must posses:
The same name PsmsImport",
Two External Objects" (map and object),
A result object Result".
The import script should take the value out of the map object and put it into the object.
Object:parameter= Map.GetDouble(StationWareGroupID.StationWareName.value)
for example:
- Additional Attribute import
Object:desc=Map.GetString(Attribute.PSMS.Custom.Attributes.Desc.value)
- Settings import
Object:Zm=Map.GetDouble(x1.Z1P.value);
20.11.7
Reference
This section describes all options and features concerning the StationWare interface.
The Device Context Menu
Almost all functionality can be accessed by the device context menu. Mark one or more objects which
supports the StationWare transfer e.g. ElmRelay
in the object filter (Figure 20.11.14)
in the data manager as shown in Figure 20.11.27.
417
418
Working with PowerFactory for the first time, the StationWare server is required, and the Logon dialog
isf as shown in Figure 20.11.28.
The StationWare connection options are stored in the user settings (Figure 20.11.29). After each
successful logon the user settings are updated.
419
A more convenient way is to use the Browser dialog shown in Figure 20.11.31. The dialog allows to
browse through the StationWare location hierarchy and select a device. The hierarchy data is cached to
minimise network accesses. Due this caching its possible that there may exist newly created locations
or devices which are not displayed in the browser dialog. The Refresh button empties the cache and
enforces PowerFactory to re-fetch the correct data from the server.
The ComStationware Object
In PowerFactory almost everything is an object: relays are ElmRelay objects, users are IntUser objects,
and grids are ElmNet objects, . . .
What may be on the first sight confusing is the fact that actions are objects as well: for a short-circuit
calculation a ComShc object is created. The calculation can be performed with several options e.g.
3-Phase, single phase, or 3 Phase to Neutral.
420
421
20.12
For a detailed description on the API, a reference document is available in the DIgSILENT download
area: http://www.digsilent.de/index.php/downloads.html
423
424
Part IV
Chapter 21
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 analysing 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 evaluating the impact of commissioning a transmission line or a power plant, or the impact of refurbishment
or decommissioning of equipment (for example shutting down a power plant because it has reached its
life expectancy).
427
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 analysed. 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 configurations 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 reflecting 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 configuration or to detect possible weakness and suggest solutions and alternatives.
Figures 21.1.2 and 21.1.3 illustrate the system operation and planning aspects.
428
21.1. INTRODUCTION
Load flow calculations are used to analyse power systems under steady-state non-faulted (short-circuitfree) conditions. Where steady-state is defined as a condition in which all the variables and parameters
are assumed to be constant during the period of observation. We can think of this as taking a picture" of
the power system at a given point in time. To achieve a better understanding let us refer to Figure 21.1.4.
Here a 24 hour load demand profile is depicted. The user can imagine this varying demand to be the
demand of a specific area or region, or the demand of a whole network. In this particular case the load
is seen as increasing from early in the morning until it reaches its maximum at around 18:00 hrs. After
this point in time, the total load then begins to decrease. A load flow calculation is stated to be a steadystate analysis because it reflects the system conditions for a certain point in time, such as for instance
at 18:00 hrs (maximum demand). As an example, if we require determining the behaviour of the system
for every hour of the day, then 24 load flows need to be performed; if the behaviour for every second is
required then the number of load flow calculations needed would amount to 86 400. In PowerFactory
, the active power (and/or reactive power) of the loads can be set with a Characteristic so they follow
a certain profile (daily, weekly, monthly, etc.). By doing so, the active power will change automatically
according to the date ant time specified. For more information please refer to Chapter 16(Parameter
Characteristics, Load States, and Tariffs).
429
A load flow calculation will determine the active and reactive power flows for all branches, and the
voltage magnitude and phase for all nodes.
The main areas for the application of load flow calculations can be divided in normal and abnormal
(Contingency) system conditions as follows:
Normal System Conditions
Calculation of branch loadings, system losses and voltage profiles.
Optimisation tasks, such as minimising system losses, minimising generation costs, open tie
optimisation 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 profiles.
Contingency analysis, network security assessment.
Optimisation tasks, such as minimising system losses, minimising generation costs, open tie
optimisation in distributed networks, etc.
Verification of system conditions during reliability calculations.
Automatic determination of optimal system resupplying strategies.
Optimisation 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 definitions of normal and abnormal system conditions, a distinction should be
made in terms of the manner simulations should be performed:
430
21.2
Technical Background
This section presents the general aspects of the implementation of PowerFactory s load flow calculation
tool. An understanding of the concepts introduced here should be sufficient background to manage the
options presented in the load flow analysis command dialogue. Further technical details related to the
models (Network Components) implemented in PowerFactory for load flow calculations are provided in
the Appendix C: Technical References of Models.
21.2.1
A load flow calculation determines the voltage magnitude (V) and the voltage angle () of the nodes,
as well as the active (P) and reactive (Q) power flow on branches. Usually, the network nodes are
represented by specifying two of these four quantities. Depending on the quantities specified, nodes
can be classified as:
DIgSILENT PowerFactory 15, User Manual
431
In contrast to other power system calculation programs, PowerFactory does not directly define the
node characteristic of each busbar. Instead, more realistic control conditions for the network elements
connected to these nodes are defined (see the Load Flow page of each elements dialogue). For
example, synchronous machines are modelled by defining one of the following control characteristics:
Controlled power factor (cos()), constant active and reactive power (PQ);
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 analysed
networks is not only possible through a slack generator (or external grid). The load flow calculation tool
allows the definition of more realistic mechanisms to control both active and reactive power. For further
information please refer to Section 21.2.2.
AC Load Flow Method
In PowerFactory the nodal equations used to represent the analysed networks are implemented using
two different formulations:
Newton-Raphson (Current Equations).
Newton-Raphson (Power Equations, classical).
In both formulations, the resulting non-linear equation systems must be solved by an iterative method.
PowerFactory uses the Newton-Raphson method as its non-linear equation solver. The selection of
the method used to formulate the nodal equations is user-defined, and should be selected based on
the type of network to be calculated. For large transmission systems, especially when heavily loaded,
the standard Newton-Raphson algorithm using the Power Equations" formulation usually converges
432
Figure 21.2.1: Setting of the Control Mode for an Automatic Tap Changer
In the classical load flow 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 flows according to the descriptions above.
DC Load Flow Method
In addition to the AC" load flow calculations presented in this section, PowerFactory offers a so-called
DC" load flow calculation method. The DC load flow should not be interpreted as a method to be used
in case of DC systems given that it basically applies to AC systems.
Some occasions we may require performing fast analysis in complex transmission networks where only
a reasonable approximation of the active power flow of the system is needed. For such situations the DC
load flow can be used. Other applications of the DC load flow method include situations where the AC
load flow has trouble converging (see Section 21.5: Troubleshooting Load Flow Calculation Problems).
433
21.2.2
434
= +
(21.1)
where,
is the modified active power of generator , is the initial active power dispatch of
generator and is the active power change in generator .
The active power change of each generator ( ) will be determined by its corresponding primary
controller gain value ( ) and the total frequency deviation.
(21.2)
where,
is the primary controller gain parameter of generator and is the total frequency
deviation. The total frequency deviation ( ) can be obtained according to:
=
(21.3)
(21.4)
=1
435
Figure 21.2.3: Primary Frequency Bias ( ) Setting in the Load Flow Page of the Synchronous
Machine Element (ElmSym)
According to Inertias: Immediately following a disturbance, the missing/excess power is delivered from the kinetic energy stored in the rotating mass of the turbines. This leads to a deceleration/acceleration and thus to a decrease/increase in the system frequency. The contribution of
each individual generator towards the total additional power required is proportional to its inertia. If
the Active Power Control option According to Inertias is selected in PowerFactory s load flow command, the power balance is established by all generators. Individual contributions to the balance
are proportional to the inertia/acceleration time constant of each generator (defined on the RMSSimulation page of the synchronous generator types dialogue and depicted in Figure 21.2.4). This
relation can be mathematically described as follows:
= +
(21.5)
where,
is the modified active power of generator , is the initial active power dispatch of
generator and is the active power change in generator .
The active power change of each generator ( ) will be determined by its corresponding inertia
gain ( ) and the total frequency deviation, as follows:
(21.6)
where,
436
= 2
(21.7)
with
(21.8)
where,
is the moment of Inertia,
is the rated angular velocity,
is the generator nominal apparent power and
is the acceleration time constant rated to
Figure 21.2.4: Inertia/Acceleration Time Constant Parameter of the Synchronous Machine Type
(TypSym). RMS-Simulation Page
437
21.2.3
438
(
= 0
)_
)_
(
+
)_
)_
(
+ (1 )
)_ )
)_ )
(21.9)
where,
= (1 )
(
= 0
(
+
(
+ (1 )
(21.10)
where,
= (1 )
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 coefficient can be freely defined using the coefficients aP, bP, cP and aQ,
bQ, cQ. For further information, please refer to the General Load technical reference in the Appendix C.
Note: These factors are only considered if the Consider Voltage Dependency of Loads" is checked in
the Load-flow Command window. If no Load Type (TypLod) is assigned to a load, and the load
flow is performed considering voltage dependency then the load will be considered as Constant
Impedance.
439
The feeder load scaling process also can take into account the different type of load behaviour represented. Figure 21.2.7 illustrates just this. Here, a radial feeder consisting of three different type of
loads is depicted (constant power, constant current and constant impedance). Under such assumptions,
performing a load flow calculation with the option Consider Voltage Dependency of Loads (see previous
Section), will result in calculated base quantities according to the type of load specified; for example,
Ibase for the constant current load and Zbase for the constant impedance load. If in addition to the
voltage dependency of loads, the Feeder Load Scaling option is enabled, the calculated scaling factor
is applied according to the type of load defined in the feeder.
Figure 21.2.7: Feeder Load Scaling Factor Considering Different Behaviour of Loads
In PowerFactory , the amount of Feeder definitions is not limited to the amount of radial paths represented in the model. This means that the user can define more than one feeder element (ElmFeeder )
along the same radial path, as indicated in Figure 21.2.8 In this particular example, both Feeder 1 and
2 have the same specified orientation ( Branch). While Feeder 1 is defined from the beginning of the
radial path, Feeder 2 is defined after load L2. This particular type of feeder representation is termed as
Nested Feeders. Since Feeder 1 is defined from the beginning of the radial path, every load (L1, L2, L3
and L4), as well as every feeder (Feeder 2) along this path will be considered as part of its definition.
Since Feeder 2 is along the path defined for Feeder 1; Feeder 2 is nested in Feeder 1.
440
For further information on Feeder definitions 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:
= 0
(21.11)
= 0
(21.12)
If voltage dependency of loads is considered then Equations (21.9) and (21.10) become;
(
= 0
(
= 0
)_
)_
(
+
(
+
)_
)_
(
+ (1 )
(
+ (1 )
)_ )
)_ )
(21.13)
(21.14)
Note: In order to consider a load in the feeder-load-scaling process, the option Adjusted by Load
Scaling has to be enabled. In this case, the individual Scaling Factor of the load is not taken
into account but overwritten by the feeder-scaling factor.
Additionally, loads can be grouped in zones, areas or boundaries so the scaling factor can be easily
edited. In case of zones, there will be an additional Zone Scaling Factor.
Coincidence of Low Voltage Loads
In a low voltage system every load may consist of a fixed component with a deterministic amount
of power demand plus a variable component comprising many different, small loads, such as lights,
refrigerators, televisions, etc., whose power varies stochastically between zero and a maximum value.
Under such conditions, PowerFactory uses a probabilistic load flow calculation, which is able to calculate
DIgSILENT PowerFactory 15, User Manual
441
() = ()
(21.15)
Where is the maximum variable load per connection (customer) and the function () describes
the maximum coincidence of loads, dependent upon the number of connections, . If a Gaussian
distribution is assumed, the coincidence function is:
() = +
(21.16)
() =
(21.17)
Note: Low voltage loads can be represented in PowerFactory by Low Voltage Load (ElmLodlv ) elements which can be directly connected to terminals or by Partial Low Voltage Loads (ElmLodlvp)
which are defined along transmission lines/cables (see the Definition of Line Loads section on the
Load Flow page of transmission line/cable elements - ElmLne).
21.2.4
The most important effect of the resistance of transmission line and cable conductors is the generation
of losses (I2 R). Resistance will also affect the voltage regulation of the line due to voltage drop (IR).
The resistance of a conductor is mainly affected by the operating temperature, and its variation can be
considered practically linear over the normal range of operation (an increase in temperature causes an
increase in resistance). In PowerFactory , the load flow calculation has two options for considering the
Temperature Dependency of resistance for lines and cables:
at 20 C: When this option is selected, the load flow calculation uses the resistances (lines and
cables) stated in the Basic Data page of the corresponding component (TypLne, TypCon, TypCab).
442
Figure 21.2.9: Specification 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 flow calculation
uses the corrected value of resistance, which is obtained with the following equation:
= 20 [1 + ( 20 )]
(21.18)
where,
20 is the resistance at temperature 20 C (Basic Data page of the corresponding type)
is the temperature coefficient in 1
is the maximum operational temperature (Load Flow page of the corresponding type)
is the resistance at temperature
Figure 21.2.10: Temperature Dependency Option Setting in the Load Flow page of the line type (TypLne)
DIgSILENT PowerFactory 15, User Manual
443
Resistivity (-m)
2.8264 108
1.7241 108
Temperature coefficient [ 1 ]
4.03 103
3.93 103
Table 21.2.1: Electrical Resistivities and Temperature coefficients of Aluminium and Copper
21.3
Selecting the Calculation Load Flow ... option from the main menu.
An example of the load flow command dialogue is shown in Figure 21.3.1.
The following pages explain the load flow command options. Following this, some hints are given
regarding what to do if your load flow cannot be solved.
444
21.3.1
Basic Options
Calculation Method
AC Load Flow, balanced, positive sequence
Performs load flow calculations for a single-phase, positive sequence network representation,
valid for balanced symmetrical networks. A balanced representation of unbalanced objects is
used (for further details please refer to Section 21.2.1).
AC Load Flow, unbalanced, 3 Phase (ABC)
Performs load flow calculations for a multi-phase network representation. It can be used for
analysing unbalances of 3-phase systems, e.g. introduced by unbalanced loads or non-transposed
lines, or for analysing all kinds of unbalanced system technologies, such as single-phase- or twophase systems (with or without neutral return). For further details please refer to Section 21.2.1.
DC Load Flow (linear)
Performs a DC load flow based on a set of linear equations, where the voltage angles of the buses
are strongly related to the active power flow through the 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 flow calculations.
Automatic Tap Adjust of Transformers
Adjusts the taps of all transformers which have the option Automatic Tap Changing enabled on
the Load Flow page of their element dialogues. The tap adjustment is carried out according to
the control settings defined 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 defined by generators and SVSs. If the load flow cannot be
solved without exceeding the specified limits, a convergence error is generated. If this option
is not enabled, PowerFactory will print a warning message if any of the specified limits are
exceeded.
Consider Reactive Power Limits Scaling Factor
This option is only available if Consider Reactive Power Limits is enabled. If selected, the reactive
power limits of generators are scaled by the relaxation factors: Scaling factor (min) and Scaling
factor (max) which are set on the Load Flow page of the generator elements dialogue. Note
that the reactive power limits of generators are also defined 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
445
21.3.2
As explained in Section 21.2.2, PowerFactory s load flow calculation offers several options for maintaining power balance within the system under analysis. These options are:
as Dispatched:
If this option is selected and no busbar is assigned to the Reference Busbar (Reference Bus and
Balancing section of the Active Power Control tab), the total power balance is established by one
reference generator/external grid (slack"-generator). The slack generator can be directly defined
by the user on the Load Flow page of the target element. The program automatically sets a slack
if one has not been already defined by the user.
according to Secondary Control:
Power balance is established by all generators which are considered by a Secondary Controller"
as explained in Section 21.2.2. Active power contribution is according to the secondary controller
participation factors.
446
(21.19)
=1
where,
is the initial active power of the load.
447
Figure 21.3.2: Adjusted by Load Scaling option in the Load Flow page of the Load element (ElmLod)
(21.20)
=1
where,
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 Generation is selected. It allows the loads or generation in a region to be scaled up or down to control
the interchange of this region. The type of the region could be:
Grids: Available for both distributed load slack and distributed generation.
Zones: Available for both distributed load slack and distributed generation.
Boundaries: Only available for distributed load slack.
In the load flow page of the grid, zone or boundary elements, the following operational parameters
are available:
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 boundary.
448
Figure 21.3.3: Consider Interchange Schedule option in the Load Flow page of the Grid element
(ElmNet)
Reference Busbar:
A different busbar to the one connecting the slack machine (or network) can be selected as a
reference for the voltage angle. In this case the user must specify the value of the voltage angle
at this selected reference bus, which will be remotely controlled by the assigned slack machine
(or network).
Angle:
User-defined voltage angle for the selected reference busbar. The value will be remotely controlled by the slack machine (external grid). Only available if a Reference Busbar has been
selected.
21.3.3
Advanced Options
449
450
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 flow calculation methods.
Max. Number of Iterations for
The load flow calculation comprises an inner loop involving the Newton-Raphson method (see Section 21.2.1), and an outer loop to determine changes to tap settings and to consider generator reactive
power limits. Default values for the maximum number of iterations for these two loops are 25 iterations
for the inner loop, and 20 iterations for the outer loop.
Newton-Raphson Iteration - itrlx
The inner loop of the load flow involves the Newton-Raphson iterations. This parameter defines
the maximum number of iterations (typically 25).
Outer Loop - ictrlx
The outer loop of the load flow calculation will determine changes to the tap changer (depending
on the tap adjustment method selected), and considers reactive power limits of generators, etc.
These are adjusted in the outer loop and then a new iteration of the inner loop is started again
(see Section 21.2.1). The maximum number of outer loop iterations (typically 20) is set by this
parameter.
Number of Steps - nsteps
Problematic load flows with slow convergence may be improved by starting a load flow calculation
for a low load level, and then increasing the load level in a number of steps. This is achieved by
setting the Number of Stairs to a value greater than one. For example, nsteps = 3 begins a load
flow at a load/generation level of 1/3 and the increases the power to 100% over two further steps.
Max. Acceptable Load Flow Error for
A higher precision or a faster calculation can be obtained by changing the maximum allowable error (i.e.
tolerance). The values of the calculated absolute error for nodes, or the calculated relative errors in the
model equations, e.g. voltage error of voltage controlled generators, are specified here.
Nodes - errlf Maximum Iteration Error of Nodal Equations (typical value: 1 kVA). Model Equations erreq Maximum Error of Model Equations (typical value: 0.1%).
Convergence Options
Relaxation Factor
A Newton-Raphson relaxation factor smaller than 1.0 will slow down the convergence speed of
the load flow calculation, but may result in an increased likelihood of convergence for systems
which are otherwise difficult to solve.
Automatic Model Adaptation for Convergency
The PowerFactory load flow calculation will always first try to find a solution using non-linear
mathematical power system models. If a solution cannot be found, and this option is enabled, an
DIgSILENT PowerFactory 15, User Manual
451
21.3.5
Outputs
452
21.3.6
As explained in Sections 21.2.3 and 41.4.1, low voltage loads (ElmLodlv and ElmLodvp) are modelled
in PowerFactory with fixed and variable (stochastic) components. The parameters which define these
fixed and variable components are set in both the load flow command dialogue (i.e. globally), and in the
load types dialogues (i.e. locally) according to the settings defined below.
Definition of Fixed Load per Customer
The fixed load is the non-stochastic component of the load, which is not subject to coincidence factors.
The active and reactive power defined in this field, multiplied by the number of customers (defined in the
load element itself), are added to the fixed load component defined for each low voltage load (ElmLodlv
and ElmLodvp). For further information about LV loads please refer to the corresponding technical
references in the Appendix C.
Definition of Variable Load per Customer
The variable component of low voltage loads can be globally defined using the parameters in this section
or by specifically defining LV load types for the target loads.
The Max. Power per Customer is the independent maximum kVA per customer. This value, multiplied
by the Coincidence Factor (ginf) (see Section 21.2.3), gives the Average Power" per customer, which
is used in load flow calculations.
The total maximum variable power per load is calculated using the Max. Power per Customer, the
Coincidence Factor (ginf ), and the number of customers (defined in the load element itself) as described
in Section 21.2.3.
Note: The factors defined in the section Definition of Variable Load per Customer are used as global
data for the load flow calculation. If specific LV load types are defined, the locally-defined data
in the type is used by the corresponding loads. For all other LV loads with no type assigned, the
global data from the load flow command is used.
453
21.3.7
This page, as shown in Figure 21.3.4, is not only important for load flow but also for other calculation
functions such as transient simulation. Utilising the options on this page can result in improved performance; i.e. the speed of a transient simulation may improved when protection devices are neglected in
the calculation.
Figure 21.3.4: Advanced Simulation Options in the load flow command dialogue
21.4
Result Analysis
In PowerFactory the results can be displayed directly in the single line diagram, in tabular form or by
using predefined report formats. Also available are several diagram colouring options in other to have a
quick" overview of the results.
454
21.4.1
Once a load flow calculation has been successfully executed, the result boxes shown in the single-line
diagram will be populated. There is a result box associated with each side" of an element. So for
example a load has one result box, a line two result boxes, and a three-winding transformer three result
boxes. In PowerFactory these elements are collectively called edge elements. In addition, there are
result boxes for nodes or buses.
The information shown inside a result box depends on the element to which it is associated. There
are a few predefined formats for edge elements and a few predefined formats for buses. In order to
see the selection, first perform a load flow, then, from the main menu, select Output Results for
Edge Elements or Output Results for Buses. These menu options will show the list of available result
box formats. Alternatively, you can select (click) inside a result box on the single-line diagram, then
right-click and from the context sensitive menu choose Format for Edge Elements or in case of a node
Format for Nodes. Figure 21.4.1 serves as an example.
Figure 21.4.1: Selecting the Result Box from the Single Line Diagram.
Besides these predefined formats the result boxes can be formatted in order to display selected variables.
By right-clicking on one of the result boxes and selecting the option Edit Format for Edge Elements
and afterwards pressing the Input Mode button three options will be available: Predefined Variables,
User Selection or Text Editor. The User Selection" option will allow the selection of any of the available
variables.
21.4.2
Once a load flow calculation has been successfully executed, pressing the Edit Relevant Objects for
Calculation button ( ) located on the main menu will prompt a submenu with icons for all classes
that are currently used in the calculation. Clicking any of the class-icons will open a browser with all
elements of that class that are currently used in the calculation. The left-most tab-page at the bottom of
the browser is the Flexible Data tab page. Click on this tab page to show the flexible data. To change
the columns in the flexible page, press the Define Flexible Data button ( ). This will bring a selection
window where the set of variables can be edited. In the left pane the available variables will be shown
or
buttons will move the selected
while the right pane will list the selected variables. Pressing the
variable from the one pane to the other pane.
455
21.4.3
In PowerFactory there are predefined report formats also called ASCII reports, available to the user.
These ASCII reports can be created by pressing the Output Calculation Analysis button ( ) located on
the main menu (a load flow must be calculated first). This will bring a selection window in which the user
can select a specific type of report. Some reports like the Complete System Report" will have various
options which the user can set. The report selection window also shows the report definition which will
be used for the selected report. Pressing Execute will write the report to the output window. Although
the reports are already predefined, the user has the possibility of modifying the reports if required (by
clicking on the blue arrow pointing to the right of the used format definition).
A Verification Report can be also printed out automatically each time a load flow calculation is executed
(see Section 41.4.2).
21.4.4
Diagram Colouring
When performing load flow calculations, it is very useful to colour the single line-diagram in order to have
a quick overview of the results, for example if elements have a loading above 90% or if the voltages of
the busbars are outside the specified limits. In PowerFactory there is the option of selecting different
colouring modes according to the calculation performed. If a specific calculation is valid, then the
selected colouring for this calculation is displayed. As an example, if the user selects the colouring
mode Zones for No Calculation and Low and High Voltage/Loadings for the load flow calculation, then
the initial colouring will be according to Zones. However, as soon as the load flow is calculated, the
diagram will be coloured according to Low and High Voltage/Loadings. If the load flow calculation is
reset or invalid, the colouring mode switches back to Zones.
The Diagram Colouring has also a 3-priority level colouring scheme also implemented, allowing colouring elements according to the following criteria: 1 Energising status, 2 Alarm and 3 Normal"
(Other) colouring.
Energising Status
If this check box is enabled De-energised" or Out of Calculation" elements are coloured according to the settings in the Project Colour Settings". The settings of the De-energised" or Out of
Calculation" mode can be edited by clicking on the Colour Settings button.
Alarm
If this check box is enabled a drop down list containing alarm modes will be available. It is
important to note here that only alarm modes available for the current calculation page will be
listed. If an alarm mode is selected, elements exceeding" the corresponding limit are coloured.
Limits and colours can be defined by clicking on the Colour Settings button.
Normal" (Other) Colouring
Here, two lists are displayed. The first list will contain all available colouring modes. The second
list will contain all sub modes of the selected colouring mode. The settings of the different
colouring modes can be edited by clicking on the Colour Settings button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is optional and
will be skipped if disabled. Regarding the priority, if the user enables all three criterions, the hierarchy
taken into account will be the following:
Energising Status" overrules the Alarm" and Normal Colouring" mode. The Alarm" mode overrules
the Normal Colouring" mode.
456
21.4.5
By default, PowerFactory has the following load flow sign convention (Mixed Mode):
Branches:
Power Flow going out of the Busbar is positive while going into the busbar is negative.
Loads:
Power Flow going out of the Busbar is positive while going into the busbar is 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
In general, if a solution can be found (in other words, the network is mathematically solvable), PowerFactory will find a solution. In some cases the user may have made an error which will not allow a
solution to be found; such as a large load causing a voltage drop so large that a voltage collapse results.
In a real-world power system the same problem would be found.
When creating a network for the first time it is best to enter the data for only a small part or path of the
network and solve the network by calculating a load flow. PowerFactory has a data verification process
in which certain checks are performed, such as whether a line is connected between nodes of the same
voltage; and the correct voltage orientation of transformers, etc.
Typical reasons for non-convergence in the load flow 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):
457
).
Once errors have been detected, open the problematic element dialogue window by double
clicking 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 analysed and corrected and the load flow still does not solve,
the user may want to print more detailed information on the convergence progress.
Tick the Show Convergence Progress Report option found in the Outputs page of the load flow dialogue
(refer to Section 41.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 window:
warning, error and information messages. Only error messages must be corrected for a load flow
to solve. Take note of the warning messages and evaluate them in terms of your system, however
these do not need to be corrected for the load flow to solve. Unsupplied Areas" means that an
isolated area with Consumers" is without a generator, power source or external supply.
If there is still no convergence then set the option Out of Service for most of the elements (see each
elements Basic Data tab). Following this, bring these elements back into service, one at a time, from
the source element downwards, performing a load flow calculation each time.
When experiencing large unbalances, such as when there are a number of single or dual phase
elements, or when using power electronics elements, select the Newton-Raphson (Current Iteration)
option on the Advanced page of the load flow dialogue.
21.5.2
21.5.3
459
Fore some hints on this type of error please refer to Section 21.5.5.
21.5.4
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 summarised 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-flow dialogue. Analyse the convergence of
the inner loop iterations: check the progress in the load flow 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 fix the problem:
Use the Iteration Control options on the load flow command (increasing the number of stairs as
the first option, typically to 3).
Load shedding: disconnect the load identified as responsible for the high convergence error.
Connect additional reactive power compensation.
Using the flexible data page, check if there are any heavily loaded circuits, these indicate weak
connections.
Once the load flow converges, check if there are areas with voltages with high deviation from
operating voltages.
Excessive Mismatch
Where there is a large mismatch between demand and generation (> 15%) the load flow is unlikely to
converge. This is typified by a large number of iterations followed by warnings or errors such as:
No convergence in load flow!
Control Conditions!
460
Check
21.5.5
Outer loops iterations are required to calculate discrete tap positions of transformers, number of steps
of switchable reactive power compensation, etc. in order to match the voltage profile or reactive power
control specified by the user.
Too many outer loop iterations is referring to a solution that is too far away from the starting point (default
tap positions) to converge in the allowed number of outer loop iterations.
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 find a
stable solution.
The main source of Information is the output window. Check first the following:
Is the number of messages reducing with each outer loop iteration?
The following messages in the output window may indicate a problem and lead to a non-convergent
solution.
Maximum/minimum tap position reached
DIgSI/pcl - -------------------------------DIgSI/pcl - $ \ $ .... $\ $Transformer.ElmTr2:
DIgSI/pcl - Maximum Tap Position reached
DIgSI/pcl - -------------------------------The message indicates that more/less reactive power is required at this location (the tap is at
maximum/minimum position). The message indicates therefore an area in the network where a
lack/excess of reactive power is likely to happen.
DIgSILENT PowerFactory 15, User Manual
461
462
Figure 21.5.1
This problem of no converging load-flow with the stepped tap changing method is caused by a slightly
different way of the iteration to reach the correct tap position and load-flow results. This might result in
a non-convergence in the outer loop, when the controller range (Vmax-Vmin) of the tap changer is near
to the value of the additional voltage per tap.
Solution:
Change the minimum relaxation factor on the Advanced Options page of the load flow command
to a smaller value. This might help the load flow to converge.
Check if the dead bands of the target or controlled busbars of the corresponding transformers are
correctly set. Also check if the tap changer data on the load flow page of the transformer type is
correct.
Disable the automatic tap changing of the transformers where tap hunting occur. Run the load
flow (it should converge in this case!) and then check the sensitivity of the tap changer increasing
and decreasing the tap position by one step. Verify the results against the dead band of the target
busbar.
21.6
PowerFactory s Load Flow Sensitivities (ComVstab) command is shown in Figure 21.6.1. This command performs a voltage sensitivity analysis based on the linearisation of the system around the
operational point resulting from a load flow calculation (as explained in Section 21.6.3).
The ComVstab command is accessible by the following means:
clicking on the Change Toolbox icon (
ComVstab icon ( ); or
right-clicking on a busbar/terminal or transformer and selecting Calculate Load Flow Sensitivities... . In this case the command will be automatically set to calculate the sensitivity to power
injections/tap changes on the selected busbar/transformer. The selected terminal/transformer will
be automatically set in the Busbar (or Transformer ) reference.
DIgSILENT PowerFactory 15, User Manual
463
21.6.1
The options available for the Load Flow Sensitivities command (Figure 21.6.1) are:
Initialisation
Load Flow:
Displays which load flow command will be used to initialise the sensitivity analysis. If no load flow
calculation has been executed before opening the Load Flow Sensitivities (ComVstab) command,
or if the calculation has been reset, the Load Flow displays the most recently executed load flow
command in the active study case.
Sensitivities
Diagonal Elements Only:
The effect of the injections of P and Q at each busbar are evaluated for the busbar itself
(effect on voltage magnitude ( / ), ( / ), and on voltage angle ( / ), ( / ) for
each busbar) and the corresponding adjacent branches. In this mode, the calculated sensitivities
( / ), ( / ), ( / ), and ( / ) in the branches (index ) always refer to
derivations / and / of the adjacent buses (index ). 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:
464
21.6.2
When the ComVstab command has been configured and the Execute button has been pressed, the
program calculates several sensitivity factors such as ( / ) ,( / ) , ( / ), ( / ) 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
window:
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 flow variables (Variable Set: Current, Voltages and Powers). The names of
the variables correspond to the calculated derivations, i. e. the result of the expression ( / ) is
stored in the variable named ; and likewise the result of the expression ( / ) is stored in the
variable .
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 calculation as described below.
Linearising the load flow equations around the actual operating point leads to the following equation
system:
[
] [
[
=
]
(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 flow 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
465
1
=
=
(21.22)
= 1
+
(21.23)
where:
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:
= 1 1 + +
(21.24)
In this case the diagonal elements 1 of represent the voltage variation at bus i due to a variation
of reactive power at the same point. The non-diagonal elements describe the voltage variation at
busbar due to the variation in reactive power at a different point on the network.
Positive dv/dQ sensitivity indicates stable operation. High sensitivity means that even small changes in
reactive power cause large changes in the voltage magnitude; therefore the more stable the system,
the lower the sensitivity (high voltage sensitivities are indicative of weak areas of the network).
Note: Recall that in HV networks branches are predominantly reactive. Voltage magnitudes depend
primarily on reactive power flows and voltage angles depend on active power bus injections.
The sensitivity analysis can be extended in order to determine the active and reactive power variations
on branches (in the PowerFactory network model all components carrying a flow, i.e. lines, transformers,
generators are regarded as branches) due to variations in active and reactive power busbar injections.
In this case the sensitivities are calculated using the branch-node Jacobian matrix.
By applying a modal transformation to (21.22) the dV/dQ sensitivity can be expressed as an uncoupled
system of the form:
=
= 1
(21.25)
= and =
(21.26)
where:
In (21.25), is a diagonal matrix whose elements correspond to the eigenvalues of the sensitivity
matrix, , from (21.22). Therefore, the voltage variation at each mode depends only on the reactive
power variation at the same mode:
(21.27)
The eigenvalues , which are real, provide the necessary information about the voltage stability of the
system. If 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), = [1 . . . ] corresponds to the matrix of right eigenvectors of , while 1 corresponds
to the left eigenvectors matrix:
466
(21.28)
The participation factor of bus to mode is defined by the product of the component of the left and
right eigenvector of mode :
=
(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 influence the variation of active power on a node has on a voltage mode.
467
468
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
flows, which if not properly detected and handled can result in equipment damage, the interruption of
large areas (instead of only the faulted section) as well as placing personnel at risk. A well-designed
system should therefore isolate the short-circuit safely with minimal equipment damage and system
interruption. Typical causes of short-circuits can be the following:
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 field of application is the precise evaluation of the fault current in a specific
situation, such as to find out whether the malfunction of a protection device was due to a relay failure or
due to the consequence of improper settings (for example an operational error). These are the typical
applications of exact methods such as the superposition method (also known as the Complete Method),
which is based on a specific network operating point.
The short-circuit calculation in PowerFactory is able to simulate single faults as well as multiple faults
of almost unlimited complexity. As short-circuit calculations can be used for a variety of purposes,
PowerFactory supports different representations and calculation methods for the analysis of short-circuit
currents.
DIgSILENT PowerFactory 15, User Manual
469
22.2
Technical Background
Beside load flow calculations, short-circuit is one of the most frequently performed calculations when
dealing with electrical networks. It is used both in system planning and system operation.
Typical application examples of short-circuit analysis in system planning include:
Ensuring that the defined short-circuit capacity of equipment is not exceeded with system expansion and system strengthening.
Co-ordination of protective equipment (fuses, over-current and distance relays).
Dimensioning of earth grounding systems.
Verification of sufficient fault level capacities at load points (e.g. uneven loads such as arc
furnaces, thyristor-driven variable speed drives or dispersed generation).
Verification of admissible thermal limits of cables and transmission lines.
Example applications of short-circuit analysis in system operation include:
Ensuring that short-circuit limits are not exceeded with system reconfiguration.
Determining protective relay settings as well as fuse sizing.
Calculation of fault location for protective relays, which store fault disturbance recordings.
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.
470
According to IEC 60909 [11] the definition of the currents and multiplication factors shown in Figure 22.2.1 are as follows:
initial symmetrical short-circuit current (RMS),
peak short-circuit current (instantaneous value),
symmetrical short-circuit breaking current (RMS),
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,
factor for the heat effect of the d.c. component,
factor for the heat effect of the a.c. component, besides the above currents, the Complete
Method introduces the following current definition:
peak short-circuit breaking current (instantaneous value).
471
The fundamental difference between the assumptions used by the calculation methods is that for
system planning studies the system operating conditions are not yet known, and therefore estimations
are necessary. To this end, the 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 calculation, the IEC 60909 [11] (and VDE 0102) methods work independently of the load flow
(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 system operation 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 insufficient - 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.
472
22.2.1
The IEC 60909/VDE 0102 [11] method uses an equivalent voltage source at the faulted bus and is a
simplification of the superposition method (Complete Method). It is illustrated in Figure 22.2.3. The goal
of this method is to accomplish a close-to-reality short-circuit calculation without the need for the preceding load-flow calculation and the associated definition of actual operating conditions. Figure 22.2.3
illustrates how the equivalent voltage source method can be derived from the superposition method.
The main simplifications are as follows:
Nominal conditions are assumed for the whole network, i.e. = ,
Load currents are neglected, i.e. = 0.
A simplified simulation network is used, i.e. loads are not considered in the positive and negative
sequence network.
To ensure that the results are conservatively estimated, a correction factor, c, is applied to the
voltage at the faulted busbar. This factor differs for the calculation of the maximum and the
minimum short-circuit currents of a network.
The short-circuit calculation based on these simplifications may be insufficient for some practical applications. Therefore, additional impedance correction factors are applied to the physical impedances
of the network elements. This method is described in detail in the following section. Please note in
addition that both IEC 60909 [11] and VDE 0102 do not deal with single phase elements (expect single
phase elements in the neutral conductor).
473
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 shortcircuit current) in meshed networks which are defined as follows:
Method A: Uniform Ratio R/X The factor is determined based on the smallest ratio of R/X of
all the branches contributing to the short-circuit current.
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.
474
,
. The IEC 60909 standard defines an equation for the correction factor for each element type.
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 Definition in the Line Type (TypLne)
475
Figure 22.2.7: On-Load Tap Changer Definition 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
476
Figure 22.2.8: Voltage Range Definition in the Synchronous Machine Element (ElmSym)
Asynchronous Machines The ratio of starting current to rated current is used to determine the shortcircuit impedance (Figure 22.2.9)
Figure 22.2.9: Locked Rotor Current Definition in the Asynchronous Machine Type (ElmAsymo)
Please refer to the IEC 60909 standard to find detailed information regarding specific equipment models
and correction factors for each element.
22.2.2
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
477
1 2
2
(22.1)
478
1 + 2
2.828
(22.2)
2 + 2
(22.3)
=
The total interrupting current in RMS is then:
=
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 shortcircuit 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
classified as local" or remote". A remote source is treated as having only a dc decay, while a local
source is treated as having a dc and ac decay. Depending on this classification, corresponding
curves are used in order to obtain the multiplication factors.
According to ANSI standard, the following short-circuit currents are calculated:
symmetrical momentary (first cycle) short-circuit current (RMS),
symmetrical interrupting short-circuit current (RMS),
16 asymmetrical momentary (Close and Latch - Duty) short-circuit current (RMS). Obtained
by applying a 1.6 factor to
27 peak short-circuit current (instantaneous value). Obtained by applying a 2.7 factor to
,
asymmetrical momentary (Close and Latch - Duty) short-circuit current(RMS). Obtained
by applying a factor to according to the calculated X/R ratio,
peak short-circuit current (instantaneous value). Obtained by applying a factor to ,
according to the calculated X/R ratio.
22.2.3
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-flow condition before short-circuit inception with a condition where all voltage
supplies are set to zero and the negative operating voltage is connected at the fault location. The
procedure is shown in 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 reflecting the
operational variation.
From these pre-fault conditions the pre-fault voltage of the faulted busbar can be calculated. For the
pure fault condition the system condition is calculated for the situation where, the 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
479
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 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 (RMS value) is calculated based on the subtransient shortcircuit current and the transient short-circuit current (both of which are calculated by the complete
method);
The Peak Short-Circuit Breaking Current is calculated from the RMS short-circuit breaking
current and the decaying d.c. component;
The Thermal Equivalent Short-Circuit Current 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 defined in the
load element (Fault Contribution section of Complete Short-Circuit tab).
480
22.2.4
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 fixed offshore units.
The IEC 61363 standard [9]defines only calculation methods for three phase (to earth) short circuits.
Typically marine/offshore electrical systems are operated with the neutral point isolated from the hull
or connected to it through an impedance. In such systems, the highest value of short-circuit current
would correspond to a three phase short circuit. If the neutral point is directly connected to the hull,
then the line-to-line, or line-to ships hull short-circuit may produce a higher current. Two basic system
calculation approaches can be taken, time dependent" and non-time dependent".
According to the IEC 61363 standard [9], PowerFactory calculates an equivalent machine that feeds directly into the short circuit location. This machine summarizes all active" and non-active" components
of the grid.
The 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 proportionally 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 specified in the standard.
Because the standard considers specific system components and models (active" and non-active")
some of the models that can be used in PowerFactory will have no description according to the standard
(such as External Grids, Voltage Sources, Static Generators, etc.). How these elements are considered
and transformed to a replacement equivalent machine is described in the corresponding Technical
Reference (appendix C).
According to this method, the following short-circuit values are calculated:
initial symmetrical short-circuit current,
upper envelope of short-circuit current () ,
() decaying (aperiodic) component of short-circuit current,
peak short-circuit current,
steady-state short-circuit current.
481
22.2.5
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:
rectifiers in three-phase AC bridge connection.
stationary lead-acid batteries.
smoothing capacitors.
DC motors with independent excitation.
The IEC 61660 standard [8] defines equations and equivalent circuits which approximate the timedependent fault contribution of different DC current sources. The standard also defines correction
factors 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.
482
In accordance with standard IEC 61660 [8], PowerFactory calculates the total DC fault current by
considering 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.
483
22.2.6
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 [17]. 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 methodology for calculation of the DC fault contribution of Batteries, DC machines and Rectifiers.
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 specifically
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:
peak short-circuit current
quasi steady-state short-circuit current
network time constant
rate of rise of short-circuit current
22.3
There are different methods of initiating the short-circuit calculation command ComShc in PowerFactory
, which may result in a different configuration of the command. These methods are described in
Sections 22.3.1 and 22.3.2.
22.3.1
The short-circuit command may be executed from the toolbar or main menu in PowerFactory as follows:
By pressing the
By selecting the Calculation Short-Circuit ... option from the main menu.
484
22.3.2
The short-circuit command may be executed from the context-sensitive menu in PowerFactory by selecting an element(s) in the single-line diagram, right-clicking and selecting one of the following options:
Calculate Short-Circuit: performs a short-circuit calculation for each element selected by the
user. It should be noted that the short-circuit calculation for each element is carried out completely
independently of the short-circuit calculation for each other element. For this calculation, only the
following combinations of elements may be selected:
Single or multiple terminals/busbars; or
A single line; or
A single branch.
If several terminals/busbars are selected for analysis, the results of each individual short-circuit
calculation will be displayed together on the single-line graphic.
Calculate Multiple Faults: performs a short-circuit calculation according to the complete method,
for the simultaneous short-circuit of all elements selected by the user. Any combination of busbars, terminals, lines and branches can be selected for this calculation. Additionally, switch/circuit
breaker open/close operations can also be included in the calculation. When this calculation is
selected, the option Multiple Faults in the ComShc dialogue will be automatically ticked.
22.3.3
Faults on Busbars/Terminals
The short-circuit command should first 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 multiselect several busbars/terminals for calculation, the dialogue will be configured 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
485
By selecting the Calculation Short-Circuit ... option from the main menu.
The short-circuit setup dialogue then shows the previously selected busbars/terminals in the Fault
Location section under User Selection.
22.3.4
It is not only possible to calculate short-circuits on busbars and terminals, but also on lines and branches.
It should be noted, however, that only a single line or a single branch can be selected at a time, for each
short-circuit calculation. It is not possible to select multiple lines and/or branches for calculation. To
calculate a short-circuit on one of these types of elements, proceed as follows:
From the single-line diagram, select a single line or a single branch where the fault should be
calculated.
Right-click on the element and select Calculation Short-Circuit .... The short-circuit command
ComShc dialogue opens and the user can then define the location of the fault relative to the elements length (see Figure 22.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 defined as a percentage or as an absolute value.
486
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 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 reflect the intended fault conditions (that is, not
necessarily the calculation of 3-phase faults), please proceed as follows:
Open the short-circuit events object using one of the following methods:
In the Fault Location section of the short-circuit ComShc dialogue, press the Show button
(see Figure 22.3.3; or
Press the
button); or
icon located on the main tool bar (just besides the short-circuit command
In a Data Manager window, open the IntEvtshc object from the current study case, also
denoted by the
icon.
487
488
in the TOperational
Library/FaultsT folder of the project. The user would then need to press the
From Library button (22.3.3).
22.4
The following sections describe the options available in PowerFactory s short-circuit calculation command. Some of these options are dependent upon the selected calculation method, therefore separate
sections dedicated to each method are presented.
22.4.1
The options presented in this section are common to all implemented calculation methods and are used
to define the general settings of the short-circuit calculation. The specific options for each method are
presented below in separate sections.
489
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-flow results (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 specific 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
490
491
Show Output
A textual report is automatically written to PowerFactory s output window when the Show OutputShow
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 location have been selected (i.e. several busbars/terminals), a sequence of short-circuit calculations
is performed (i.e. each short-circuit calculation is carried out independently of each other shortcircuit calculation).
22.4.2
Verification (Except for IEC 61363, IEC 61660 and ANSI/IEEE 946)
When enabled (Verification Tab Page), the user can enter thresholds for peak, interrupting and thermal
maximum loading. The Verification option will then write a loading report to the output window with
all devices that have higher loadings than the defined max. values. This report shows the various
maximum and calculated currents for rated devices. Rated devices include, for instance:
Lines which have a rated short-time current in their line type which is greater than zero; and
Breakers or coupling switches which have a type with a valid rated current.
492
22.4.3
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 verification of documented results.
Calculate
The drop-down list offers the choice between the minimal or maximal short-circuit current. If external
grids are defined, the corresponding maximum or minimum value will be selected 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
stated in
factor c will depend on the voltage level and on the selection of the Calculate according toE"
the short-circuit command.
Max. Voltage tolerance for LV systems
In accordance with the IEC/VDE standard, this voltage tolerance is used to define the respective voltage
correction factor, . The voltage tolerance is not used when a user-defined correction factor is defined.
Short-Circuit Duration
The value for the Breaker Time is used to calculate the breaking current of a circuit breaker. The value
for the Fault Clearing Time (Ith) is required for the equivalent thermal current.
Note: The fields Method, Fault Type, Fault Impedance, Output and Fault Location are described in
Section 22.4.1.
493
22.4.4
Generally, the Advanced Options page (shown in Figure 22.4.5) is used for settings to tune the various
short-circuit calculation methods. Familiarisation with the IEC/VDE standard before modifying these
options is strongly recommended.
Grid Identification
The calculation of the factor kappa is different in the cases of meshed or radial feeding of the shortcircuit. Normally PowerFactory will automatically find the appropriate setting. The option Always meshed
will force a meshed grid approach.
c-Voltage Factor
The standard defines the voltage factor c to be used for the different voltage levels. In special cases
the user may want to define the correction factor. In this case, activate the box User-Defined, then a
specific c-factor can be entered.
Asynchronous Motors
Whether the calculation considers the influence of asynchronous motors on short-circuit currents depends on this setting, which may be Always Considered, Automatic Neglection, or Confirmation of
Neglection.
Conductor Temperature
When activating the User-Defined option, the initial (pre-fault) conductor temperature can be set manually. This will influence the calculated maximum temperature of the 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.
According to the IEC/IEC standard, methods , and can be selected.
The following nomenclature is used:
494
(22.4)
= 2
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.
(22.5)
(22.6)
The ratio Rc/Xc is the equivalent impedance calculated at the frequency given by:
(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 .
DIgSILENTMethod Considers all asynchronous motors according to their breaker current. The
breaker opens after the maximum possible time.
*
/
<1
0.27
< 2.5
0.15
<5
0.092
< 12.5
0.055
495
22.4.5
Prefault Voltage
496
497
22.4.6
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
498
22.4.7
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 flow, or by means of a simplified method, which initializes the internal voltages of all components that contribute to the short-circuit current with their nominal values, multiplied by a scaling factor,
.
The load flow 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 flow command can be accessed and modified by pressing this button
.
The load flow command displayed here is initially taken from the currently active study case.
Short-Circuit Duration
is used to calculate the breaking current of circuit
The value for the Break Time (when set to SGlobal
T)
breakers. Depending on the user selection, the value used for the break time within the calculation is:
DIgSILENT PowerFactory 15, User Manual
499
T,
specified in the short-circuit command.
the breaking current is calculated according to
min. of local When set to Smin.
of localT,
the shortest Break Time of all circuit breakers (defined in the Complete Short-Circuit page of
ElmCoup objects) connected to the busbars being studied.
local When set to Slocal
22.4.8
Initialization
The user may select to initialize the complete method by one of the following options:
the load flow calculation referred to in the Load Flow field of the wordBasic Options tab; or
the nominal voltages with a user-defined correction factor (c-Factor ). It should be noted that this
option is only available in the dialogue when Load Flow Initialisation is not selected.
Peak, DC Currents, R/X ratio (ip, ib, idc)
500
501
22.4.9
Calculate Using
In that section the user could select between the options:
Standard IEC 61363 Method
EMT Simulation Method
With the first 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 configuration of the Simulation and
also the Simulation Results are available. The Simulation option displays the *.ComSim dialogue that is
described in more detail in Chapter 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 first 100 ms after the short-circuit are displayed as results.
The Simulation Results pointer indicates where the results of the EMT short-circuit simulation will be
stored (ElmRes). Typically no changes are required. In another note, this EMT simulation setup (Initial
Conditions and Run Simulation command) is stored separately from the normal EMT simulation in order
to avoid confusion.
502
22.4.10
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 configured. The available options
are:
use load flow initialization If this option is selected, a load flow calculation is first carried out (a
reference to the low flow command is shown). If the load flow is successful, the results are then
used to calculate the short circuit.
use rated current/power factor If this option is selected, the preload condition is obtained from the
rated values of the grid elements (no load flow calculation is executed).
neglect preload condition If this option is selected, no preload information is used to calculate the
short circuit.
22.4.11
The Basic Options page of the Short-Circuit Calculation dialogue provides options to set the fundamental 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
503
22.4.12
Generally, the Advanced Options page contains settings applicable to the IEC 61660 calculation method.
Familiarisation with the IEC 61660 standard before modifying these options is strongly recommended.
Initialisation
The pre-fault voltage can be set via a load flow via checking the Load Flow Initialisation check-box.
Alternatively a user defined 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-defined joint resistance for bus terminations can be specified.
22.4.13
The Basic Options page of the Short-Circuit Calculation dialogue provides options to set the fundamental 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 .
rectifier 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.
504
22.4.14
Generally, the Advanced Options page contains settings applicable to the ANSI/IEEE 946 calculation
method. Familiarisation with the IEEE 946 standard before modifying these options is strongly recommended.
Initialisation
The pre-fault voltage can be set via a load flow 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-defined joint resistance for bus terminations.
Using...
The calculation methodology can be defined 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 predefined report formats. Also available are several diagram colouring options which facilitate a
simplified results overview.
22.5.1
Once a load flow calculation has been successfully executed, the result boxes shown in the single-line
diagram will be populated. There is a result box associated with each side" of an element. So for
example a load has one result box, a line two result boxes, and a three-winding transformer three result
boxes. In PowerFactory these elements are collectively called edge elements. In addition, there are
result boxes for nodes or buses.
505
Figure 22.5.1: Selecting the Result Box from the Single Line Diagram.
Besides these predefined formats the result boxes can be formatted in order to display selected variables.
By right-clicking on one of the result boxes and selecting the option Edit Format for Edge 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
Once a short-circuit calculation has been successfully executed, pressing the Edit Relevant Objects
for Calculation button ( ) located on the main menu will prompt a submenu with icons for all classes
that are currently used in the calculation. Clicking any of the class-icons will open a browser with all
elements of that class that are currently used in the calculation. The left-most tab-page at the bottom of
the browser is the Flexible Data tab page. Click on this tab page to show the flexible data. To change
the columns in the flexible page, press the Define Flexible Data button ( ). This will bring a selection
window where the set of variables can be edited. In the left pane the available variables will be shown
while the right pane will list the selected variables. Pressing the
or
buttons will move the selected
variable from the one pane to the other pane.
22.5.3
In PowerFactory there are predefined report formats also called ASCII reports, available to the user.
These ASCII reports can be created by pressing the Output Calculation Analysis button ( ) located
on the main menu (a short-circuit must be calculated first). This will bring a selection window in which
the user can select a specific type of report. Some reports like the Currents/Voltages" will have various
options which the user can set. The report selection window also shows the report definition which will
506
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 specified values. In PowerFactory there is
the option of selecting different colouring modes according to the calculation performed. If a specific
calculation is valid, then the selected colouring for this calculation is displayed. As an example, if the
user selects the colouring mode Areas" for No Calculation" and Loading of Thermal/Peak ShortCircuit 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 Deenergized" 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 defined by clicking on the Colour Settings button.
"Normal" (Other) Colouring Here, two lists are displayed. The first list will contain all available
colouring modes. The second list will contain all sub modes of the selected colouring mode. The
settings of the different colouring modes can be edited by clicking on the Colour Settings button.
Every element can be coloured by one of the three previous criteria. Also, every criterion is optional and
will be skipped if disabled. Regarding the priority, if the user enables all three criterions, the hierarchy
taken account will be the following:
Energizing Status" overrules the Alarm" and Normal Colouring" mode. The Alarm" mode overrules
the Normal Colouring" mode.
22.6
In medium-voltage networks, resonant grounding can be used for suppressing transient ground-fault
currents, thereby continuing power supply during single-phase earth faults. The dimensioning of the arc
suppression coil (Petersen coil) depends on the capacitive earth-fault current of the grounded network
area. The exact compensation of the capacitive earth-fault current by an inductive coil current of equal
magnitude results in a minimum residual fault current.
In PowerFactory the capacitive earth-fault current of lines and cables in relation to the grounding device
impedance and its rated current can be displayed for each grounding area in the network model in a
pre-defined tabular report. Starting from a substation or node, a grounding area subsumes all parts of
the network that are connected in the zero-sequence system to this substation or node.
To access this functionality in PowerFactory :
507
.
3| + |
508
Chapter 23
Introduction
One of the many aspects of power quality is the harmonic content of voltages and currents. Harmonics can be analysed in either the frequency domain, or in the time-domain with post-processing
using Fourier Analysis. The PowerFactory harmonics functions allow the analysis of harmonics in the
frequency domain. The following functions are provided by PowerFactory :
23.2 Harmonic Load Flow (including harmonic load flow according to IEC 61000-3-6 [7] and flicker
analysis according to IEC 61400-21 [14])
23.3 Frequency Sweep
PowerFactory s harmonic load flow calculates harmonic indices related to voltage or current distortion,
and harmonic losses caused by harmonic sources (usually non-linear loads such as current converters).
Harmonic sources can be defined by either a harmonic current spectrum or a harmonic voltage spectrum. In the harmonic load flow calculation, PowerFactory carries out a steady-state network analysis
at each frequency at which harmonic sources are defined.
A special application of the harmonic load flow is the analysis of ripple-control signals. For this application, a harmonic load flow can be calculated at one specific frequency only.
The harmonic load flow command also offers the option of calculating long- and short-term flicker
disturbance factors introduced by wind turbine generators. These factors are calculated according to
IEC standard 61400-21 [14], for wind turbines generators under continuous and switching operations.
In contrast to the harmonic load flow, PowerFactory s frequency sweep performs a continuous frequency
domain analysis. A typical application of the frequency sweep function is the calculation of network
impedances. The result of this calculation facilitates the identification of series and parallel resonances
in the network. These resonance points can identify the frequencies at which harmonic currents cause
low or high harmonic voltages. Network impedances are of particular importance in applications such
as filter design.
PowerFactory provides a toolbar for accessing the different harmonic analysis commands. This toolbar can be displayed (if not already active) by clicking the Change Toolbox
button and selecting
Harmonics/Power Quality.
The Harmonics/Power Quality toolbar provides icons to access four pre-configured command dialogues:
DIgSILENT PowerFactory 15, User Manual
509
Flickermeter
These command dialogues can also be accessed via PowerFactory s main menu:
Calculation Harmonics/Power Quality Harmonic Load Flow. . .
Calculation Harmonics/Power Quality Impedance Frequency Characteristic. . .
Calculation Harmonics/Power Quality Flickermeter. . .
Calculation Harmonics/Power Quality Connection Request Assessment. . .
on this toolbar
Additionally, following the calculation of a harmonic load flow, the icon Filter Analysis
is activated. This icon is used to open the Filter Analysis (ComSh) command dialogue. This command
analyses results from the most recent harmonic load flow calculation and outputs results to PowerFactory s output window. The Harmonic Load Flow, Frequency Sweep and Connection Request functions
and their usage are described in this chapter. The Flickermeter function is described in Chapter 24
(Flickermeter).
23.2
To calculate a harmonic load flow, click on the Calculate Harmonic Load Flow icon
dialogue for the Harmonic Load Flow (ComHldf ) command as shown in Figure 23.2.1.
to open the
For a detailed description of how harmonic injections are considered by PowerFactory, refer to Section 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 flow command.
510
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 harmonic order, etc.). Therefore, at all frequencies
a single-phase equivalent (positive or negative sequence) can be used for the analysis.
Unbalanced, 3-phase (ABC) For analysing non-characteristic harmonics (3rd-order, even-order,
inter-harmonics), unbalanced harmonic injections, or harmonics in non-symmetrical networks,
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 flow 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 flow at the fundamental frequency.
All Frequencies Selecting this option will perform harmonic load flow calculations for all frequencies for which harmonic sources are defined. These frequencies are gathered automatically prior
to the calculation. The results for all frequencies are stored in a result file, which can be used
to create bar chart representations of harmonic indices (see also Section 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 harmonics of AC-systems with identical fundamental frequencies. The relevant nominal frequency
must be entered here (usually 50Hz or 60Hz).
Output Frequency This is the frequency for which results are displayed in the single-line graphic.
In the case of a Single Frequency calculation, this is the frequency for which a harmonic load flow
is calculated. When option All Frequencies is selected, this parameter only affects the display
of results in the single line diagram. It does not influence the calculation itself. In this case, the
results displayed in the single line diagram are for the defined Output Frequency. A change made
to the Output Frequency will cause the Harmonic Order to be automatically changed accordingly.
Harmonic Order This is the same as the Output Frequency but input as the Harmonic Order
(f/fn). The Harmonic Order multiplied by the Nominal Frequency always equals the Output
Frequency. Both floating-point and integer values are valid as inputs. A change made to the
Harmonic Order will cause the Output Frequency to be automatically changed accordingly.
Calculate Flicker
Calculate Flicker When selected, the long- and short-term flicker disturbance factors are calculated 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 analysed. This calculation is only performed at the fundamental
frequency. For an unbalanced harmonic load flow, impedance ratios (as described in Section 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.
DIgSILENT PowerFactory 15, User Manual
511
23.2.2
IEC 61000-3-6
23.2.3
Advanced Options
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.
512
Harmonic analysis by frequency sweep is normally used for analysing self- and mutual- network impedances.
However, it should be noted that not only self- and mutual-impedances can be analysed and shown. The
voltage source models (ElmVac, ElmVacbi) available in PowerFactory allow the definition of any spectral
density function. Hence, impulse or step responses of any variable can be calculated in the frequency
domain. One common application is the analysis of series resonance problems. The following sections
describe the options available in the harmonic frequency sweep command.
23.3.1
Basic Options
Network Representation
Balanced, positive sequence This option uses a single-phase, positive sequence network representation, valid for balanced symmetrical networks. A balanced representation of unbalanced
objects is used.
Unbalanced, 3-phase (ABC) This option uses a full multiple-phase, unbalanced network representation.
Impedance Calculation
The frequency sweep will be performed for the frequency range defined by the Start 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 floatingpoint and integer values are valid as inputs.
Result Variables and Load Flow
DIgSILENT PowerFactory 15, User Manual
513
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:
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 analyses the results from the previous harmonic load flow and
outputs results to the PowerFactory output window. It outputs a summary of the harmonics for the
terminals/busbars and branch elements at the frequency specified in the Output Frequency field of the
harmonic load flow command. It also reports the parameters and different variables for the installed
filters.
or by using the Output
The filter analysis command can be activated using the Filter Analysis button
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 specified in the harmonic
load flow command is displayed in red text (see top of dialogue in Figure 23.4.1).
514
515
23.5
Every switched device produces harmonics and should therefore be modelled as a harmonic source. In
PowerFactory , harmonic sources can be either current sources or voltage sources. The following models can be used to generate harmonics (the PowerFactory element names are given in parentheses):
General loads (ElmLod);
Thyristor rectifiers (ElmRec, ElmRecmono);
PWM-converters (ElmVsc, ElmVscmono), which can be modelled as sources of harmonic voltages or harmonic currents;
AC voltage sources (ElmVac, ElmVacbi), which may also be used for ripple control applications;
AC current sources (ElmIac, ElmIacbi);
Static generators (ElmGenstat);
Static var systems (ElmSvs);
External grids (ElmXnet);
Synchronous machines (ElmSym).
See Section 23.5.1 (Definition of Harmonic Injections) for information on how to define harmonic injections for these sources.
Note: Harmonic injections can be modelled in EMT simulations using the Fourier source object. For
further details please refer to the Technical References in Appendix C.
516
23.5.1
Element
General load
(ElmLod)
Thyristor rectifier
(ElmRec, ElmRecmono)
PWM-converter
(ElmVsc, ElmVscmono)
AC current source
(ElmIac, ElmIacbi)
Static generator
(ElmGenstat)
Static var system
(ElmSvs)
External grid
(ElmXnet)
AC voltage source
(ElmVac, ElmVacbi)
Synchronous machine
(ElmSym)
Definition of Harmonics
Harmonic Sources type
(TypHmccur )
Remarks
Must be defined as a Current Source on
the Harmonics/Power Quality page of the
loads assigned Type
On
Harmonics/Power
Quality page of element
itself
On
Harmonics/Power
Quality page of element
itself
Harmonic voltages type
(TypHmcvolt)
When defining the spectrum via the Harmonic Sources type object, the harmonic infeeds can be entered
according to one of three options: Balanced, Phase Correct or Unbalanced, Phase 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 flows, the magnitudes and phases of positive and negative sequence harmonic injections at integer
harmonic orders can be defined, as shown in Figure 23.5.1.
517
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 defined,
as shown in Figure 23.5.2. In the case of a balanced harmonic load flow, harmonic injections in the zero
sequence are not considered, and harmonic injections at non-integer harmonic orders are considered
in the positive sequence. In the case of an unbalanced harmonic load flow, harmonic injections in the
zero sequence and at non-integer harmonic orders are considered appropriately. See Table 23.5.3 for
a complete summary.
518
=
,
(23.1)
=0
where is the resultant harmonic voltage magnitude for the considered aggregation of sources at
order , and is the exponent as given in Table 23.5.2 [7].
The Harmonic Sources type set to option IEC 61000 (as shown in Figure 23.5.3) allows the definition of
integer and non-integer harmonic current magnitude injections. In the case of balanced and unbalanced
harmonic load flows, zero sequence order injections and non-integer harmonic injections are considered
in the positive sequence. This is summarised in Table 23.5.3. It should be noted that in order to execute
an harmonic load flow according to IEC 61000-3-6, at least one harmonic source in the network
must be defined as IEC 61000 (i.e. as shown in Figure 23.5.3).
Alpha Exponent Value
1
1.4
2
Harmonic Order
<5
5 <= <= 10
> 10
519
Table 23.5.4 describes the consideration of the sequence components of the harmonic orders for the
AC voltage source (ElmVac, ElmVacbi), external grid (ElmXnet) and synchronous machine (ElmSym).
Additionally, the voltage source allows the following to be input for use in the Frequency Sweep calculation:
Spectral density of voltage magnitude;
Spectral density of voltage angle;
Frequency dependencies (in the form of 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 modelling 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.4 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.3.
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 is calculated by:
= 1 1
520
(23.2)
/1
/1
=
/1
/1
1
=
if balanced
if unbalanced phase a
if unbalanced phase b
if unbalanced phase c
if balanced
if unbalanced phase a
if unbalanced phase b
if unbalanced phase c
(23.3)
(23.4)
The values at the fundamental frequency, 1 and 1 , are taken from a preceding load flow calculation.
A normal load flow calculation is therefore required prior to a harmonic load flow calculation.
In the case of balanced systems in which only characteristic harmonics of orders 5, 7, 11, 13, 17,
etc. occur, the option Balanced, Phase Correct should be selected in the Type of Harmonics Sources
section (as shown in Figure 23.5.1). In this context, Balanced refers to characteristic harmonics. In the
balanced case, the harmonic frequencies are determined by the program (note that in the unbalanced
case, the harmonic frequencies can be freely-defined).
For harmonic sources which produce non-characteristic, unbalanced or inter-harmonics, the option Unbalanced, 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 chosen
individually for each harmonic frequency. This mode therefore caters for every possible kind of harmonic
source.
The problem commonly arises as to how one can represent the harmonic content in a 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:
: 0
: 120
: +120 (240 )
For harmonics of order :
: 0
: * 120
: + * 120
Taking the 3rd harmonic as an example:
: 0 (= 0 )
: 360 (= 0 )
: +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
sequence system, the following phase correction needs to be entered:
: 0
: +( 1) * 120
: ( 1) * 120
DIgSILENT PowerFactory 15, User Manual
521
Harmonic
Load Flow
Command
Setting
Harmonic Current
Source Type
Balanced
Balanced,
Phase Correct
Unbalanced,
Phase Correct
Positive, negative;
Triplen harmonics (i.e. 3, 6, 9, ...) are ignored and noninteger harmonic 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 Correct
Unbalanced,
Phase Correct
IEC 61000
522
Harmonic
Load Flow
Command
Setting
Balanced
ElmVac/ElmXnet/
ElmSym Setting
Phase Correct
IEC 61000
Positive, negative;
Triplen harmonics and non-integer harmonics are in the
positive sequence.
Unbalanced
Phase Correct
IEC 61000
Table 23.5.4: Consideration of Sequence Components of Harmonic Injections for AC Voltage Source,
External Grid and Synchronous Machine
23.5.2
The assignment of harmonic injections to the following elements is done via the individual elements
dialogue on the Harmonics page. This is illustrated in Figure 23.5.4 for the case of a general load.
523
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 has been
selected to be IEC 61000, the harmonic current is always referred to the rated current and this option is
read-only.
Harmonic injections defined for external grids (ElmXnet) and voltage sources (ElmVac, ElmVacbi) are
implicitly assigned, as they are defined on the elements respective Harmonics pages. No further
assignment is therefore necessary. See Section 23.5.1 (Definition of Harmonic Injections) for further
information.
23.5.3
Harmonics Indices
The Harmonic Load Flow calculation in PowerFactory yields a vast number of results for network elements. In this section, some of the more prominent harmonic indices are described mathematically.
They are described here in terms of current, but may be identically described for voltage by substituting
for in all cases. It should be noted that the reference value used in the equations depends upon the
user selection in the Harmonic Load Flow command dialogue (as described in Section 23.2.3). The two
possible options are:
(i) based on fundamental frequency values:
= |1 |
524
(23.5)
DIgSILENT PowerFactory 15, User Manual
(23.6)
The harmonic distortion (HD) of a waveform describes the individual harmonic contribution and is
described in terms of current by:
(23.7)
=
(23.8)
=
2
(
)
=1
where is the highest order for which harmonic injections have been defined. The total harmonic
distortion (THD) is the most common harmonic index, and describes the total harmonic distortion of a
current waveform as follows:
2
=2 ( )
=
(23.9)
where is the user-specified maximum harmonic order up to which should be included the calculation of THD. This is the parameter Max. harmonic order for calculation of THD and THF available
in the harmonic load flow command dialogue, and is explained further in Section 23.2.3. The total
harmonic factor (THF) is based on RMS values and is calculated as:
( )
(23.10)
= =2
2
=1 ( )
The total arithmetic distortion (TAD) is calculated as:
=
1
[ |1 |]
|1 |
(23.11)
where |1 | is the magnitude of the current at the fundamental frequency, and the arithmetic sum value
is given by:
=
| |
(23.12)
=1
where is the harmonic order and is the highest order for which harmonic injections have been
defined.
The total power (TP) describes the power absorbed over all frequency components, as shown in:
=
(23.13)
=1
where is the harmonic order and is the highest order for which harmonic injections have been
defined.
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.14):
=
2
(| |)2
(23.14)
where is the IEC 61000 harmonic voltage magnitude as defined in (23.1) and | | is the voltage
magnitude.
HD, THD and TAD for non-integer harmonic orders.
DIgSILENT PowerFactory 15, User Manual
525
23.5.4
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 characteristic" with these quantities. Two types of characteristic may be used: either a Frequency Polynomial
Characteristic (ChaPol) as illustrated in Figure 23.5.5, or a user-defined 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.6 for a line type.
For the frequency polynomial characteristic object illustrated in Figure 23.5.5, the formula given by
(23.15) is used:
( ) = (1 ) + ( )
(23.15)
1
The parameters a and b are specified 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.16):
( ) = ( )
(23.16)
An example of the use of the polynomial characteristic for a line type is shown in Figure 23.5.6.
It is also possible to define frequency dependent characteristics using a vectorial parameter characteristic (ChaVec). An example for a grid impedance defined with a vectorial parameter characteristic is
shown in Figure 23.5.7.
526
527
23.5.5
Waveform Plot
The waveform plot is used to display the waveform of a voltage or a current following a harmonic load
flow calculation. The harmonics are typically emitted by a harmonic voltage or current source, as
described in Section 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 defined in a harmonic source (i.e.
a power electronic device or a load), can be easily shown as a time-dependent variable. This way the
real shape of the voltage can be seen and analysed. An example plot of harmonic distortion is shown
in Figure 23.5.8.
528
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 file should have the Bars option enabled. To do this, open the
subplot dialogue by double-clicking on a subplot, going to the Advanced tab, and selecting Bars in the
Presentation frame.
23.6
The IEC standard 61400-21 [14] describes the measurement and assessment of power quality characteristics of grid connected wind turbine generators (WTGs). One of these power quality characteristic
parameters pertains to voltage fluctuations. Voltage fluctuations can produce undesirable effects on the
consumer side which may manifest as flicker (visible flickering effects from light sources), and voltage
changes (voltage magnitude being too high or too low).
In the assessment of a WTGs power quality in terms of voltage fluctuations, the operation of WTGs
can be subdivided into two modes: continuous operation and switching operations (see Sections 23.6.1
(Continuous Operation) and 23.6.2 (Switching Operations) for definitions). These modes of operation
are considered by the PowerFactory flicker calculation, which calculates the short-term and long-term
flicker disturbance factors. See Section 23.6.6 (Flicker Result Variables) for a list of the flicker result
variables available. The calculation of flicker is performed optionally as part of the harmonic load flow
command. For a detailed description of how to configure and execute a harmonic load flow, including
the calculation of flicker, refer to Section 41.4.1 (Basic Options).
529
23.6.1
Continuous Operation
Continuous operation is defined in IEC standard 61400-21 as the normal operation of the wind turbine
generator (WTG) excluding start-up and shut-down operations. The short-term and long-term flicker
disturbance factors during continuous operation are defined in [14] as:
= = ( , )
(23.17)
where is the short-term flicker disturbance factor; is the long-term flicker disturbance factor; is
the flicker coefficient for continuous operation; is the network impedance angle (degrees); is the
average annual wind speed (m/s); is the rated apparent power of the wind turbine (VA); and is the
short-circuit apparent power of the grid (VA).
When more than one WTG exists at the point of common coupling (PCC), the summed short-term and
long-term flicker disturbance factors for continuous operation are described in [14] as:
1
(( , ) )2
(23.18)
= =
,
=1
where is the number of wind turbine generators at the PCC.
23.6.2
Switching Operations
Switching operations are defined in IEC standard 61400-21 as start-up or switching between wind
turbine generators (WTGs). In this mode of operation, the short-term and long-term flicker disturbance
factors during switching operations are defined in [14] as:
= 18 10 0.31 ( )
(23.19)
where 10 is the number of switching operations in a 10-minute period; is the flicker step factor;
is the network impedance angle (degrees); is the rated apparent power of the wind turbine (VA); and
is the short-circuit apparent power of the grid (VA).
= 8 120 0.31 ( )
(23.20)
where 120 is the number of switching operations in a 120-minute period; is the flicker step factor;
is the network impedance angle (degrees); is the rated apparent power of the wind turbine (VA);
and is the short-circuit apparent power of the grid (VA).
When more than one WTG exists at the PCC, the short-term flicker disturbance factor under switching
operations is defined in [14] as:
=
[
]0.31
18
10, (, ( ) , )3.2
=1
(23.21)
Likewise, the long-term flicker disturbance factor under switching operations is defined as:
=
[
]0.31
8
120, (, ( ) , )3.2
=1
(23.22)
= 100 ( ( )
(23.23)
530
23.6.3
The calculation of flicker according to IEC standard 61400-21 in PowerFactory considers flicker contributions 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 flicker, their flicker contributions must first be defined
and assigned, as described in Sections 23.6.4 (Definition of Flicker Coefficients) and 23.6.5 (Assignment of Flicker Coefficients).
23.6.4
Flicker coefficients are defined in PowerFactory by means of the Flicker Coefficients type (TypFlicker ),
as illustrated in Figure 23.6.1. When created, this is stored by default in the Equipment Type Library
folder in the project tree.
Figure 23.6.1: Definition of Flicker Coefficients using the Flicker Coefficients Type (TypFlicker )
The Flicker Coefficients type allows the input of six parameters (all of which are defined in IEC standard
61400-21):
Network Angle, psi (degrees) This is the network impedance angle and must be entered in either the
range [-180,180] (default), or [0,360]. Any mix of these ranges is not permitted. Network angles must
be entered in ascending order.
Coefficient, c(psi) The flicker coefficient as a function of the network impedance angle.
Step Factor, kf(psi) The flicker step factor as a function of the network impedance angle.
Voltage Change Factor, ku(psi) The voltage change factor as a function of the network impedance
angle.
DIgSILENT PowerFactory 15, User Manual
531
23.6.5
The Harmonics page of these elements dialogues contains a Flicker Contribution section which allows
the assignment of Flicker Coefficients. This is illustrated for the case of an asynchronous machine in
Figure 23.6.2.
If Flicker Coefficients is left unassigned, the generator is then considered to be an ideal source for the
flicker calculation, as illustrated in Figure 23.6.3.
532
23.6.6
Following the calculation of flicker according to IEC 61400-21, the following result variables for every
node in the network are available in the single line graphic. It should be noted that PowerFactory
calculates these flicker 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 flicker disturbance factors for continuous operation
of the wind turbine generator/s;
Pst_sw; Plt_sw: short-term and long-term flicker disturbance factors for switching operations of
the wind turbine generator/s;
d_sw: relative voltage change (as a percentage).
For the mathematical definitions of these result variables, refer to Sections 23.6.1 (Continuous Operation) and 23.6.2 (Switching Operations).
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, ,
of the grid. Hence, for power quality assessment at a point V in the grid, this short-circuit power, ,
under normal operating conditions is used instead of the short-circuit power of the faulted grid according
to short-circuit calculations. If the Harmonic Load Flow command option Calculate Sk at Fundamental
Frequency is enabled (see Section 41.4.1 (Basic Options)), the short-circuit power of the grid under
normal operation is available in the calculation results.
533
23.7.1
For the balanced harmonic load flow, the calculation of the short-circuit power, , at each bus is as
follows:
1
=
(MVA)
(23.24)
| |
where is the impedance calculated at the bus.
The calculation of the impedance angle, , at each bus is as follows:
=
(degrees)
(23.25)
23.7.2
For the unbalanced harmonic load flow, the calculation of the short-circuit power, , at each bus is as
follows:
1
=
(MVA)
(23.26)
|1 |
where 1 is the positive sequence impedance calculated at the bus.
The calculation of the impedance angle, , at each bus is calculated as follows:
= 1
(degrees)
(23.27)
23.7.2.1
The following impedance ratios are calculated following an unbalanced harmonic load flow (if option
Calculate Sk at Fundamental Frequency has been selected):
21 =
|2|
|1|
0
1
0
00 =
0
01 =
23.7.3
(23.28)
(23.29)
(23.30)
Sk Result Variables
Following either a balanced or an unbalanced harmonic load flow 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 definitions 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 flow with the option Calculate Sk at Fundamental Frequency
selected, the following additional result variables are available for every 3-phase bus in the network:
534
23.7.4
The external grid element, ElmXnet, allows the calculation of the network impedance to be based on
the short-circuit power, , and impedance angle, . 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 fields 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
calculated 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
operation, depending on the users selection.
Data for input parameters (SkV, psikV, z2tz1kV, x0tx1kV, and r0tx0kV ) can first 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 simplified 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
command, 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
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 flicker
Voltage unbalance
Harmonics
Commutation notches
Interharmonic voltages
535
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 flicker severity Pst, Plt at the
point of common coupling, and assesses these according to appropriate limits. For the calculation
of flicker, 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. For HV networks, the
consideration of resonances is optional.
Commutation notches Calculates the relative short-circuit voltage of the commutation reactance, ukkom. It should be noted that no approval status is provided following the Commutation
Notches calculation, but instead a recommendation.
Interharmonic voltages For LV and MV networks, assesses the effect of user-defined interharmonic voltages in the flicker 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-defined
harmonic load and user-defined interharmonic voltages against appropriate limits.
Resonances (HV Networks only)
Consideration of resonances Selection of either no consideration of resonances or approximate consideration of the first parallel resonance point. It should be noted that limits for resonances are not a criteria for the assessment, but are output as information.
Grid contains mostly Selection of either cables or overhead lines. Used in the selection of the
resonance factor, (as defined in [15]), which is also dependent upon the harmonic order. It
should be noted that the highest resonance factors within the ranges stated in [15] are chosen.
536
23.8.1.2
Outputs
Report
Prints a Connection Request Assessment summary report in PowerFactory s output window.
23.8.2
ElmConreq) allows the input of data for a network user instalThe Connection Request element (
lation. It should be noted that data input applies to network installations comprising loads and motors
only.
23.8.2.1
Basic Data
Connected load, Sa The apparent power (kVA) for which the installation of the network user is
defined.
23.8.2.2
D-A-CH-CZ
537
538
23.8.3
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). For HV networks, the Assessment Level (1 or 2,
according to [15]) at which the Connection Request was approved or not is also output.
Basic Data
PCC Data
Results per Calculation (depending on user selection of Calculations in Connection Request
Assessment command dialogue.)
539
23.9
In order to record the results of either the Harmonic Load Flow or Frequency Sweep calculation, the
variables of interest must be defined. However, for each of these calculations, a small selection of
variables are recorded by default in the result object defined on each 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 italicised):
Harmonic order (-);
Frequency (Hz);
HD (%) (for terminals);
Voltage across inductor (p.u.) (url) (for shunts/filters);
Voltage across capacitor (p.u.) (uc) (for shunts/filters);
Current through inductor (A) (IL) (for shunts/filters);
Current through resistor Rp (A) (IRp) (for shunts/filters);
Current through capacitor C (A) (IC) (for shunts/filters);
Voltage across capacitor C1 (A) (uc1) (for shunts/filters);
Voltage across capacitor C2 (A) (uc2) (for shunts/filters);
Voltage across resistor Rp (p.u.) (urp) (for shunts/filters);
For the Frequency Sweep, the following variables are recorded by default:
Harmonic order (-);
Frequency in Hz (Hz);
In order to define additional variables to be recorded, a two-step process is required of firstly creating
the desired Variable Set and then selecting the variables for recording within these sets. These steps
are described in Sections 23.9.1 (Definition of Variable Sets) and 23.9.2 (Selection of Result Variables
within a Variable Set), respectively.
23.9.1
To define a Variable Set, right-click on a network component (or multi-select several network components and right-click), either in the single-line diagram or in the data manager, and select the option
Define Variable Set (Harmonic Load Flow); or Define Variable Set (Frequency Sweep). This
will add a new (but still empty) variable set for the selected object to the result object (referred to by
parameter Result Variables on the Basic Options page of the Harmonic Load Flow or Frequency Sweep
command dialogue).
All results of harmonic analysis, with the exception of the harmonic load flow using option Single
Frequency (for which no results are recorded), are stored in a normal result object (ElmRes). This
result object stores the result variables against the frequency for which they were calculated. For more
information about the result object, see Section 17.2.4 (Result Objects).
on the main toolbar. There are
To access the variable sets, click on the Edit Result Variables button
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
540
23.9.2
The selection of result variables for a variable set can only proceed when the column labelled Object for
any defined 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 specific object or network element.
A single variable set from the variable sets list can be accessed (and the desired variables defined)
by either double-clicking on the icon in the corresponding row, for example in the case of the SymTerminal" 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 SymTerminal. 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 field in the dialogue in Figure 23.9.2 shows that the variable set is
defined for the network element Sym-Terminal".
541
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 Visualising Results.
542
Chapter 24
Flickermeter
24.1
Introduction
In terms of power quality, the term flicker is used to describe the phenomenon of unwanted, rapidly
fluctuating light levels due to voltage fluctuations. The IEC 61000-4-15 standard specifies the function
and design of apparatus for the measurement of flicker, termed the Flickermeter. This Flickermeter
comprises five functional blocks which, via the use of multipliers, weighting filters, and smoothing and
squaring operations, perform the tasks of simulating the lamp-eye-brain chain response, and statistically
evaluating the flicker signal [12]. PowerFactory provides a Flickermeter command for the calculation of
the short-term and long-term flicker according to IEC 61000-4-15.
The following sections explain the calculation of short- and long-term flicker by the Flickermeter command, as well as its configuration and handling.
24.2
24.2.1
The short-term flicker value calculated according to IEC 61000-4-15 is a measure of the severity of
the flicker based on an observation period of 10 minutes. It is defined mathematically as follows [12]:
(24.1)
+(0, 28 10 ) + (0, 08 50 )
where the percentiles 0,1 ,1 ,3 ,1 0 and 5 0 are the flicker levels exceeded for 0.1; 1; 3; 10; and 50%
of the time during the observation period. The subscript used in the above formula indicates that
smoothed values should be used, which are defined as follows [12]:
30 + 50 + 80
3
6 + 8 + 10 + 13 + 17
=
5
2,2 + 3 + 4
3 =
3
50 =
10
(24.2)
(24.3)
(24.4)
543
1 =
24.2.2
0,7 + 1 + 1,5
3
(24.5)
The calculation of the severity of long-term flicker, , considers the short-term flicker severity values
over a longer period of time and is calculated according to the following equation [12]:
=1
(24.6)
where ( = 1, 2, 3, . . .) are the consecutive values and is the number of observation periods.
It can be seen from [12] that when = 1, = .
24.3
Flickermeter Calculation
24.3.1
Flickermeter Command
in the Harmonics toolbar, which is acThis command is accessible via the Flickermeter button
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.
544
24.3.2
Data Source
File Input
Import data from Specifies the type of data file containing the input data. There are five file
types available for selection.
Filename The name of the input data file.
Result File The name of the input PowerFactory result file.
Configuration File Relevant to ComTrade input files only. The name of the corresponding
configuration file.
Info A summary of information read from the file.
Use System Separators Relevant to comma-separated value (CSV) input files only. Tick the
checkbox to use the same separators for parsing the file as those used by the operating system.
When unchecked, separators are user-definable.
Separator for columns In the case of a Power Factory Measurement File as the input file type,
this indicates the character used as a separator for the columns in the file. In the case of a User
Defined Text File as the input file type, the separator may be selected as one of Tab, Space or
Other (user-defined).
Decimal Separator Indicates the separator used for decimal numbers. This is user-definable for
a User Defined Text File as the input file type
Selection of Data for Calculation
This table allows the selection of input file data to be analysed. The leftmost column (with labels 1, . . .,
24) provides a naming convention for the output of results, indicating which time-series signals from
the input file were analysed.
Element Relevant only to a Result File input file type. Used to specify the element from the result
file for which a variable to analyse will be selected. This variable is then specified in the Variable
column of the same table
Variable Relevant only to a Result File input file type. Used to specify the variable for the
Flickermeter command to analyse. This variable is associated with the selected Element (see
above).
Column Number Refers to the column/s in the input file which correspond to the time-series
signal/s to be analysed.
Variable Name For ComTrade files, the variable name is automatically read from the input file
and displayed in the Variable Name column. No variable name is provided for other file types.
Calculate Pst Allows the user to select the signals in the input file for which to calculate the
short-term flicker ( ). Valid for all input file types with the exception of result files.
24.3.3
Signal Settings
Signal Settings
Signal Type Selection of either EMT or RMS input signal type.
Specify start time User-defined start time at which data should be read from file. This is an
absolute time value that exists within the input file, from which data will be read. If this value
DIgSILENT PowerFactory 15, User Manual
545
Calculation Settings
Observation Period The time period over which the flicker will be analysed.
Calculate Plt Perform calculation of long-term flicker . When this option is checked, a result
file is written.
Observation Periods The number of successive observation periods (or time windows") to
analyse.
24.3.4
Advanced Options
Input signals for Flickermeter can be either RMS or EMT signals. The algorithm treats both of these inputs the same, with the exception of the weight filter coefficients, scaling factor and the cut-off frequency
used. The weight filter coefficients are preset (see Table 24.3.1), however the scaling factor and cut-off
frequency are user-definable parameters and are described below.
Parameter Definitions
Cut-off Frequency Cut-off frequency of Butterworth filter (Hz). When using an RMS input signal,
the cut-off frequency is set to 50Hz; when using an EMT input signal, its default value is 35Hz but
can be user-defined.
Filter Offset The offset (in seconds) for the filters to stabilise. A positive, non-zero offset should
always be entered. When using an RMS input signal, the filter offset is set to 5s; when using an
EMT input signal its default value is 5s but can be user-defined. A value of 5s is the minimum
amount of time required to initialise the filters and to attenuate the initial transient.
Scaling Factor Calibration parameter. When using an RMS input signal, the scaling factor is set
to 300469,4835 (defined as 2 / (0.0025*0.0025) / 1.065). When using an EMT input signal, its
default value is 303317,5 but can be user-defined.
Set to default Resets the Cut-off Frequency, Filter Offset and Scaling Factor to default values.
Constant Sampling Rate
Variable
1
2
3
4
RMS
1, 74
2 4, 1
2 9, 15
2 2, 27979
2 1, 22535
2 1000
Command Displays the command used to output results. The Flickermeter command will write
results to a result file provided that option Calculate Plt on the Signal Settings page has been
selected. The result file used can be accessed via the dialogue which opens when the Command
is pressed.
button
Additionally, results of the Flickermeter command can be viewed within the Data Manager as Flexible
Data of the Flickermeter command itself. The relevant variable names for selection when defining the
Flexible Data are : _1, . . ., : _24, for short-term flicker values; and : _1, . . ., : _24
for long-term flicker values). In this case, viewing the results of a Flickermeter calculation will appear
similar to that illustrated in Figure 24.3.2. It should be noted that when multiple Observation Periods
have been calculated, only the Plt results will be displayed (Pst results are shown as 0); and for a single
Observation Period the Pst results will be displayed. For further information on defining Flexible Data
in the Data Manager in PowerFactory , refer to Chapter 10: Data Manager, Section 10.6(The Flexible
Data Page Tab).
24.3.5
The Flickermeter command can handle five different input file types. The configuration of the Flickermeter command for each file type differs slightly, and is therefore described for each case in this
section.
Note: The minimum sampling rate required for instantaneous input data is 400Hz, and for RMS input
data is 800Hz.
547
548
Figure 24.3.4: Configuration of Flickermeter Command for CSV or User Defined Text Input File
549
Figure 24.3.6: Configuration 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 file as the input file type is practical
when the user wants to first record results from, for example, an EMS/RMS simulation in a result file,
and then analyse the flicker contribution of one or more variables from this file. In the example in
Figure 24.3.7, the specified Element in the Selection of Data for Calculation table is a terminal element
(named LV Busbar") recorded in the result file, with its corresponding voltage selected as the Variable
to analyse. See Section 24.3.2 (Data Source) for information on other Flickermeter command options.
550
551
552
Chapter 25
Quasi-Dynamic Simulation
25.1
Introduction
The load flow 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
difficult to intuitively understand what operating scenarios and network states cause such conditions.
Consequently, to determine the worst case operating conditions, engineers often must run several
different load-flow 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 flow 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 flow 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-flow calculations and built in parameter dependence on time.
PowerFactory includes a dedicated time varying load flow calculation tool called the Quasi-Dynamic
Simulation. This tool completes a series of load flow simulations spaced in time, with the user given the
flexibility 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 first section, Section 25.2, covers the technical
background 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
553
25.2
Technical background
Consider a simplified 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.
554
Figure 25.2.2: An example of weekly power flows in the example system calculated using the QuasiDynamic simulation tool
25.3
How to complete a
Quasi-Dynamic Simulation
25.3.1
Before running the Quasi-dynamic simulation, it is necessary to tell PowerFactory what variables to
record. To do this:
DIgSILENT PowerFactory 15, User Manual
555
2. Click the
3. Select the type of results to be defined, either AC, AC unbalanced or DC. Note, the type of
variables that you want to monitor should match the type of load-flow calculation you are using for
the simulations.
4. Click OK. A tabular list showing the currently monitored variables will appear. By default PowerFactory 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
(b) To add recorded variables for all objects of a specific class (for example all PV systems):
i. Enter the object class in the Class Name field. 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 specific object:
i.
ii.
iii.
iv.
v.
Click the
button.
Choose Select . . . . A database navigation dialogue will appear.
Locate target object and select it.
Press OK to open the variable selection dialogue.
Navigate to the desired page, and select variables from the desired variable set.
25.3.2
1. Click
2. Click
to edit and configure the load flow calculation settings used by the simulation.
25.3.3
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 defining planned outages refer to Section 12.3.5.
To make the Quasi-dynamic simulation consider the defined 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 defined 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 defined within the project. Note, even those outages that
would not occur during the simulation period are shown in this view.
25.4
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
557
25.4.2
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
25.4.3
Conveniently, PowerFactory also calculates summary statistics for every monitored variable in the Quasidynamic 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:
(
)
2
558
(25.1)
559
560
Chapter 26
);
Calculating the initial conditions for the simulation by either pressing the Initial Conditions
on
the main toolbar, or by selecting Calculation Stability Initial Conditions... from the main menu;
When the initial values have been calculated successfully, the icon
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 defined by the ability of the system to maintain stable operation under normal
and perturbed conditions. It is therefore necessary to design and operate a power system so that
transient events (i.e. probable contingencies), can be withstood without the loss of load or loss of
DIgSILENT PowerFactory 15, User Manual
561
26.2
Calculation Methods
26.2.1
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. optimisation of spinning reserve and load shedding);
oscillatory stability (e.g. optimisation 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
If asymmetrical faults or unbalanced networks have to be analysed, the three phase RMS simulation
function must be used. This simulation function uses a steady-state, three-phase representation of
the passive electrical network and can therefore compute 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 analysed 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
563
26.2.3
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;
Over-voltage 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 defined
events (symmetrical and asymmetrical) can be simulated. The EMT function can also be used for the
simulation of longer-term transients. However, due to the passive network elements being represented
dynamically, the integration step size has to be significantly smaller than in the case of a steady-state
representation and as a result, the calculation time increases.
26.3
Setting Up a Simulation
Based on the results of a load flow calculation, all internal variables and the internal operating status of
connected machines, controllers and other transient models have to be determined. As a result of this
calculation, the synchronous generator excitation voltages and load angles are calculated. Additionally,
all state variables of controllers and power plant models, and any other device which is active and will
affect the time-domain simulation, are also calculated.
The calculation of initial conditions is started by one of the following means:
Selecting the stability toolbar, and then pressing the Initial Conditions
icon;
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 flow command are available for inspecting or editing these
objects, by clicking on the respective
icon.
565
If the initial conditions can be fulfilled, the power system will be in a steady-state condition. When the
Verify Initial Conditions option is enabled, then the condition dx/dt=0 is checked for all state variables. If
one or more of the state variable derivatives does not equal zero, the power system may start moving
from the very beginning of the simulation, even without the application of an external event. In this case
the user should carefully analyse the relevant controller or model and its defined initial conditions.
All warnings or error messages issued in the output window should be checked. Typical problems
include devices which are overloaded or operate above or below signal limits from the beginning of the
simulation.
An error message displayed in the output window may appear as follows:
DIgSI/err
DIgSI/err
DIgSI/err
DIgSI/err
26.3.1.2
This option enables the step size adaptation algorithm, and can be used to considerably speed-up the
simulation. PowerFactory adjusts the step size to the actual course of the dynamic simulation. Based on
the local truncation error, PowerFactory calculates an optimal step size that keeps the numerical error
within the specified limit. 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 page of the dialog:
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 page.
26.3.2
Step Size
26.3.2.1
When using a fixed step size for the simulation (deactivate Automatic step size adaptation on the Basic
Options page), 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 output sampling step for the output graphs
can be set, so that not every point in time throughout the simulation time will be plotted. By selecting
a larger output sampling step, the simulation process will speed up without influencing the calculation
process. It should be noted, however, that fast changes may not be seen in the reported results.
The parameters pertaining to the step size are:
566
26.3.2.2
Start time
The start time of the simulation. This is typically negative, allowing the first event to be analysed to take
place at t=0 s.
Note: When setting up time-domain simulations, it is very important to use the correct time steps in
order to be able to observe 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 analysing travelling waves, the smallest travelling time would be the upper limit for the
minimum time step.
In addition to the Newton-Raphson based algorithm for the solution of weak" non-linearities (i.e. saturation effects in synchronous and asynchronous machines), the 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 the case of this kind of interrupt, all time-dependent variables are interpolated to the instant of interrupt
and the simulation restarts at that point. This prevents numerical oscillations.
26.3.2.3
If option Automatic step size adaptation is enabled on the Basic Options tab, further step size options
are available on the Step Size tab. These options are:
errmax Maximum prediction error (typical value: 0.01 s)
errinc Minimum prediction error (typical value: 0.001 s)
ninc Delay for step size increase (number of steps) (typical value: 10)
finc Speed factor: increase (default value: 1.5)
fdec Speed factor: decrease (default value: 2)
ddtgrd_max Maximum increase of step size for RMS (typical value: 0.05 s)
ddtemt_max Maximum increase of step size for EMT (typical value: 0.001 s)
Note: The simulation time can be very sensitive to some of these parameters. For example, when the
maximum time step is increased, the duration of calculating transients may not always decrease.
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.
567
26.3.3
Solver Options
The solver options may be used to tune the performance of the simulation algorithm. Less experienced
users are recommended to use the default values.
26.3.3.1
Integration control
26.3.3.2
Iteration control
26.3.3.3
Algorithm control
It is also possible to specify the usage of an A-stable algorithm for some element models only (i.e. not
for all models), so that it is possible to run only a portion of the models with the A-stable algorithm (for
example the power electronic converters or fast controllers). This option is available in the dialogs of
the elements.
With the A-stable algorithm, these systems can be analysed with reasonable step sizes. Hence, the
A-stable algorithm cannot be described as using simplified models but as a different type of numerical
integration algorithm.
Fast convergence check
If this option is enabled, PowerFactory will run faster because it determines convergence via advanced
heuristics instead of checking each single equation.
Fast computation of outputs
If this option is enabled, PowerFactory will run faster because it uses the last available output from
the solution process instead of recomputing each single quantity.
Fast independent solution of network and dynamic models
If this option is enabled, PowerFactory will run faster because it determines convergence sequentially
and independently on network and dynamic models rather than simultaneously.
Note: A requirement for using the independent solution of network and dynamic models algorithm is
that small" integration steps are used with respect to the dynamics involved.
26.3.3.4
Reference system
569
PowerFactory can also calculate the maximum deviation between the rotor angles of the synchronous
machines in the system. This variable, called dfrotx, can then be selected for display from the variables
of all synchronous generators in the system. It can be used as an indicator for the synchronous
operation of a large transmission system.
26.3.3.6
Event control
26.3.3.7
Signal buffer
26.3.4
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 dialog, 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.
570
26.3.5
There are further options which can influence the simulation process and its results. In the load flow
command dialog (ComLdf, see also Chapter 21: Load Flow) on the Advanced Simulation Options tab,
the influence of protection devices or various controller models can be neglected. Hence the chosen
models or protection devices will be ignored during the simulation as well as in load flow and other
calculations. This is illustrated in Figure 26.3.2.
Figure 26.3.2: Advanced Simulation Options in the Load Flow command dialog
571
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 defined.
Therefore, one or more result objects containing the result variables can be configured. The simulation
function needs the reference to a result object to store the results.
The command dialogs for calculation functions, that produce signals, have result object references, as
depicted in Figure 26.4.1 for the Initial Conditions (ComInc) dialog. See also Figure 26.3.1.
Such a result object reference refers to the currently used result object. The downward arrow button
( ) is used to select or reset the reference, or to edit the contents of the referenced result object.
The right-arrow button ( ) is used to edit the result object itself. When editing the output variables
press this Edit button and then Contents to get access to the list of variables stored inside the result
object. This will pop up the corresponding ElmRes edit dialog.
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 dialog. Result objects
(ElmRes) are treated in detail in Chapter 17 (Reporting and Visualising Results).
To add variables of different elements to the result object for RMS and EMT simulations, right-click on
the desired element in the single-line graphic and select Define Variable Set(Sim)... as shown in
Figure 26.4.2
572
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
The variables to be monitored are stored (by default) in the result object All calculations. The results of
the variables in the current simulation are stored in this file also. If the results of two different simulations
are to be displayed, e.g. in one virtual instrument, there is the possibility to save the result object of
a previous simulation simply by copying the result objectAll calculations 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
573
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) dialog select Simulation Scan page.
2. select (
), Edit (
3. Enter a Name and Description for the Simulation Scan (IntScn) object.
to define a Simulation Scan object. Simulation
4. Click Modules and then select New Object
scan objects are described in the following subsections.
26.5.1
The frequency scan module (ScnFreq) monitors bus frequency and triggers a display message or stops
the simulation if a limit is violated. Settings are as follows:
Scan location
Define whether the scan has to be applied to the whole system, a selection of objects or a single object.
Frequency settings
Define the frequency settings Nominal frequency, Maximum limit and Minimum limit.
Activation time
Define the time at which monitoring should start (till end) in Hours, Minutes and Seconds. Set the Time
step to define the intervals at which the scan should be performed.
Action
Select whether to Display message or Stop simulation if a limit is violated.
26.5.2
The synchronous machine speed scan module (ScnSpeed) monitors speed of synchronous machines.
If a limit is violated, it triggers a display message, stops the simulation or trips the generators that have
violated the limit.
Scan location
Define whether the scan has to be applied to the whole system, a selection of objects or a single object.
Speed settings
Define the speed settings Maximum limit and Minimum limit.
Activation time
Define the time at which monitoring should start (till end) in Hours, Minutes and Seconds. Set the Time
step to define the intervals at which the scan should be performed.
Action
Select whether to Display message, Stop simulation or Trip generator if a limit is violated.
574
26.5.3
The loss of synchronism scan module (ScnSync) monitors the internal generator model signal Out of
Step" of synchronous machines (ElmSym). If an out of step condition is detected, it triggers a display
message, stops the simulation or trips the generators that have lost synchronism.
Scan location
Define whether the scan has to be applied to the whole system, a selection of objects or a single object.
Activation Time
Define the time at which monitoring should start (till end) in Hours, Minutes and Seconds. Set the Time
step to define the intervals at which the scan should be performed.
Action
Select whether to Display message, Stop simulation or Trip generator if an out of step condition is
detected.
26.5.4
The variable scan module (ScnVar ) monitors a selected element variable and triggers a display message or stops the simulation if a defined limit is violated.
Scan location
Define whether the scan has to be applied to all the objects of a specified class, a selection of objects
or a single object.
Settings
Define the variables Maximum limit and Minimum limit. Optionally select to conduct a Continuous scan
(see section 26.5.6 for details).
Activation Time
Define the time at which monitoring should start (till end) in Hours, Minutes and Seconds. Set the Time
step to define the intervals at which the scan should be performed.
Action
Select whether to Display Message or Stop Simulation if a limit is violated.
26.5.5
The voltage scan module (ScnVolt) monitors bus voltage and triggers a display message or stops the
simulation if a defined limit is violated.
Scan location
Define whether the scan has to be applied to the whole system, a selection of objects or a single object.
Voltage limits
If Voltage limits is checked, define the Maximum limit and Duration (max. limit), and the Minimum
limit and Duration (min. limit). Optionally select to conduct a Continuous Scan (see section 26.5.6 for
details).
Voltage recovery
If Voltage recovery is checked, define the Voltage threshold and Duration. If the voltage decreases
below the Voltage threshold the start time" is recorded. When the voltage recovers to above the
Voltage threshold, the module checks that the voltage has recovered within the time span defined by
the Duration parameter.
Activation time
DIgSILENT PowerFactory 15, User Manual
575
26.5.6
Consider the example simulation response shown in 26.5.1, where a Voltage Scan module has been
defined. The module starts scanning at the Activation time of 2.0 seconds. If the voltage is below the
Minimum limit (in this example, 0.72 p.u.) for more than the Duration (min.limit), or above the Maximum
limit voltage (1.1 p.u.) for greater than the Duration (max. limit), the selected Action will be performed.
If the voltage is below the Voltage threshold (0.72 p.u.) for greater than the Duration 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 Continuous scan is selected:
If Continuous scan is not selected, the selected Action will only be performed for the first of each
violation. For subsequent violations, the simulation will continue without performing the selected
Action.
If Continuous scan is selected, the selected Action will be performed for all violations.
576
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) dialog, it is possible to select (
or Show the Selection of simulation events.
), Edit (
),
577
An alternative means of defining events is as follows: upon calculation of the initial conditions ( ), or
when the simulation is already running, double-click on the desired cubicles to create switch events.
Additionally, the user can right-click on an element and then select an element-related event such as
Define... Switch Event Define... Load Event or Define... Short-Circuit Event.
During a simulation all previous events (i.e. events which have already occurred), are displayed in a
grey font style and can no longer be edited or changed. When the simulation is finished or is stopped
manually, the events which are still to come in the simulation can be altered and new events can be
created.
Note: At the end of a simulation the event list shows all events, which are now grey in colour. They
can no longer be modified for this simulation, because the simulation could be restarted from this
point on. To change the events for a new simulation one must first initialise the calculation again
( ), so the simulation time is reset to the beginning.
26.7
Running a Simulation
578
), the
icon on the
26.8
Stability analysis calculations are typically based on predefined system models. In the majority of cases
the standard IEEE definitions for controllers, prime movers and other associated devices and functions
are used. Please refer to Appendix D Standard Models in PowerFactory for a description of the standard
models available in the global library.
For planning purposes, this approach might be acceptable. The predefined sets of parameters will allow
a favourable and reasonable behaviour of the analysed system. This approach is often also applied to
operation analysis, and the system should show a response similar to a real system.
For systems and configurations for which no IEEE models exist, such as wind generators, HVDCsystems, etc., powerful tools for user defined modelling are required. For this purpose, highly specialised, exact models can be created in PowerFactory .
In cases when manufacturers are able to supply exact controller models including real 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 optimisation 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 flexible and accurate DIgSILENT PowerFactory time-domain modelling
features.
Figure 26.8.1 provides an overview of the PowerFactory modelling approach, as discussed in this
chapter. Note: Click on figure labels to link to the relevant section.
579
26.9
System modelling for stability analysis purposes is one of the most critical issues in the field of power
system analysis. Depending on the accuracy of the implemented model, large-signal validity, available
system parameters and applied faults or tests, nearly any result could be produced and arguments
could be found for its justification.
This is one aspect of the complexity of a transient stability study. The other aspect results from the often
large set of time-domain models that are required, each of which may be a combination of other models.
All these time-domain models are ultimately wired together into one large, single transient model from
which the basic set of system differential equations can be obtained.
Given this complexity of a transient analysis problem, the PowerFactory modelling philosophy is targeted
towards a strictly hierarchical system modelling approach, which combines both graphical and scriptbased modelling methods. The basis for the modelling approach is formed by the basic hierarchical
levels of time-domain modelling:
The DSL Block Definitions, based on the "DIgSILENT Simulation Language" (DSL), form the basic
building blocks to represent transfer functions and differential equations for the more complex
transient models.
The built-in models and common models. The built-in models or elements are the transient
PowerFactory models for standard power system equipment, i.e. for generators, motors, static
VAr compensators, etc. The common models are based on the DSL Block Definitions and are the
front-end of the user-defined transient models.
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
580
Figure 26.9.1 shows a typical configuration of a synchronous generator with power system stabiliser,
voltage controller, primary controller, and prime mover model. The primary controller and prime mover
can be summarised as the primary controller unit model. To create this kind of model, the following
actions are required:
1. Transient models for each required controller type or unit type have to be defined (Model/Block
Definition).
2. For each generator, the transient models of the individual controller must be customised by setting
the parameters to the correct values (Common Model).
3. A diagram has to be made defining the connections between the inputs and outputs of the various
models (Composite Frame).
4. For each generator, the diagram and the customised transient models are to be grouped together
to define an unique composite generator model (Composite Model).
It may seem unnecessary to include steps 2 and 3: it would be possible to create customised transient
models for each generator directly, with burned-in parameter settings, and to link these models to a
generator without having to define a diagram first. This, however, would mean that one would have to
create a new voltage controller, e.g. for each generator in the system.
Often the design of many of these voltage controllers will be similar. To omit the need of creating copies
of these controllers for each generator and to avoid redundant copies of controllers or also of whole
generator models.
Here the same relationship as that between individual controller (Common Model) and controller definition (Model Definition) 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 definition of the different elements:
DIgSILENT PowerFactory 15, User Manual
581
582
583
584
26.9.1
A composite model element (ElmComp) can created using the New Object ( ) icon, located in the
toolbar of the data manager and selecting Composite Model from the available options. The next step
is to select the composite frame. The composite frame can be stored either in the global library or in
the local library, and is conceptually similar to a type definition for an electrical element. The composite
model then shows the list of slots in the composite frame as shown in Figure 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.
585
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 contextsensitive menu. PowerFactory will automatically jump to the project Library and show a list of available
user defined models (ElmDsl).
Selecting a model definition from the project library or the global library will open the element dialog
of the newly-created common model, so that its parameters can be defined, similar to (for example) a
transformer element. If no suitable model is found, a Block Definition has to be selected prior to setting
the model parameters (see Section 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
composite model in the data manager. These settings are explained in detail in Section 26.9.2
(The Composite Frame).
A faster method for defining standard composite models is to right-click on an object in the single line
diagram and select Define... from the context menu of the element.
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.
586
587
Inside the Step Response Test folder, a second folder is created, named according to the composite
model which is to be tested. Here the simple test grid can be found including only the generator, the
complete composite model and a load. Additionally there will be two new study cases in which a step
response for the AVR and the PCU, respectively, of the composite model can be tested.
The user can switch between these two study cases and her/his previously-used study cases by
activating and deactivating them.
Note: There is now no longer any connection between the original 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
A composite frame is a block diagram which defines two or more slots, their input and output signals,
and the connections between them. A composite frame is defined 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 Definition will then be automatically created in the local library.
588
An empty diagram of the frame will appear in the graphics window. A slot is then created by selecting
the
icon in the graphics toolbox and positioning the slot on the drawing surface by clicking once at
the desired location. This is similar to placing elements in the single-line diagram.
An empty slot will be drawn on the page. To define the slots input and output signals and different
parameters, edit the slot by double-clicking it. The slot edit dialog will pop up as shown in Figure 26.9.11.
589
26.9.2.1
The name of the slot will appear later in the composite model dialog, and it is therefore recommended to
name this element according to which slot it will be assigned (e.g. vco slot). The Sequence parameter
defines the order of the slots appearing in the composite model dialog.
26.9.2.2
A Block Definition (BlkDef ) can be assigned directly to a slot. This option will simplify the handling of
the slot and prevent errors due to miss-matched signal names of slot and assigned block.
590
26.9.2.3
Filter for
Class/Name Filter
There is also the possibility to specify a filter for the class name and/or for the model name to be
inserted. This makes sense when (for example) only synchronous machines should be assigned to
the slot. In this case, the class name ElmSym* would be entered. PowerFactory then will only allow
the element class synchronous machine" to be inserted into the slot. A filter for a specific (part of an)
element name can also be defined.
26.9.2.4
Classification
The classification 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 Section 26.9.1: The Composite Model) will automatically create a DSL model and ask for a Block
Definition from the library.
Local, Model must be stored inside This option is activated by default. This means that when a Slot
Update is executed in the composite model, PowerFactory will only search for 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 defined in
the slot. A slot may only have an input or an output signal.
For example, the voltage or frequency of an AC voltage source ElmVac may be controlled by an external
function. Therefore, the slot for the source will only have two input signals u0 and f0. More information
about drawing composite frame diagrams can be found in Section 26.10.1 (Drawing Composite Block
Diagrams and Composite Frames).
DIgSILENT PowerFactory 15, User Manual
591
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
26.9.3
592
593
Figure 26.9.14: Implementation of a simple first order limiter block, using a DSL routine
594
To create a common model, use the New Object ( ) icon in the toolbar of the data manager and select
Common Model. The block/model definition has to be selected first. Similar to the composite frame,
this definition is either stored in the global library or in the local library.
The common model then displays the list of available parameters and arrays from the block diagram,
as shown in Figure 26.9.16. All parameters are listed on the first page of the common model, and their
values can be specified there.
595
If the selected Block Definition uses one or more arrays in its definition, then these arrays are displayed
on the second page (for simple characteristics) and third page (for two-dimensional characteristics) of
the ElmDsl object. In Figure 26.9.17 an example is shown for a 13x4 array definition.
596
26.10
597
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 Definition.
Signal lines are directed branches, connecting input and output signals. A single output line may be
branched off and connected to more than one input terminal.
After the block reference has been edited, it will show the input, output and limiting signal connection
points of the referenced Block Definition as one or more coloured dots on the left and right side,
respectively, on the upper and lower side of the box. Signal lines may then be connected to these
points. It is allowed to refer to the Block Definition more than once in the same block diagram. This way,
it is possible to use a particular PID-controller, for instance, twice or more in the same model definition.
An example of a simple block diagram, comprising a multiplier, a summation point and a standard PI
block, is shown in Figure 26.10.1.
26.10.1
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 Crtl-N and then selecting the option Block/Frame
Diagram from the New command dialog (ComNew);
By clicking on the Insert New Graphic
the option Block/Frame Diagram;
By right-clicking on, or inside a (library) folder in the active project in the data manager and
selecting New... Block/Frame - Diagram from the context-sensitive menu;
By using the New Object
Note: The two later options only create a Block Definition object (BlkDef), but no graphic. This method
is therefore not suitable for creating a composite block or frame diagram, but only for creating
primitive Block Definitions by entering the DSL code.
In the first two methods, a graphic will be created and will appear in the open graphics board. A new
graphics board will be created when no graphics board is open. The new block/frame diagram graphic
will show a single rectangular block, which depicts the block or frame. The name of the new diagram
will appear on top of the frame.
Inside this rectangle the following objects can be placed from the graphic toolbox for the block diagram:
Node objects:
block references
summation points
multipliers
divisors
DIgSILENT PowerFactory 15, User Manual
599
26.10.1.1
Drawing the block objects and connecting them with signals is done in a similar way as is done with
elements in the single line graphic. A block reference is first displayed as an empty square which has to
be edited in order to assign a (low level) block diagram to it.
Because of lack of information about the number of inputs and outputs of the new block reference before
a (lower level) Block Definition is assigned to it, it is not possible to connect signals to the empty block.
600
26.10.1.2
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" dialog will pop up, where
any connected input connection can be inverted. It should be noted that not all dots have to be
used and only one dot can be defined as an output.
Multiplier
Every grey dot of this block can be used as an input or output of the multiplier. An output of three
input signals will thus be: out=(in_0*in_1*in_2). It should be noted that not all dots have to be
used and only one dot can be defined as an output.
Divisor
601
26.10.1.3
Connecting Signals
After drawing and defining the block references, slots or other node elements, they can be connected
button from the graphical toolbox, a signal line is drawn by first
with signal lines. After selecting the
clicking on a from node (output of a block/slot), optionally clicking on the drawing surface to make a nondirect connection, and finally clicking on a to node (input to a block/slot). The input and output terminals
of common blocks and other node elements are depicted with coloured dots (see Figure 26.10.4).
Green: Input
Red: Output
Blue: Min. Limitation
Pink: Max. Limitation
Gray: Every signal can be connected
The signal lines can also be edited in the corresponding dialog, 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 defined 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 Definitions
are shown. Both blocks will show a single input or output connection point. They can be connected to
each other by a single signal line, as illustrated in Figure 26.10.7.
602
26.10.1.5
The composite block diagram normally has input, output and limiting signals of its own. Input signal
points are defined by starting a new signal line on the left, top or bottom side of the frame enclosing
block diagram. This will create a new input signal for the composite Block Definition.
New output signals are defined by ending a signal line by clicking on the right side of the enclosing
rectangle frame.
Signals, which are thus connected to the rectangular frame, have the following meanings:
connected to the left side: Input
connected to the right side: Output
connected to the bottom side: Minimum Limitation
connected to the top side: Maximum Limitation
Note: The names of the input and output signals must be the same as the names of the input and
output signals defined in the slot or block to which it is intended to assign the definition.
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
603
It is also possible to make the object(s) have a new size by clicking on one side of the marking box. The
marked object(s) will only resize in one direction in that case. This is not possible for all objects. Some
objects may only be resized with a fixed X/Y- ratio; some other objects cannot be resized at all.
26.10.1.7
Additional Equations
After the internal structure of the block diagram has been defined graphically, the block diagram itself
can be edited. This can be done without having to close the graphical representation of the block
diagram. By left or double-clicking the enclosing rectangular frame, the block diagram edit dialog will
pop up. This dialog will show all input, output and internal signals, as have been defined graphically.
On the Equations page, information and equations for the initialisation of the block can/has to be
entered. Additionally, the name and the unit of the parameters to be defined in the common model
can be specified (see also Section 26.11: User Defined (DSL) Models).
Additional DSL equations can be defined on the second page of the block diagram edit dialog.
26.11
System modelling for stability analysis purposes is one of the most critical issues in the field of power
system analysis. Depending on the accuracy of the implemented models, large signal validity, available
system parameters and applied faults or tests, nearly any result could be produced and arguments
could be found for its justification.
A simple example illustrates this. In a 10 GW power system the expected steady-state frequency
deviation when losing a fully loaded 2000 MW unit depends highly on the frequency dependency, K_f,
of loads. Assuming a total system droop of 7% and a K_f value of 0, the steady-state frequency deviation
will be approximately 700 mHz.
Now with a more realistic coefficient of = 5%/, the steady-state frequency deviation is expected
to be 596 mHz only. On the other hand, the frequency dependency might be slightly higher or lower,
but the non-linear characteristics of hydro turbine efficiencies and steam valve non-linearities could be
more relevant at a certain unit loading point. Consequently, as long as only one or two different loading
scenarios are considered, average values with reasonable simple models may give acceptable results
by tuning only some key parameters like the frequency dependency of loads or droop settings.
604
605
26.11.1
As already indicated, the most critical and decisive factor for reliable simulation results is the accuracy
and completeness of system model representation for identification and simulation purposes. Methods
for solving this task range from the classical and traditional way of using software which allows interfacing of user-defined models at the FORTRAN/C level - typically via connection lists - to the block-oriented
approach which is based on the provision of predefined low-level block macros being connected at the
case definition level.
In addition, most modern commercially available general purpose simulation tools may be used for
flexible and specific system representation. Unfortunately, this approach does not adequately cover the
special electrical system load flow characteristics.
In order to provide a very flexible 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 Continuous System Simulation Languages (CSSL );
DSL includes a complete mathematical description of (time-) continuous linear and non-linear
systems;
The simulation tool is based upon common control and logic diagrams, leading to a non-procedural
language, as the sequence of elements can be chosen arbitrarily. In other words, a DSL model
can be converted into a graphical representation;
Provision of flexible definition of macros, which could be: algebraic equations, basic control
elements like PID, PTn or even complete physical subsystems like valve groups or excitation
systems;
Provision of various intrinsic functions such as: select", lim", limits", lapprox", picdrop" in order
to provide a complete control of models;
Provision of various formal procedures for error detection and testing purposes such as: algebraic
loop detection, reporting of unused and undefined variables and missing initial conditions
606
26.11.2
The DIgSILENT Simulation Language is used to define new dynamic controllers which receive input
signals from the simulated power system and which react by changing some other signals.
DSL itself can be looked upon as an add-on to the transient analysis functionality of PowerFactory .
During the simulation, the model equations of the DSL models are combined with those describing the
dynamic behaviour of the power system components. These equations are then evaluated together,
leading to an integrated transient simulation of the combination of the power system and its controllers.
The DSL main interfacing functions are:
Signal input and output channels: Any variable defined within the kernel (currently more than 2500)
and in a DSL model, can be accessed in a read-and-write mode. Main and sub-address features
are implemented allowing the access of any signal existing in the system or to build up complex
structures such as hardware-based modules taking equipment "rack" and "function card" structures into account.
Events: Conditions evaluated by DSL models may cause events to be sent to the program kernel where
they will be scheduled within the event queue.
Output and Monitoring: Conditions may trigger user-defined messages to be displayed in the output
window.
607
The structure of a DSL model is best explained by an example. This example considers a prime mover
unit model of a simple hydro turbine. This DSL model has been defined graphically, and contains
one embedded DSL macro. This embedded macro models a single integrator and is defined by
programming it.
The basic method for designing new DSL models is as follows:
1. A set of basic DSL models is created. These models implement simple, primitive controllers like
a first order time lag or a PID controller. The PowerFactory program is shipped with a large
number of these primitive controller models. New primitives are created by programming their
differential equations and signal settings, using the DSL language.
2. The more complex controller is created graphically by drawing its block diagram. This kind of
block diagram normally uses references other DSL models which are thus combined into a more
complex controller. Controller references may be used to include DSL primitive models into the
complex model, but may also refer to other graphically defined complex models. Highly complex
controllers may thus be designed in a hierarchical way, by designing sub-models and sub-submodels, where the DSL primitives form the lowest level. Section 26.11.3 (Defining DSL Models)
describes these procedures in detail.
608
Figure 26.11.2 depicts the model definition that was used to define the hydro turbine model. The
resulting DSL code, as shown in the output window when a graphical Rebuild ( ) is performed is:
1.
2.
3.
4.
5.
6.
7.
8.
model Pt = pmu_hydro(At,C;x1;Ti;)
pt_x = I.BlkDef(xe;x1;Ti;)
i3 = i1/i2
i1 = At*At
i2 = pt_x*pt_x
i4 = xe*pt_x
xe = i3-C
Pt = pt_x-i4
The line numbers have been added for readability. The corresponding Block Definition shows:
Output Signals : Pt
Input Signals : At, C
State Variables : x1
Parameter : Ti
Internal Variables
The example describes a simple hydro turbine model with the input signals A_t and C and the output
signal P_t.
Figure 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 definition of the hydro). The DSL primitive
implements a single integrator and is programmed as follows:
1.
2.
3.
4.
5.
6.
7.
model y = I(xe;x1;Ti;)
[Ti] = s
limfix(Ti) = (0,)
inc(x1) = y
inc(xe) = 0
x1. = xe/Ti
y = x1
609
26.11.2.1
Both example DSL models show the two basic parts of any DSL model, primitive or complex:
1. The interface definitions
2. The DSL model description
Interface description
The interface defines the model name, names of input and output signals, model 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 dialog further allows for the definition of limiting parameters and input signals, and
the classification of the model as a linear model and/or as a DSL macro.
Model description
The model description describes the DSL model, based on the signals defined in the interface. The
DSL description includes:
Parameter descriptions: name and unit
Allowed parameter ranges
Initial conditions and functions which are used to calculate initial values.
The algebraic relations which define the controller.
Example (the integrator):
2.
3.
4.
5.
6.
7.
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
610
26.11.3
A new DSL model is created either by entering the DSL code in the equation part of a Block Definition
(BlkDef ) object, or by creating a new Graphical Block Diagram. Both methods will result in a Block
Definition Object which holds the definition of the DSL model.
The Block Definition objects thus serve two purposes in the process of constructing a DSL model:
They hold the definitions and parts of a graphically constructed composite Block Definition, and
the diagram graphic which was used to define the model;
They provide the surrounding in which a new DSL primitive" or primitive Block Definition can be
defined.
26.11.3.1
icon on the toolbar (of the graphics window) and select the option
To access the dialog of the Block Definition (BlkDef ), double-click on the frame box surrounding the
diagram.
Complex Block Definition objects are conceptually similar to Grid Folders" in the PowerFactory database
tree. They are defined by graphically defining a controller block diagram of which they will store the
graphical information and all logic parts. These parts include signals, small standard components
(adders, multipliers, etc.) or DSL primitives.
Although a complex Block Definition object is created graphically, it allows for additional DSL equations
to define those aspects of the controller that would be otherwise difficult to enter in a graphical way.
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
611
Double-click an new/empty block reference in an open block diagram and then use the
button
to select a Block Definition. Following this, use the
icon to create a new Block Definition inside
the local library.
DSL primitives are the building blocks from which the more complex controller diagrams are composed.
A DSL primitive, for example, might implement a low pass filter, which may then be used to graphically
construct more complex controllers which include this kind of filter.
Unlike transformers or other power system components, which may be looked upon as power system
primitives, a DSL primitive is only referred to by a complex block diagram and may thus be used in more
than one complex DSL model at the same time.
26.11.3.3
When creating a primitive DSL model or by double-clicking on the frame of a composite Block Definition,
a dialog will appear, where input and output variables, parameters, state variables and limiting signals
can be defined. Furthermore, additional equations, initial conditions of variables as well as names and
units of parameters can be inserted.
Figure 26.11.4 shows an example dialog of a simple first-order limiter block.
Name and Title will appear in the library folder, where the model is stored.
612
613
The next section describes the handling and usage of the DSL language.
614
26.12
The DSL language is used to program models for electrical controllers and other components used
in electric 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 sections.
26.12.1
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) (base 10), sqrt(x) (square root), sqr(x) (power of 2), pow(x,y), abs(x), min(x,y), max(x,y),
modulo(x,y), trunc(x), frac(x), round(x), ceil(x), floor(x).
These standard functions are described in detail in Section 26.13 (DSL Reference).
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:
vardef(Ka)=p.u.;Controller Gain
26.12.2
Line length: The maximal line length is 80 characters. Longer lines have to be broken by using the &
sign in the first column of the continuing line. A & sign in the first column joins the current row and its
preceding row.
DIgSILENT PowerFactory 15, User Manual
615
26.12.3
DSL Variables
26.12.4
DSL Structure
26.12.5
Definition Code
Definition code in the equation part of a DSL model is used to define parameter properties and initial
conditions.
26.12.5.1
vardef(varnm) = unitstring;namestring
Unit and name for variable varnm.
Examples:
vardef(Ton) = s;Pick up time for restart !defines unit and name
vardef(Ton) = ;Pick up time for restart !only defines name
vardef(Ton) = s; ! only defines unit
[varnm] = unitstring
Unit for variable varnm, maximum 10 characters wide.
Remark : A macro call causes error messages if the units of the substituted variables do not
match the defined units.
Example:
[Ton] = s !
26.12.5.2
defines unit
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.
DIgSILENT PowerFactory 15, User Manual
617
26.12.6
Initial Conditions
26.12.6.1
inc(varnm) = expr
Definition of the initial condition of variable varnm. If inc(varnm) is not defined, the normal
assignment expression will be evaluated (only possible if varnm is of the intern or input type).
If inc(varnm) is defined, it will be evaluated when the model is reset.
inc0(varnm) = expr
Definition of the initial condition of variable varnm, for unconnected output or input variables. This
variant of the inc() statement is used only when the variable varnm could not be initialised through
the initial condition of the connected input or output signal. The inc0() statement is thus used to
make open input or output terminals possible.
incfix(varnm) = expr
This variant of the inc() statement is valid only in connection with automatic initialisation and is
used to determine the initial values in ambivalent situations. With the incfix, one or more variables
can be directly initialised so that other variables can be initialised automatically.
Example:
An AVR model has two inputs, [upss , usetp ], and one output, [uerrs ]. Both inputs cannot
both be initialised automatically by the single output value, which is determined by the connected
machine. Therefore one of the inputs must be initialised as fixed, e.g. by incfix(upss)=0. The
initial value of usetp is now automatically determined, using upss=0.
26.12.6.2
Three functions are available for determining initial values iteratively: looping, intervalinc, newtoninc.
These functions are used to find the initial value for one set of parameters if the initial values of another
set of parameters, which are functions of the first set of parameters, are known.
The iterative functions are used to find the (approximated) values for the unknown parameters for which
the known parameter take their initial value.
loopinc(varnm, min, max, step, eps)
Performs a simple linear search for a single value for which the parameter varnm is closest to its
known initial value.
varnm = target variable, whose initial value is known
min = lower limit
max = upper limit
618
eps)
eps)
eps)
eps)
619
( + )
(26.1)
1 1/(4 1)
(26.2)
2 2/(4 2)
(26.3)
3 3/(4 3)
(26.4)
4 4/(4 4)
(26.5)
26.12.7
Equation Code
Within the equation code, all equations necessary to build up the simulation models are included. The
set of equations defines a set of coupled differential equations which describe the transfer functions
between the input and output signals. These transfer functions may range from simple linear, singleinput single-output functions, to highly complex non-linear, non-continuous, multi-input, multi-output
functions.
DSL is used to describe the direct relationships between signals and other variables. Expressions
may be assigned to a variable, or to the first derivative of a state variable. Higher order differential
equations have to be thus split up into a set of single order equations by the introduction of additional
state variables.
620
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 first order derivative of the variable varnm.
Examples:
x1. = (xe-x1)/T1
x2. = x1
Remarks
DSL assignments may occur in any sequence. The sequence does not influence the evaluation
of the assignments.
All variables are of type floating point, even if assigned to a boolean expression, in which case the
value will be 0.0000 or 1.0000.
When a variable z is used in a logical expression (i.e. y=.not.z), the logical 1 of z is tested by
evaluating (z>0.5):
y1 = .not.z is interpreted and equal to y1 = (z=<0.5)
There is no warning against mixing logical and non-discrete variables in expressions. Consequently the following code will not cause a message to be emitted: depending on y, z will take the
value x1 + 4.0, or just x1:
y = .not. x1>2 .or. a<=3
z = 4.0*y + x1
The assignment of a value to a variable takes place in an order which recognizes the connections
between these variables. In the case of the following example, the second line will be evaluated
first, then line 1:
1. a = b+5
2. b = x1
3. x1. = 1
Algebraic loops are not supported. In the following example, an error message will be displayed:
a = b+5
b = 2*a
If there is no assignment to a variable varnm, varnm will keep its initial value. The right side
expression may not contain derivatives. Derivatives may only appear on the left side of the equal
sign. The first example is correct; the second is false.
x1. = asin(a) ! Correct
a = sin(x1.) ! Not accepted
26.12.9
DSL Macros
A DSL macro is a predefined DSL model, complex or primitive, which is meant to be included in higher
level DSL models. The block diagram edit dialog offers a Macro classification option which can be set
to mark the model as a macro.
DIgSILENT PowerFactory 15, User Manual
621
26.12.9.1
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
26.12.10
The DSL language provides procedures for the generation of an interrupt event and for sending messages to the output window:
The procedure fault(boolexpr, event_string) generates an event and is evaluated at the beginning of each time step
622
623
26.12.11
model pt,ptmw =
'pmu_1 '(at,sgn,cosn,ngnum;x1,x2,x3,x4;Thp,
Tip,Tlp,alflp,Tspi)
[T1] = 's'
limfix(T1) = [0,)
limfix(alfhp) = [0,1]
vardef(alfhp) = ;'High pressure turbine ratio';
limfix(alflp) = [0,1-alfhp]
vardef(alflp) = ;'Low pressure turbine ratio ';
vardef(Tspi) = s;'Boiler capacity time constant';
limfix(Tspi) = (0,)
vardef(Thp) = 's ';'High pressure turbine time constant ';
vardef(Tip) = 's ';'First reheater time constant ';
vardef(Tlp) = 's ';'Second reheater time constant '
inc(x1) = y/K
inc(xe) = y/K
inc(x4) = 1.0
inc(at) = pt
inc(steamflow0) = pt
inc(ylp) = pt
x1. = selfix(T1>0,(xe-x1)/T1,0)
y = K*selfix(T1>0,x1,xe) ! if T1=0 => y=xe
steamflow = at*x4
x4. = (steamflow0 - steamflow)/Tspi ! boiler
yhp = PT1(steamflow;x1;Thp) ! high pressure part
yip = PT1(yhp;x2;Tip) ! medium pressure part
ylp = PT1(yip;x3;Tlp) ! low pressure part
pt = yhp*alfhp + ylp*alflp+ yip*(1.0-alfhp-alflp)
ptmw = pt*sgn*cosn*ngnum ! only for output purposes
The used macro 'PT1 is defined as:
model y = 'PT1'(xe;x1;K,T1;)
x1. = selfix(T1>0,(xe-x1)/T1,0)
y = K*selfix(T1>0,x1,xe) ! if T1=0 => y=xe
inc(x1) = y/K
inc(xe) = y/K
[T1] = 's'
limfix(T1) = [0,)
26.13
DSL Reference
26.13.1
624
description
sine
cosine
tangent
arcsine
arccosine
arctangent
arctangent
hyperbolic sine
hyperbolic cosine
hyperbolic tangent
exponential value
natural logarithm
log10
square root
power of 2
power of y
absolute value
smaller value
larger value
remainder of x/y
integral part
fractional part
closest integer
smallest larger integer
largest smaller integer
current simulation time
3.141592...
6.283185...
2,718281...
example
sin(1.2)=0.93203
cos(1.2)=0.36236
tan(1.2)=2.57215
asin(0.93203)=1.2
acos(0.36236)=1.2
atan(2.57215)=1.2
atan2(-2.57215,-1)=-1.9416
sinh(1.5708)=2.3013
cosh(1.5708)=2.5092
tanh(0.7616)=1.0000
exp(1.0)=2.718281
ln(2.718281)=1.0
log(100)=2
sqrt(9.5)=3.0822
sqr(3.0822)=9.5
pow(2.5, 3.4)=22.5422
abs(-2.34)=2.34
min(6.4, 1.5)=1.5
max(6.4, 1.5)=6.4
modulo(15.6,3.4)=2
trunc(-4.58823)=-4.0000
frac(-4.58823)=-0.58823
round(1.65)=2.000
ceil(1.15)=2.000
floor(1.78)=1.000
time()=0.1234
pi()=3.141592...
twopi()=6.283185...
e()=2,718281...
26.13.2
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 specified limits. Brackets [ and ] are used to indicate the inclusion of the end points in the
range; ( and ) are used to indicate the exclusion of the end points from the range.
Example:
limits(xpos)=(0,) !to check that it is > 0 throughout the simulation
DIgSILENT PowerFactory 15, User Manual
625
x1. = xe/Ti;
y = limstate(x1,min,max);
This was previously realised 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 must be
given in seconds. In the case that it is smaller than the integration step size, the latter is used.
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 initialises its delay functions with x(Treset).
select
select (boolexpr, x, y)
Returns x if boolexpr is true, else y. Example:
x1.=select(xe1>xe2, xe1, xe2) !to select the biggest derivative
selfix
selfix (boolexpr, x, y)
Returns x if boolexpr is true at initialisation, else y. Its usage is encouraged for performance
reasons whenever boolexpr evaluates to a constant throughout the simulation. Example:
x1.=selfix(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())
626
627
628
26.14. C INTERFACE
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)
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()-definition according to options 2/3 is used, the create and target parameters must
be the first parameters that are listed.
Examples:
The example shows a clock made with DSL using event( , ,name=this ...) which automatically
creates and configures a parameter event. The variable named xclock will be reset to value val=0
within dtime=0, if the integrator output xclock is larger than 1. The input signal is a clock signal
with the time period Tclock.
inc(xclock)=0
inc(clockout)=0
xclock.=1/Tclock
reset_clock=select(xclock>1,1,-1)
event(enable,reset_clock,name=this value=0
variable=xclock)
clockout=xclock
The following event calls an external event called OpenBreaker, which is stored and defined
inside the DSL element, if yo changes sign from - to +. The delay time is 0.2s.
event(1,yo,name=OpenBreaker dtime=0.2)
The following event is a simple under-voltage 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
C Interface
PowerFactory provides the possibility of compiling DSL Block Definitions into C source files. The C
source files need to be compiled (using an external ANSI-C compiler) into a Dynamic Link Library (DLL)
in order to be used within a dynamic simulation. The C Interface provides the framework to create
dynamic models developed entirely in the C programming language. For simplicity, these models will
be hereafter referred to as C models. Currently, the MicrosoftVisual Studio 2012 IDE is supported.
PowerFactory provides compiled models of all DSL models available in the Standard Models" global
library database folder and those located in the Standard Models" subfolder of the PowerFactory
installation (e.g. C:Program FilesDIgSILENTPowerFactory 15.2Standard Models).
DIgSILENT PowerFactory 15, User Manual
629
26.14.1
C Interface Usage
Any DSL Block Definition may be compiled into a DSL C Interface model. As with any DSL model, it
is recommended that the Calculation of Initial Conditions" of a DSL common model representing the
DSL Block Definition is performed and no internal DSL warnings are displayed during the simulation.
Creating a DSL C Interface model requires two steps:
1. Creation of C source files from the DSL Block Definition; and
2. Compilation of source files into a DLL using an external compiler.
To create the C source files for an existing DSL Block Definition (which must be a non-macro, highestlevel Block Definition), the following steps are required:
Open the Advanced tab of the Block Definition dialog as shown in Figure 26.14.1;
As Compilation options" fill in the Author", Company", Copyright" and Version" fields with
relevant information;
An initial check of the model is required and can be performed by clicking on Check for Compilation
button. Check the output window for the verification status;
Provided a Block is ok" message is displayed in the output window, the code generation process
may be started by clicking on the Compile button;
A folder selection dialog is opened with a newly-created model folder within the PowerFactory
workspace location, as shown in Figure 26.14.2;
Click on Ok. If the process completes successfully, a status message will be reported in the output
window (e.g. DIgSI/info - Model BlockName created and stored as C:UsersuserAppDataLocal
DIgSILENTPowerFactory 15.xWorkspace.nnnnnndbUser ModelsBlockNameMyModel.c.
Figure 26.14.1: Block Definition dialog, Basic Data page, Advanced tab
630
26.14. C INTERFACE
631
The model can be integrated in a Composite Frame in the same manner as a typical Block Definition
(as described in Section 26.10.1).
26.14.2
The files MyModel.c and digusermodel.h describe the DSL C Interface dynamic model. It makes use
of C structures for organising data. The ModelDefinition structure completely describes the dynamic
model. The ModelInstance structure completely describes data belonging to the actual instance of the
dynamic model.
26.14.2.1
ModelDefinition Structure
/ / model i n f o r m a t i o n s t r u c t u r e
/ / no . o f i n p u t s i g n a l s
/ / no . o f o u t p u t s i g n a l s
DIgSILENT PowerFactory 15, User Manual
26.14. C INTERFACE
const i n t m_numState ;
const i n t m_numLimState ;
/ / no . o f s t a t e v a r i a b l e s
/ / no . o f l i m i t e d s t a t e v a r i a b l e s
/ / (DSL l i m s t a t e )
const i n t m_numParameter ;
/ / no . o f parameters
const i n t m_numInternalParam ;
/ / no . o f parameters
const i n t m_numInternalSig ;
/ / no . o f i n t e r n a l s i g n a l s
const i n t m_numDisState ;
/ / no . o f d i s c r e t e s t a t e s
const i n t m_numDelay ;
/ / no . o f d e l a y s
const i n t m_numPicDrop ;
/ / no . o f p i c d r o p s
const i n t m_numSelect ;
/ / no . o f s e l e c t s
const i n t m_numSelfix ;
/ / no . o f s e l f i x e s
const i n t m_numLimit ;
/ / no . o f l i m i t s
const i n t m_numFlipFlop ;
/ / no . o f ( a ) f l i p f l o p s
const i n t m_numLookupArray ;
/ / no . o f lookup a r r a y s
const i n t m_numLookupTable ;
/ / no . o f lookup t a b l e s
const i n t m_solver ;
/ / s o l v e r t y p e ( n o t supported )
const i n t m _ i n t e r f a c e ;
/ / i n t e r f a c e t y p e ( n o t supported )
const i n t m _ p r e d i c t i o n ;
/ / p r e d i c t i o n t y p e ( n o t supported )
const double m _ i n t e g r a t i o n s t e p ;
/ / user d e f i n e d i n t e g r a t i o n s t e p
/ / ( n o t supported )
const S i g n a l D e s c r i p t i o n * const m _ i n p u t S i g I n f o ;
const S i g n a l D e s c r i p t i o n * const m _ o u t p u t S i g I n f o ;
const S i g n a l D e s c r i p t i o n * const m _ s t a t e S i g I n f o ;
const S i g n a l D e s c r i p t i o n * const m _ l i m i t S t a t e S i g I n f o ;
const S i g n a l D e s c r i p t i o n * const m _ i n t e r n a l S i g I n f o ;
const P a r a m e t e r D e s c r i p t i o n * const m_paramInfo ;
const P a r a m e t e r D e s c r i p t i o n * const m _ i n t e r n a l P a r a I n f o ;
const L o o k u p D e s c r i p t i o n * const m _ l o o k u p A r r a y I n f o ;
const L o o k u p D e s c r i p t i o n * const m_lookupTableInfo ;
} ModelDefinition
The user must define the following items:
No. of input signals (m_numInput)
No. of output signals (m_numOutput)
No. of state variables (m_numState): used for continuous state variables
No. of limited state variables (m_numLimState): used for continuous limited state variables (DSL
limstate() functions)
No. of parameter (m_numParameter): user can enter these parameters in PowerFactory
No. of internal parameter (m_numInternalParam): used for internal parameters
No. of internal signals (m_numInternalSig): used for internal signals
No. of discrete states (m_numDisState)
No. of DSL delay() (m_numDelay)
No. of DSL picdro() functions (m_numPicDrop)
No. of DSL select() functions (m_numSelect)
No. of DSL selfix() functions (m _umSelfix)
No. of DSL lim() functions (m_numLimit)
No. of DSL flipflop() and DSL aflipflop() functions (m_numFlipFlop)
No. of look-up arrays (m_numLookupArray)
DIgSILENT PowerFactory 15, User Manual
633
26.14. C INTERFACE
" DIgSILENTGmbH " ,
" DIgSILENTGmbH " ,
" 01AB01AB01AB01AB"
};
Signal and parameter variables are described using the SignalDescription and ParameterDescription
structures as shown below:
/ / C codeb l o c k
typedef s t r u c t {
const char * m_name ;
const char * m_unit ;
const char * m_desc ;
} SignalDescription ;
typedef
const
const
const
struct {
char * m_name ;
char * m_unit ;
char * m_desc ;
const double m _ i n i t V a l ; / / i n i t i a l v a l u e
const double m_minVal ;
/ / min . v a l u e
const double m_maxVal ;
/ / max . v a l u e
} ParameterDescription ;
SignalDescription" structure instances have the format shown below, where SignalType" may be
g_inputSignals", g_outputSignals" g_stateSignals" or g_limitStateSignals". ParameterDescription
instances (g_parameter") follow a similar format.
/ / C codeb l o c k
SignalDescription
{ " SignalName1 " ,
{ " SignalName2 " ,
...
{ " SignalNamen " ,
} ;
26.14.2.2
SignalType [ n ] = {
" SignalUnit1 " , " SignalDescription1 " } ,
" SignalUnit2 " , " SignalDescription2 " } ,
" SignalUnitn " , " SignalDescriptionn " }
ModelInstance Structure
635
26.14.3
The DSL macros shown in Table 26.13.1 are defined in the file MathConstants.h" and are replicated
below. The DSL" functions are equivalent to the corresponding DSL functions available in PowerFactory
.
/ / C codeb l o c k
# define
# define
# define
# define
# define
# define
# define
# define
# define
# define
# define
# define
PI 3.1415926535897932384626433832795
INV_PI 0.318309
PI1_4 .7853981633974 / / 1 / 4 PI
PI1_2 1.570796326795 / / 1 / 2 PI
PI3_4 2.356194490192 / / 3 / 4 PI
PI3_2 4.712388980385 / / 3 / 2 PI
TWOPI 6.28318530718
/ / 2 PI
SIN45 0.7071067811865
EULNB 2.7182818284590452353602874713526
SQRT2 1.4142135623730950488016887242097
SQRT3 1.7320508075688772935274463415059
EIN3 0.33333333333333333333333333333333
26.14. C INTERFACE
# define
# define
# define
# define
# define
DSL_SQR( a ) ( ( a ) * ( a ) )
DSL_TRUNC( a ) ( ( a ) > 0 ? f l o o r ( a ) : c e i l ( a ) )
DSL_FRAC( a ) ( ( a ) > 0 ? af l o o r ( a ) : ac e i l ( a ) )
DSL_LN ( d ) ( l o g ( d ) )
DSL_LOG( d ) ( log10 ( d ) )
# define
# define
# define
# define
# define
# define
26.14.3.1
The DSL function lim(x, min, max) can be used in the C Interface. It must be initialised in the
Initialise function and may be evaluated in the EvaluateEquations function with the following statements:
/ / C codeb l o c k
extern void i n i t _ l i m ( ModelInstance * pInstance , i n t index ,
double din , double dmin , double dmax ) ;
extern double e v a l _ l i m ( ModelInstance * pInstance , i n t index ,
double din , double dmin , double dmax ) ;
The int index argument is the index (starting at 0) of the specific DSL lim(). If a model has n limits as
declared by m numLimit in the ModelInstance, each of the limits is identified by the indices 0,1,: : :,n 1.
Example of DSL code with 2 limits:
. . .
x = lim(yi ,-3 ,3) ;
yo = lim(x ,-2 ,2) ;
637
26.14.3.2
The DSL function limstate(x, min, dmax) can be used in the C Interface. It must be initialised
in the Initialise function and may be evaluated in the EvaluateEquations function with the following
statements:
extern void i n i t _ l i m s t a t e ( ModelInstance * pInstance , i n t index ,
double din , double dmin , double dmax ) ;
extern double e v a l _ l i m s t a t e ( ModelInstance * pInstance , i n t index ,
double dmin , double dmax ) ;
extern void u p d _ l i m s t a t e ( ModelInstance * pInstance , i n t index ,
double d v a l ) ;
The int index argument is the index (starting at 0) of the specific DSL_limstate(), as described for the
DSL_lim() function.
Example of DSL code with a limstate():
. . .
xint.= yi;
yo= limstate(xint, -2 ,2);
. . .
Equivalent C Interface code:
struct ModelDefinition g_modelDefinition = {
. . .
1 , / / no . o f l i m i t e d s t a t e v a r i a b l e s
. . .
} ;
i n t I n i t i a l i s e ( ModelInstance * pInstance , double tnow ) {
. . .
i n i t _ l i m s t a t e ( p I n s t a n c e ,0 , y i , 2, 2 ) ;
. . .
}
i n t E v a l u a t e E q u a t i o n s ( ModelInstance * p I n s t a n c e , double tnow ) {
638
26.14. C INTERFACE
. . .
yo = e v a l _ l i m s t a t e ( p I n s t a n c e ,0 , 2, 2 ) ;
. . .
u p d _ l i m s t a t e ( p I n s t a n c e ,0 , y i ) ;
. . .
}
26.14.3.3
The DSL function delay(din; time) can be used in the C Interface. The time argument must be set
in the InitModelInstanceData function; the din argument must be initialised in the Initialise function, and
the delay may be evaluated in the EvaluateEquations function with the following statements:
extern i n t s e t _ d e l a y _ t i m e ( ModelInstance * pInstance , i n t index ,
double t i m e ) ;
extern void i n i t _ d e l a y ( ModelInstance * p I n s t a n c e , i n t index ,
double d i n ) ;
extern double e v a l _ d e l a y ( ModelInstance * pInstance , i n t index ,
double d i n ) ;
The int index argument is the index (starting at 0) of the specific DSL delay(), as described for the DSL
lim() function. Example of DSL code with a delay():
. . .
yo = delay(x, 2);
. . .
Equivalent C Interface code:
struct ModelDefinition g_modelDefinition = {
. . .
1 , / / no . o f d e l a y s
. . .
} ;
i n t I n i t M o d e l I n s t a n c e D a t a ( ModelInstance * p I n s t a n c e ) {
. . .
s e t _ d e l a y _ t i m e ( pInstance , 0 , 2 ) ;
. . .
}
i n t I n i t i a l i s e ( ModelInstance * pInstance , double tnow ) {
. . .
i n i t _ d e l a y ( pInstance , 0 , x ) ;
. . .
}
i n t E v a l u a t e E q u a t i o n s ( ModelInstance * p I n s t a n c e , double tnow ) {
. . .
yo= e v a l _ d e l a y ( pInstance , 0 , x ) ;
. . .
}
26.14.3.4
The DSL function select(din, don, doff) can be used in the C Interface. It must be initialised
in the Initialise function and may be evaluated in the EvaluateEquations function with the following
statements:
extern void i n i t _ s e l e c t ( ModelInstance * pInstance , i n t index ,
double d i n ) ;
DIgSILENT PowerFactory 15, User Manual
639
26.14.3.5
The DSL function selfix(din, don, doff) can be used in the C Interface. It must be initialised
in the Initialise function and may be evaluated in the EvaluateEquations function with the following
statements:
extern void i n i t _ s e l f i x ( ModelInstance * pInstance , i n t index ,
double d i n ) ;
extern double e v a l _ s e l f i x ( ModelInstance * pInstance , i n t index ,
double din , double don , double d o f f ) ;
The int index argument is the index (starting at 0) of the specific DSL selfix(), as described for the DSL
lim() function. Example of DSL code with a selfix():
. . .
yo = selfix(T>0, T, 0.001);
. . .
Equivalent C Interface code:
struct ModelDefinition g_modelDefinition = {
. . .
1 , / / no . o f s e l f i x e s
. . .
} ;
i n t I n i t i a l i s e ( ModelInstance * pInstance , double tnow ) {
. . .
i n i t _ s e l f i x ( pInstance , 0 , T>0 , T , 0 . 0 0 1 ) ;
. . .
}
i n t E v a l u a t e E q u a t i o n s ( ModelInstance * p I n s t a n c e , double tnow ) {
. . .
yo = e v a l _ s e l f i x ( pInstance , 0 , T>0 , T , 0 . 0 0 1 ) ;
. . .
640
26.14. C INTERFACE
}
26.14.3.6
The DSL function picdro(din, dTpick, dTdrop) can be used in the C Interface. It must be
initialised in the Initialise function and may be evaluated in the EvaluateEquations function with the
following statements:
extern void i n i t _ p i c d r o ( ModelInstance * pInstance ,
double din , double dTpick ,
extern double e v a l _ p i c d r o ( ModelInstance * pInstance
double din , double dTpick ,
i n t index ,
double dTdrop ) ;
, i n t index ,
double dTdrop ) ;
The int index argument is the index (starting at 0) of the specific DSL picdro(), as described for the
DSL_lim() function. Example of DSL code with a picdro():
. . .
yo = picdro(x>0.5, 1, 2);
. . .
Equivalent C Interface code:
struct ModelDefinition g_modelDefinition = {
. . .
1 , / / no . o f p i c d r o p s
. . .
} ;
i n t I n i t i a l i s e ( ModelInstance * pInstance , double tnow ) {
. . .
i n i t _ p i c d r o ( pInstance , 0 , x > 0 . 5 , 1 , 2 ) ;
. . .
}
i n t E v a l u a t e E q u a t i o n s ( ModelInstance * p I n s t a n c e , double tnow ) {
. . .
yo = e v a l _ p i c d r o ( pInstance , 0 , x > 0 . 5 , 1 , 2 ) ;
. . .
}
26.14.3.7
The DSL functions flipflop(dset, dreset) and aflipflop(din, dset, dreset) can be
used in the C Interface. They must be initialised in the Initialise function and may be evaluated in
the EvaluateEquations function with the following statements:
extern void i n i t _ f l i p f l o p ( ModelInstance * pInstance , i n t index ,
double dset , double d r e s e t ) ;
extern double e v a l _ f l i p f l o p ( ModelInstance * pInstance , i n t index ,
double dset , double d r e s e t ) ;
extern void i n i t _ a f l i p f l o p ( ModelInstance * pInstance , i n t index ,
double din , double dset , double d r e s e t ) ;
extern double e v a l _ a f l i p f l o p ( ModelInstance * pInstance , i n t index ,
double din , double dset , double d r e s e t ) ;
The int index argument is the index (starting at 0) of the specific DSL_flipflop() or DSL_aflipflop(), which
are counted together. For instance, if a model has n flipflop() and m aflipflop(), the declared number of
m_numFlipFlop in the ModelInstance must be n + m. Example of DSL code with a flipflop() and
an aflipflop():
. . .
DIgSILENT PowerFactory 15, User Manual
641
26.14.3.8
The DSL functions lapprox(din, dArray) and sapprox(din, dArray) can be used in the C
Interface. They may be evaluated in the EvaluateEquations function with the following statements:
extern double e v a l _ l a p p r o x ( ModelInstance * pInstance , i n t index , double d i n ) ;
extern double eval_sapprox ( ModelInstance * pInstance , i n t index , double d i n ) ;
Example of DSL code with a lapprox() and an sapprox():
. . .
y1 = lapprox(x, array_K)
y2 = sapprox(x, array_K)
. . .
Equivalent C Interface code:
struct ModelDefinition g_modelDefinition = {
. . .
2,
/ / no . o f lookup a r r a y s
. . .
} ;
# define array_K 0
# define a r r a y _ L 1
i n t E v a l u a t e E q u a t i o n s ( ModelInstance * p I n s t a n c e , double tnow ) {
. . .
y1 = e v a l _ l a p p r o x ( pInstance , array_K , x ) ;
y2 = eval_sapprox ( pInstance , array_L , x ) ;
. . .
}
642
The DSL functions lapprox2(dinl, dinc, dMatrix) and sapprox2(dinl, dinc, dMatrix)
can be used in the C Interface. They may be evaluated in the EvaluateEquations function with the
following statements:
extern double e v a l _ l a p p r o x 2 ( ModelInstance * pInstance , i n t index ,
double d i n l , double d i n c ) ;
extern double eval_sapprox2 ( ModelInstance * pInstance , i n t index ,
double d i n l , double d i n c ) ;
Example of DSL code with a flipflop() and an aflipflop():
. . .
y1 = lapprox2(xl,xc,matrix_iii)
y2 = sapprox2(xl,xc,matrix_iij)
. . .
Equivalent C Interface code:
struct ModelDefinition g_modelDefinition = {
. . .
2,
/ / no . o f lookup t a b l e s
. . .
} ;
. . .
# define m a t r i x _ i i i 0
# define m a t r i x _ i i j 1
. . .
i n t E v a l u a t e E q u a t i o n s ( ModelInstance * p I n s t a n c e , double tnow ) {
. . .
y1 = e v a l _ l a p p r o x 2 ( pInstance , m a t r i x _ i i i , x l , xc ) ;
y2 = eval_sapprox2 ( pInstance , m a t r i x _ i i j , x l , xc ) ;
. . .
}
26.15
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 defined in PowerFactory and set up to have a link to a MATLAB .m file. The DSL model must
have at least one output and at least one state variable. The MATLAB .m file returns the vector t and
the matrices x and y, where t represents a time-vector, x represents a matrix of state-variable values,
and y represents a matrix of output values. From these, PowerFactory calculates the derivatives of the
state variables and outputs. The 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 final times of that time step. The matrix x has as many columns as there are state variables, and
the matrix y has as many columns as there are outputs. PowerFactory calculates the derivates and the
outputs at the beginning of the time step, and proceeds with the integration. In the following example
the initial time is 0 s and the final time is 0.01 s. There are two state variables, and two outputs.
[
=
0
0.01
[
; =
1.02 2.1
1.03 1.9
[
; =
10 2
11 3
]
(26.6)
643
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
1 = 10. To use the MATLAB interface, it must be installed on the same computer as PowerFactory .
the
When the time-domain simulation in PowerFactory is initialised, it will start an instance of MATLAB U
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 first using a PowerFactory
model (ElmVco__16) and subsequently using an implementation in MATLAB Simulink. This example
can also be found in the SKnowledge
26.15.1
In this example the grid consists of two generators, one load and one line, as shown in Figure 26.15.1.
The simulation event is defined for the load, where the reactive power is increased after 0.5 seconds.
The complete example contains three files:
1. Matlab Example.dz is a PowerFactory file.
2. VCOtype16.m is a MATLAB M-file.
This file is an interface to the Simulink model, and it is used as a middle layer in the communication
between PowerFactory and Simulink.
3. vcotype16mod.mdl is a Simulink model and contains Simulink implementation of VCO type 16.
26.15.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
simplified exciter. Both composite models use the AVR inside the IEEE-frame from the global library.
644
The plots resulting from the simulation (Figure 26.15.8) show busbar voltages and excitation voltage for
both generators. The results are stored in result files located under the Results" folder of the relevant
study case.
26.15.1.2
MATLAB Model
In the second study case "Matlab" which is a modification of the base case, VCO type 16 is modelled inside the Simulink package, instead of using a built-in model. The MATLAB console is started
automatically when running the simulation.
DIgSILENT PowerFactory 15, User Manual
645
double-clicking an new/empty block reference in an open block diagram and then use the
button to select a Block Definition. Then The
icon can be used to create a new Block Definition
inside the local library.
Now open the dialog of the new BlkDef :
646
The model representation of the ElmVco__16 in the MATLAB Simulink package is shown in Figure 26.15.5
When the Block Definition is specified, a DSL model has to be created first. As described in Section 26.9.3 (The Common Model), the common model element (ElmDsl, ) is the front-end object for
all user-defined Block Definitions. This means that all user-defined transient models including built-in
elements or MATLAB models cannot be used other than through a common model.
The common model then combines a model or Block Definition with specific set of parameter values.
The edit dialog of the DSL element now looks different to the built-in ElmVco. From Figure 26.15.6 can
be seen, that this dialog is similar to the normal DSL models. All time constants and other parameters
are the same as for the built-in VCO models.
647
Figure 26.15.7 shows the composite model using the special frame with the generator G1 and the
Matlab-AVR inserted into the slots.
648
These results from the simulation of the reactive power step using the built-in VCO model (dotted curves)
and using the MATLAB representation (solid curves) can be seen in Figure 26.15.8
Figure 26.15.8: Results of the transient simulation with the Built-In model
649
The MATLAB file VCOtype16.m is an interface configuration for the Simulink model, stored in the
file vcotype16mod.mdl, and the PowerFactory DSL model. There the input and output signals, the
parameters and the state variables are defined, as described below. The transfer function is specified.
The contents of this file is listed here:
function [t, x, y] = VCOtype16
global U Tvm Usetp Upss Vska Tisp Ur1mx Ur1mn Vsex Efdmx
Efdmn ve1 x1 x2
options = simget(VCOtype16mod);
options = simset(InitialState, [x1,x2]);
[t, x, y] = sim(VCOtype16mod, [], options);
PowerFactory inserts the following variables into the MATLAB workspace:
U, Tvm, Usetp, Upss, Vska, Tisp, Ur1mx, Ur1mn, Vsex, Efdmx, Efdmn, ve1, x1, x2
Those variables are necessary to successfully run the Simulink model. There are three input signals
(U, Estop, Upss), one output signal Uerrs and two state variables x1 and x2.
In each step of the PowerFactory simulation the Simulink model is completely evaluated. State variables
(InitialState) are assigned to Simulink model in each step of the simulation. For PowerFactory it is a
simple function call:
[t, x, y] = VCOtype16.
PowerFactory uses only one Simulink model for both generators. To avoid limitation of Simulink, which
allows only one instance of the model running at the same time, PowerFactory must send all parameters
in the each step of the simulation.
To find appropriate equations for the initial conditions you need to understand the construction of the
transfer function blocks in Simulink. To obtain this understanding you can replace the variables with
actual numbers in the MATLAB Simulink model, set the initial conditions, run it for a few seconds and
monitor the outputs of all transfer functions to see whether the model initialised correctly.
The MATLAB Simulink model (.mdl) and the interface file (.m) file may not have the same name.
The order of the state variables in the interface files statement "options = simset(InitialState, [x1, x2,
. . . . . . ])" is important; the order of the elements in the vector [x1, x2, . . . ] must be the same as in
the state variable vector constructed internally by MATLAB. To determine the order of the MATLAB
state variable vector the user may use the command "[sizes,x0,xstring]= ModelName" in the MATLAB
workspace, where ModelName is the name of the Simulink model (without the .mdl extension and
without inverted commas). The output of the string variable xstring contains the names of the dynamic
blocks in the Simulink model in the desired order. In the case of the above example the first state
variable is in the measurement block and the second state variable is in the integrator:
xstring =
...VCOtype16_model/Measure/State Space
...VCOtype16_model/Integrator
The names of the variables in the Initial conditions fields in the masks of the Simulink model dynamic
blocks is irrelevant.
The initial conditions are set within PowerFactory . Also, for the purpose of PowerFactory s model
checking mechanisms, the state derivatives equal to zero
The Simulink solver parameters are set to integrate over one small time step, e.g. start time = 0, end
time = 0.01, and step size = 0.01.
650
26.15.2
Additional notes
DIgSILENT PowerFactory calls MATLAB using the programme identification keys "Matlab.Application"
and "Matlab.Application.Single". PowerFactory will start that same MATLAB installation which was used
last.
Additional information on the calling of MATLAB is available on
http://www.mathworks.com
651
652
Chapter 27
27.1
The calculation of eigenvalues and eigenvectors is the most powerful tool for oscillatory stability studies.
When doing such a study, it is highly recommended to first compute the natural" system oscillation
modes. These are the oscillation modes of the system when all controller and power plant models
are deactivated so every synchronous machine will have constant turbine power and constant excitation voltage. After determining these natural modes, the effects of controllers (structure, gain, time
constants etc.) and other models can be investigated.
After the initial conditions have been calculated successfully, which means that all time-derivatives of
the state variables should be zero (the system is in steady state), or the simulation has been stopped at
a point in time, the modal analysis calculates the complete system A-matrix 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.
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.
DIgSILENT PowerFactory 15, User Manual
653
(27.1)
then the oscillatory mode will be stable, if the real part of the eigenvalue is negative
(27.2)
< 0
The period and damping of this mode are given by:
= =
1
ln
(27.3)
+1
)
(27.4)
where and +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:
=
()
(27.5)
=1
where:
()
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 then represents the mode shape of the eigenvalue i and shows the
relative activity of a state variable, when a particular mode is excited. For example, the speed amplitudes
of the generators when an eigenfrequency is excited, whereby those generators with opposite signs in
oscillate in opposite phase.
The right eigenvectors can thus be termed the observability vectors". The left eigenvectors
measures the activity of a state variable x in the i-th mode, thus the left eigenvectors can be termed the
relative contribution vectors".
654
1
2
= 1
11
12
1 + 2
21
22
2 + . . . + 2
1
2
(27.6)
The problem of using the right or left eigenvectors for analysing 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 and are combined to a matrix P of participation factor by:
1 1
1
2 2 2
=
=
(27.7)
The elements of the matrix 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 stabilising devices to influence the system damping efficiently. Furthermore, the participation
factor is normalised 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.1.1.
Name
s:speed
s:phi
s:psie
s:psiD
s:psix
s:psiQ
Unit
p.u.
rad
p.u.
p.u.
p.u.
p.u.
Description
Speed
Rotor-angle
Excitation-Flux
Flux in D-winding
Flux in x-winding
Flux in Q-winding
655
27.2
This section explains the steps required to complete a Modal Analysis in PowerFactory Completing an
analysis using the default options is explained in the first sub-section. The second sub-section explains
the various options available in the Modal Analysis command.
27.2.1
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.2.1.
27.2.2
656
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 configuration as explained
below.
27.2.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);
DFIG (ElmAsmsc);
DC machine (ElmDcm);
DC line (ElmLne with type set to DC);
DIgSILENT PowerFactory 15, User Manual
657
27.2.4
658
Number of Eigenvalues
This parameter limits the total number of eigenvalues calculated by the Selective Eigenvalue calculation
method. An eigenvalue pair is defined as one eigenvalue mode for this calculation.
Settings
The Settings button, is a reference (pointer) to the Calculation of Initial Conditions command, also
accessed through the
button, that is used by the Modal Analysis command. It is provided here so
that you can easily inspect the selected calculation options.
27.2.5
Advanced Options
The advanced options page for the modal analysis is shown in Figure 27.2.4. This section explains the
options available on this page.
Figure 27.2.4: Advanced Options tab page of the Modal Analysis command dialogue
DIgSILENT PowerFactory 15, User Manual
659
660
27.2.6
Output Options
The Matrices used for the Modal Analysis can be exported to a Matlab readable file format. The user
can select the items to export in the dialog shown in figure 27.2.6. In this dialog the user can also set
the folder in which the Matlab files will be placed.
Figure 27.2.6: Output Options tab page of the Modal Analysis command dialogue
27.3
There are several ways for the user to view the results of the Modal Analysis calculation, including
through predefined reports to the Output Window, using the built-in plots within PowerFactory or using
the spreadsheet like data browser. Additionally, the user can search individual objects within the
database and view the Controllability, Observability, and Participation for a particular mode within the
familiar data manager or object filters. This section describes how to get results using these four
methods.
661
27.3.1
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
dialogue should be visible.
2. Select the eigenvalues radio button and the dialogue should look as shown in Figure 27.3.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 dialogue format to that shown in Figure 27.3.2. The various options are explained as follows:
Select Eigenvalue To print a report showing all eigenvalues and for each eigenvalue a filtered
list of the state variables Controllability, Observability or Participation Factors, then choose the
option Filtered from this drop down menu. Adjust the filter settings in the box below to determine
which eigenvalues will not be shown in the report. Alternatively, to display a report for a single
eigenvalue, choose the eigenvalue index from this box. Note when choosing a single eigenvalue,
the filter settings are not applied to the report.
Variable Selection To show all variables (for example, speed, phi, psiD), select Show all. To filter
the displayed variables according to Controllability, Observability or Participation Factor, choose
Min. contribution and enter the value for the minimum contribution. Alternatively, for greater
control over which variables are displayed, select the User Defined 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.3.3. The results
of the participation factors for a single mode in a small example power system are shown in
Figure 27.3.4. Note the Detailed check-box shows the bar chart in the report, whereas the normal
report shows only numerical values.
662
663
664
27.3.2
There are three special plot types in PowerFactory for visualising the results of a modal analysis calculation; the Eigenvalue Plot, the Mode Bar Plot and the Mode Phasor Plot.
Each type of plot can be automatically created by selecting the
icon and clicking the desired plot
icon. This section explains how to use each plot and also how these plots can be exported to external
software.
How to use the The Eigenvalue Plot (VisEigen)
Creating the EigenValue Plot
1. Using the plot selection toolbar as shown in Figure 27.3.5, choose the Eigenvalue Plot by clicking
icon.
the
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.
Interpreting the EigenValue Plot An example EigenValue Plot is shown in Figure 27.3.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.3.7.
665
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.3.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
defined criteria. Eigenvalues can be restricted by range (independently in either the x or y axes)
by selecting the Restrict Range option. The Restrict Indexes options allows the user to choose
from the complete list of eigenvalues, a limited subset to display on the plot. Alternatively, just the
Oscillatory Modes can be displayed by choosing the Show Oscillatory Modes option.
Scale; Here the range of the plot (x and y axes limits) can be defined. Also by enabling the Adapt
Scale option, the x and y axes tick marks will be displayed as integer values, rather than floating
point numbers. For example, the axis marks will be 10.0, 20.0 and 30.0 rather than 9.7988,
19.5976 and 29.3964.
666
667
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.3.11 will appear. The options available are explained as follows:
Mode Selection; Here you must choose the mode displayed on the plot. The observability,
controllability or participation factors will then be displayed for this mode. Note, if you are interested
in a mode near a particular value, but 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 Participation Factors for the selected mode.
Filter Options; Here you can choose to restrict the display of variables on the plot according to
defined criteria. Displayed variables can be restricted to a minimum contribution by selecting the
Min. Contribution option, or for greater control the variables to display can be selected manually
by selecting the User Defined States option and manually choosing the variables to display.
668
How to use the Mode Phasor Plot (VisModephasor) Creating the Mode Phasor Plot
1. Using the plot selection toolbar as shown in Figure 27.3.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.3.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 defined parameter (default 3 degrees).
Double clicking any of the bars in the plots shows the detailed IntEigstate dialogue as shown in
Figure 27.3.10. This dialogue is identical to the dialogue displayed when clicking on one of the
bars in the Mode Bar Plot.
669
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 parameter 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
exported to a WMF or BMP file for use in an external software program such as a word processor.
It is recommended to use the WMF format where possible because this format is a vector based format
(which means that the plot looks good regardless of scaling) and is compressed so uses much less disk
space than the BMP file.
To export a Modal Analysis plot follow these steps:
1. From the main PowerFactory file menu, choose the Option File Export ... Windows Metafile
(*.WMF). A Save As dialogue will appear.
2. Choose an appropriate File name and disk location and click Save.
670
Note: The process of exporting multiple plots can be automated using a DPL script. See the DPL
function WriteWMF() in the Appendix E: DPL Reference for more information.
27.3.3
The Modal Analysis results can be displayed in a convenient data browser specially designed for working
with these results. To display the results in this data browser follow these steps:
1. Click the
icon found in the Modal Analysis toolbar. The ComModres dialogue as shown
Figure 27.3.13 will appear.
2. Optional: If you want to display the Modal Analysis results from another Study Case, you need
to select user-defined for Shown Results and select an alternative results object. Normally you
should leave this value on Default
3. The procedure now depends on if you want to view the calculated eigenvalues, or if you want to
view the controllability, observability and participation factors for variables related to a particular
eigenvalue.
If you only want to display the eigenvalues, then leave the Shown Values on 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.3.14 (for
eigenvalues) or as shown in Figure 27.3.15 for a single eigenvalue and the controllability etc for
each variable.
Figure 27.3.13: Displaying modal analysis results in a data browser (ComModres dialogue)
671
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.3.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.
672
27.3.4
The data manager and object filter can be used to view the participation factors, controllability or
observability for power system elements such as synchronous machines after completing an Modal
Analysis. There are three tasks that you might need to complete to show this information. Tasks one
and two are compulsory, whereas task three is only necessary if you are viewing the eigenvalue results
in the data manager or object filters for the first time.
Task 1: Choosing the Eigenvalue and variable to view
1. Firstly, make sure you have executed a Modal Analysis as described in Section 27.2.
2. From the Modal Analysis toolbar click the Set Eigenvalue
(ComSeteval) should appear as shown in Figure 27.3.16.
673
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.3.17.
6. Press the OK button. Now you can scroll to the right in the flexible data page to view the values
of these variables.
Note: The results can only be displayed for one eigenvalue and variable at a time. For instance,
eigenvalue 3 and speed. To change the displayed eigenvalue and/or variable, repeat task one
above. You dont need to repeat task three every time because after this has been done the first
time in the project it will remain configured this way until you change the defined variables in the
flexible data page.
Figure 27.3.17: Variable set selection of Controllability, Observability and Participation Factor variables
for Synchronous Machines.
674
27.4
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.4.1
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.
675
676
Chapter 28
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 optimisation tool, which is capable
of a multi parameter identification for one or more models, given a set of measured input and output
signals. This identification is principally performed in the following way:
A Measurement File object (ElmFile) is created which maps the raw measured data onto one
or more measurement signals. These signals may contain measured excitation and response
signals.
The measurement signals are used as inputs by the models of the power system elements for
which one or more parameters have to be identified, or they may be used to control voltage or
current sources.
The output signals of the power system elements are fed into a comparator, just as the corresponding measured signals. The comparator is thus given the measured response on the excitation and
the simulated response of the element models.
The comparator calculates an objective function, which is the weighted sum of the differences
between the measured and the simulated response, raised to a whole power (by default to the
power of 2).
The ComIdent command will collect all objective functions from all comparator objects in the
currently active study case and will minimise the resulting overall objective function. To do this,
the ComIdent command is given the list of parameters which are to be identified. The objective
functions are minimised by altering these parameters.
This whole process is visualised in Figure 28.1.1.
677
Of course, Figure 28.1.1 only visualises the principle of the identification. To connect measurement
files, power system models and comparator objects to each other, a composite frame is used. This, and
all other details of the PowerFactory identification functions, is described in the following sections.
28.2
The parameter identification process is performed by minimising 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 define an objective function, the measured excitation signals must be connected to the component
models or to voltage or current sources, and the measured and calculated response signals must be
connected to the compare object. All this is done graphically by drawing a Composite Frame, using a
block definition (BlkDef) with slots.
A simple example of an identification block diagram, for the objective function for a voltage controller, is
visible in Figure 28.2.1.
The block diagram uses slots which reserve space for the measurement files, the comparator and the
element models.
678
28.2.1
The measurement file object (ElmFile) has the following signals available:
Number of Input Signals: 0
Number of Output Signals: 10
Input Signals Names: Output Signals Names: y1,..,y10"
The measurement file slot in the example of Figure 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 file does not implicate
that the parameter identification only regards measured response signals (measured outputs") from
power system elements. It only means that the measured excitation signals will be mapped onto
ElmFile signals. The ElmFile will reproduce the measured excitation and response signals during the
identification process.
28.2.2
Power system element slots are used in the identification block diagram in the same way as they are
used to define composite models.
As in the case of a composite model diagram, the element slots may use any of the available parameters
of the power system element model as input or output. The in- and output signals are defined by stating
the exact variable name (see also Section Composite Block Definitions in Chapter 26: Stability and EMT
Simulations, Section 26.11 (User Defined (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
679
28.3
The identification block diagram only defines a generalised workbench that is needed for the identification process. Its function is similar to that of the Composite Frame object. There is also the need to
create a composite model, based on the block diagram, to identify particular parameters of particular
objects.
Suppose having a voltage controller model of which one wants to identify the parameters ka and ta.
Measurements of the 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 identification block diagram of Figure 28.2.1, a composite model (ElmComp) has
to be created in the active grid folder.
Note: If the identification process only addresses secondary power system element, which are not
directly connected to busbars, the identification process does not require a power system grid.
However, all calculation functions like load-flow or EMT simulation require a calculation target in
the form of an activated grid of system stage folder. Therefore, a grid folder with at least one
DUMMY busbar has to be created when secondary element models are to be identified.
The composite model must be set to use the identification block. It will then show the slots that
have been defined in that block. In the current example, the composite model dialogue will look like
Figure 28.3.1.
680
In this figure, the three slots have been assigned already. Visible is that the comparison object Compare
Signals is selected, as well as a measurement file and the voltage controller of which to find the best
possible values for ka and ta.
28.3.1
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.
681
In this figure, the 10 difference signals are listed, with their weighting factor. By default, these are one,
but they may be edited freely. The power factor equals 2 by default but may be set to any other positive
whole number from 2 to 10.
The objective function calculated by the comparison object equals
[( ) ]
(28.1)
=1
where
is the measured response (i.e. in1mea")
the simulated response (i.e. "in1sim")
is the weighting factor (i.e. for the difference signal nr.1)
p is the power
28.4
The identification process is executed by the ComIdent command. This command can be opened by
the
icon on the main menu. This icon can be found on the RMS/EMT Simulation" toolbar which is
accessed by selecting the Change Toolbox icon ( ).
The ComIdent dialogue is depicted in Figure 28.4.1.
682
683
28.5
A primary appliance, such as a general load, an asynchronous machine or a static var system, do not
have an input signal like a voltage controller or any other secondary appliance. It would therefore not
be possible to connect a measured signal directly to a load model in order to simulate its response.
To identify a primary element model, a small grid model is used to which one or more controllable
voltage sources may be connected. These voltage sources will translate the measured voltage signals
from the measurement file into a normal busbar voltage which will be used in the load-flow or simulation
calculations. The response of the primary element models connected to that busbar may then be
compared to a measured response.
An example of this method is shown in the following figures.
In Figure 28.5.1, a simple Identification Block Diagram is shown in which the measurement file is no
longer connected to the element slot, but to the voltage source slot. The voltage at the busbar at which
684
In Figure 28.5.2, a very simple grid is shown to which the load which is to be identified and a voltage
source element are connected. As with the normal identification process, a Common Identification
Model has to be created which uses the Identification Diagram with Primary Element as shown in
Figure 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 identification of both primary and secondary power system elements
at the same time.
685
686
Chapter 29
Contingency Analysis
29.1
Introduction
In Chapter 21 (Load Flow Analysis) the general aspects of load flow analysis and its main areas of
application were presented. Additionally, two perspectives were discussed: that of planning and that of
system operation (see Figure 21.1.1). There it was made evident that regardless of the perspective, the
behaviour of the system must be analysed under both normal and abnormal conditions.
When referring to contingency analysis, we are essentially referring to the analysis of abnormal system
conditions. In general, contingency analysis can be defined as: "the evaluation of the violations in
system operating states (if any) that certain contingencies can pose to the electrical power system";
or put in other words, contingency analysis is the execution and evaluation (loading and voltage-wise)
of post-fault load flows; each of which reflect the "outage" of a single or group of elements (such as
transformers, busbars, transmission lines, etc.).
Contingency analyses can be therefore used to determine power transfer margins or for 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,
performed over different time periods, each of which defines a time elapsed after the contingency
occurred. It allows the definition of user defined 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 flows are compared to the specified 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 flow is analysed
per contingency case.
DIgSILENT PowerFactory 15, User Manual
687
688
Before describing in detail the contingency analysis itself, it is necessary to introduce two basic concepts
which define the functionality of this tool:
Contingencies: These are objects in PowerFactory of the class ComOutage ( ) which are used
to represent contingencies. They are defined by a set of events which represent the occurrence of
the originating fault(s) over time and the subsequent fault clearing and post-fault actions. It should
be noted that 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 definition and use of contingencies please refer to Section 29.5.7
(Defining 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 defined via a user defined Post
Contingency Time (see the Multiple Time Phases page of the Contingency Analysis command).
The Post Contingency Time defines 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 definition of time
phases refer to Section 29.5.7 (Defining Time Phases for Contingency Analyses).
689
29.2.1
The single time phase contingency analysis function first performs a pre-fault (base) load flow calculation. Following this, for each contingency (stored inside the command itself) it performs a corresponding
post-contingency load flow (for a single time phase), which take one or more primary components out
of service. The command calculates the initial consequences of the contingencies, but does not regard
the operational measures taken to mitigate voltage band problems or supply interruptions.
It is important to mention here that if the contingency analysis command is set to consider 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 Specific Time Phase flag (Multiple
Time Phases page) is not enabled. Additionally, the operational thermal ratings of branch elements
during the contingency (if short term thermal ratings (12.3.7) have been defined) will depend on the
duration of the contingency i.e. the current Post Contingency Time.
The raw results of the single time phase contingency analysis correspond to the steady-state operational points of the network being studied, considering each one of the defined 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 filtering 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 configuring the reporting settings,
and Chapter 11 Study Cases, Section 11.11 (Results Objects) for information on handling result objects
(ElmRes) in PowerFactory.
Note: If the Fault Case contains post-fault actions such as load shedding, generator re-dispatch, tap
changing and switching actions (closing), these are ignored in the Single Time Phase mode,
regardless of the specified Post Contingency Time.
29.2.2
As indicated previously, PowerFactory provides tools for the analysis of contingencies over multiple
time phases, allowing the definition of post-fault actions that can lead to the mitigation of voltage band
problems or supply interruptions which are caused by faults in the networks under analysis.
As in the single time phase contingency analysis, the multiple time phases contingency analysis function
first performs a pre-fault (base) load flow calculation. The major difference here is that for each
contingency (stored inside the command), it loops over the list of defined time phases (also stored
inside the command itself), calculating the corresponding post-contingency load flows. For each load
flow calculation, the events (faults and post-fault actions) whose time of occurrence are earlier than, or
equal to, the corresponding Post Contingency Time, are considered.
Similar to single time phase contingency analysis, the effect of transformer tap changers and switchable
shunts depends on these components corresponding time constants and the current Post Contingency
Time. Controllers are only considered if their time constants are smaller than the current Post Contingency Time. Additionally, the operational thermal ratings of branch elements during the contingency (if
short term thermal ratings (12.3.7) have been defined) will depend on the duration of the contingency
i.e. the current Post Contingency Time.
The raw results of the contingency analysis with multiple time phases correspond to the steady-state
operational point of the network being studied, at every Post Contingency Time for each of the defined contingencies. The reporting features included in the function allows the filtering of problematic
contingencies, according to maximal loading of branch elements, exceeded voltage limits, etc.
690
29.2.3
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 modified according to a list predefined 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 first be created and afterwards
activated. Once the execution of the contingency analysis has finished, the Study Case date and time
are restored to their original setting. For more information on the Scenario Scheduler please refer to
Chapter 14(Operation Scenarios).
In addition, the Time Sweep option can be used in combination with the Parallel Computing option
(Section 29.2.5).
29.2.4
In PowerFactory , the contingency analysis can be setup to consider predefined switching rules of
substations (refer to Chapter 9: Network Graphics (Single Line Diagrams), Section 9.2.6 for further
information). The Switching Rule defines switching actions for different fault locations (arranged in a
matrix) that can be reflected at a certain time. These switching actions will always be relative to the
current switch position of every breaker.
29.2.5
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
significant 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
modified when the user has logged on as an Administrator.
The following sections provide detailed information regarding the execution and settings of the contingency analysis command in its single or multiple time phase configuration.
29.3
To access the various contingency analysis related functions within PowerFactory , click on the icon
and select "Contingency Analysis".
Change Toolbox
Figure 29.3.1, shows the Contingency Analysis Toolbar, with all the related functions.
691
Both the Single Time Phase and Multiple Time Phases contingency analysis are carried out using the
Contingency Analysis command (ComSimoutage,
). When configured and executed, it performs a
base load flow calculation to determine the operational point of the network under no-fault conditions.
The command contains Contingency Cases (ComOutage objects) which define one or more elements
that are taken out of service simultaneously. Following the calculation of the base load flow, a contingency load flow for each of these contingencies is calculated. This calculation considers the post-fault
thermal ratings of branch elements (see Chapter 12: Project Library, Section 12.3.7), transformer tap
changer controller time constants and 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 definition and use of Fault Cases and Fault Groups; and/or
Using the Contingency Definition (ComNmink ) command, either via its toolbar icon ( ) or by
selecting component(s) in the single-line graphic, right-clicking and selecting Calculate Contingency Analysis. . .
In the first case, contingency cases can be created using references to user defined Fault Cases and
Fault Groups (introduced in Chapter 12: Project Library, Section 12.3.3) from the 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
redefine the same contingencies each time a contingency analysis is required. For further information
on creating contingencies from fault cases/groups, please refer to Section 29.6 (Creating Contingency
Cases Using Fault Cases and Groups).
In the second case, contingencies can be created using the Contingency Definition command. This
command is available either via the
icon on the main toolbar, or by right-clicking on a selection of
elements in the single line diagram, and selecting the option Calculate 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 Definition 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 Definition command, please refer to Section 29.7 (Creating Contingency Cases
Using the Contingency Definition Command).
The following sections provide detailed information regarding the settings and features of the contingency analysis command in its single time phase configuration.
692
29.4
The settings of the Basic Options page of the contingency analysis command (ComSimoutage
illustrated in Figure 29.4.1.
) are
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 flow in order to determine the initial operational point of the network.
This base (pre-fault) load flow is performed according to the settings stated in the load flow command and which is referenced on the Basic Options page of the contingency analysis command.
Execution of the contingency load flows. That is, for each of the stored contingency cases, it
places the interrupted components (see Section 29.4.8: Representing Contingency Situations
- Contingency Cases) on outage and performs a contingency (post-fault) load flow. Here, the
settings of the post-fault load flows will depend on how the contingency command is configured.
That is, if specified by the user, the pre-fault and post-fault load flows can be executed with different
settings (only a difference in certain settings are allowed). For more information please refer to
Section 29.5.3 (Multiple Time Phases).
The contingency load flow is characterised 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 Specific Time Phase has been selected). This
parameter determines the duration of the interval between the occurrence of the fault(s) which define the
contingency, and the time when the load flow calculation of the network under the contingency situation
DIgSILENT PowerFactory 15, User Manual
693
The contingency analysis uses a result file 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 capacitors and series reactors). Recording the loadings for all branches and
the voltages for all terminals for every contingency may lead to excessive data storage. Therefore, in order to minimise data storage, only significant results are recorded. In contingency analysis, a calculated
parameter is considered to be significant if the threshold (Limits for Recording) of the corresponding
component are out of the threshold. Limits can be set individually for each terminal and branch element
(in the Load Flow page of the elements dialogue) or globally in the Limits for Recording field of the
contingency analysis command. A calculated result is stored in the result file whenever one of the
constraints (individual or global) is violated.
The settings of the contingency analysis command are entered using the dialogue shown in Figure 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 flow method to
calculate the power flow and voltages per contingency case.
DC Load Flow Calculation The contingency analysis uses a linear DC load flow method to
calculate the active power flow per contingency case.
DC Load Flow + AC Load Flow for Critical Cases The contingency analysis will perform two
runs (if required). First it will use a linear DC load flow method to calculate the active power flow
per contingency case; if for certain contingencies loadings are detected to be outside a certain
threshold, then for these cases the contingency analysis will recalculate the post-fault load flow
using the iterative AC load flow method. The criteria (threshold) used for the AC recalculation of
critical DC cases is stated on the Advanced Options page.
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 field located in
the bottom section of the Basic Options page). Whenever one of the defined constraints is violated, the
calculated result (for the corresponding contingency case and network component) is recorded.
694
695
29.4.2
Effectiveness
The Effectiveness page of the contingency analysis command (Figure 29.4.3), allows the display,
addition and removal of quad boosters and generators in order to calculate their effectiveness.
29.4.3
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.
696
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
definition of post-fault actions.
Base Case versus Contingency Load Flow
Use same settings Uses the settings from the base case load flow for the contingency case load
flow.
Allow different settings Allows different settings for the base case load flow and the contingency
case load flow.
Calculation Settings
Base Case Load Flow Only available when option Allow different settings is selected in the Base
Case versus Contingency Load Flow section of the Multiple Time Phases tab. This is a reference
to the load flow command used to calculate the network operational point before the simulation of
contingencies. The settings of this load flow command can be edited by pressing the
button.
Contingency Load Flow Only available when option Allow different settings is selected in the
Base Case versus Contingency Load Flow section of the Advanced Options tab. This is a
reference to the load flow command used to assess the network in contingency situations. It
is characterised by the Post Contingency Time, which is defined in the Post Contingency Time
field, also located in the Calculation Settings section of the dialogue. The contingency load flow
command referred to by the Contingency Load Flow is always stored inside the contingency
analysis command itself. The settings of this load flow command can be edited by pressing the
button. The Contingency Load Flow command settings can be set to those of the currently
used by the Base Case Load Flow command by pressing the
button.
Note: If no Contingency Load Flow command is defined, the Base Case Load Flow command is
used to asses the network under contingency situations. In this case the action of automatic
transformer tap changers and switchable shunt compensators is directly considered (provided
that the corresponding options are selected in the Basic Options page of the assigned load flow
DIgSILENT PowerFactory 15, User Manual
697
Consider Specific 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 define a post
contingency time.
Post Contingency Time (End of Time Phase) This value defines the time phase of the contingencies. This means that all switch-open events with an event time less than or equal to this are
considered in the contingency.
29.4.4
Time Sweep
The Time Sweep settings shown in Figure 29.4.5 allow the automatic modification of the date and time
of the active Study Case according to a list predefined by the user. The advantage of this option is
in situations where the contingency analysis needs to be automatically performed taking into account
different system conditions such as considering several load and generation profiles (according to the
hour of the day).
Figure 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 first be created and afterwards activated.
Once the execution of the contingency analysis has finished, the Study Case date and time is
restored to its original setting. For more information on the Scenario Scheduler please refer to
Chapter 14(Operation Scenarios)
To add study times to the list, first enable the Calculate Time Sweep option, then right-click anywhere in
the table and select Insert Rows (alternatively select Append Rows or Append n Rows). To modify the
date and time, double-click on the corresponding Study Time cell. Additionally, the user has the option
698
29.4.5
Advanced Options
699
29.4.6
Parallel Computing
There are two types of settings associated with the Parallel Computing option. The first and more
general group of settings are the ones related to the management of the parallel computation function
(computing method and the assignments of slaves). To access and modify these settings; log-on first as
an administrator and afterwards open a Data Manager window. Locate and edit the Parallel Computing
Manager (\System\Configuration \Parallel Computation \) as indicated in Figure 29.4.7.
The users can however define their own settings by creating a system folder (with key "Parallel") under
the folder "\\Configuration" and then creating the setting object ComParalman. This can only be carried
out when logged on as administrator.
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 Defines 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.
700
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 Optimised Method and Package Size for Standard Method The master
distributes the contingencies to slaves per package. The package size indicates how many
contingencies will be calculated by a slave each time. The contingencies can be calculated
using either optimised method or standard method. As the standard method is much slower than
optimised method, the package size of the standard method should be smaller than that used for
the optimised method to balance the calculation.
701
29.4.7
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
Contingency cases (ComOutage objects) are objects used in PowerFactory to define contingency situations within the analysed networks. A contingency case determines which components are put on
outage. When a contingency analysis (ComSimoutage) is executed, the contingency analysis command
considers each of the contingency cases stored inside it, taking the corresponding components out of
service and performing a contingency load flow.
As mentioned previously, the contingency cases used by a specific contingency analysis command are
stored inside the command itself. Contingency cases are created either by using Fault Cases and/or
Fault Groups (see Section 29.6), or via the Contingency Definition command ( , see Section 29.7).
Once the contingencies have been defined in the contingency command, the cases can be viewed
by using the Show button available in the dialogue (see Figure 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 defined contingencies
is opened, with the contingencies listed inside. By double-clicking on a contingency from the list, the
corresponding dialogue for that particular contingency is opened (as illustrated in Figure 29.4.9). The
dialogue displayed in Figure 29.4.9 shows the following fields:
Name Name of the contingency case.
Not Analysed If enabled, the case is not considered by the contingency analysis command.
Number An identification number given to the contingency and which is stored in the results.
This number can be used for reporting purposes.
702
703
Figure 29.4.10: Contingency Cases (ComOutage objects for Multiple Time Phase)
Normally, contingency cases (ComOutage objects) are analysed by the contingency analysis command
(ComSimoutage) in which they are stored. However, each contingency case provides the functionality
of a command itself, and can be executed individually using the Execute button at the top right of the
ComOutage dialogue. In this case the actions taken by the circuit breakers, which must switch to clear
the fault, are shown in the single line graphic (only if the contingency case was created using fault
cases/groups).
Note: The Interrupted Components table is updated by the program each time the contingency analysis is executed.
For further information on contingency cases generated using fault cases and/or fault groups, please
refer to Section 29.6 (Creating Contingency Cases Using Fault Cases and Groups). For information
on contingency cases created using the Contingency Definition (ComNmink ) command, please refer to
Section 29.7 (Creating Contingency Cases Using the Contingency Definition Command).
29.5
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 configuration it determines the
initial operational condition of the system via a base load flow calculation. Following this, it loops over
the defined time phases for each stored contingency (ComOutage object). Load flow calculations are
performed which consider the contingency events whose time of occurrence is earlier than, or equal to,
the Post Contingency Time, which is set in the corresponding load flow command.
As a result of the execution of the Contingency Analysis command, the steady-state operational point
of the network at the Post Contingency Time, for every contingency, is obtained. The calculated results
704
29.5.1
Basic Options
Calculation Method
This setting is configured 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 configured as described for Single Time Phase operation. Please refer to Section 29.4.1
(Basic Options).
Contingencies
This setting is configured as described for Single Time Phase operation. Please refer to Section 29.4.1
(Basic Options).
Results for AC/DC
This setting is configured 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
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.
705
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
definition of post-fault actions.
Base Case versus Contingency Load Flow
Use same settings Uses the settings from the base case load flow for the contingency case load
flow.
Allow different settings Allows different settings for the base case load flow and the contingency
case load flow.
Calculation Settings
Load Flow Only available when option Use same settings is selected in the Base Case versus
Contingency Load Flow section of the Advanced Options tab. This is a reference to the load
flow command used to calculate both the network operational point before the simulation of
contingencies, and the contingency load flow(s). The settings of this load flow command can
be edited by pressing the
button.
Allow different settings Only available when option Allow different settings is selected in the
Base Case versus Contingency Load Flow section of the Advanced Options tab. This is a
reference to the load flow command used to calculate the network operational point before the
simulation of contingencies. The settings of this load flow command can be edited by pressing
the
button.
Time Phase n
Lists the defined time phase(s). The button
next to each time phase can be used to remove the
corresponding time phase. If the option Allow different settings has been selected on the Advanced
Options tab, the Time Phase will have its corresponding load flow accessible by pressing the
button
next to the defined time phase.
706
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 configured 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
The time phases of a contingency analysis are defined in the Calculation Settings section of the Multiple
Time Phases page of the Contingency Analysis command, by specifying a Post Contingency Time for
each defined time phase. A specified Post Contingency Time defines the end of a time phase and is
used to determine which events (actions) from the analysed contingency are considered. If the time of
occurrence of an event from a contingency occurs earlier than or equal to the Post Contingency Time,
the event will be considered in the corresponding load flow calculation.
Each defined time phase uses a corresponding load flow calculation, and by default, this is the same
load flow calculation as that used for the base case load flow. 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 define individual load flow commands for each time phase, as illustrated in Figure 29.5.2.
button.
Access to each load flow command and its settings is via the
707
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
thermal ratings of branch elements during a contingency (if short term thermal ratings (see
Section 12.3.7) have been defined) will also depend on the duration of the contingency (i.e. the
current Post Contingency Time).
The Contingency Analysis time phases (which are essentially just load flow commands) are stored
within a folder inside the ComSimoutage command and can be accessed in several ways. One way is
button next to each defined time phase in the Calculation Settings section of the
by clicking on the
Multiple Time Phases tab; by doing so, the edit dialogue of the corresponding load flow command pops
up.
Another way is through the Data Manager. After performing a contingency analysis, a 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 flow settings), then
a Time Phases folder with the corresponding time phase load flow commands will be created inside the
contingency analysis, as illustrated in Figure 29.5.3.
New time phases can be defined in the data browser by clicking on the Add Time Phase button. Existing
time phases can be deleted using the
button. Note that after several time phases have been defined,
708
29.5.8
Contingency situations which include post-fault actions are represented in PowerFactory via objects
). The contingencies are defined by a set of events which
called contingencies (ComOutage,
represent:
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 defined in the Operational Library. These fault cases
define the location of the fault events, and may also define post contingency actions taken to isolate
the fault and mitigate the effects of the outage of the component(s). Whenever a new contingency is
created, a link from the ComOutage object to the fault case is set. New contingencies can be created
in a Contingency Analysis command by clicking on the Add Cases/Groups button in the Configuration
section of the Basic Data 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 defining additional post contingency actions in the contingency by
manually creating new events.
The contingencies calculated in a Contingency Analysis, are stored inside the command itself and
can be accessed using the Show button (see Figure 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 defined
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 analysed 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
final states of the network switches.
The events that define a contingency can be displayed in a list format in a new data browser by pressing
the Events button in the fault case (IntEvt) dialogue (as shown in Figure 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
ComOutage option Use locally defined events (User defined) is selected in the Events Used for this
Contingency field.
DIgSILENT PowerFactory 15, User Manual
709
29.6
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 defined fault(s). All components which lose their connection to the network
reference bus following the switching actions that clear the fault(s), are regarded as interrupted and
are subsequently added to the Interrupted Components table of the corresponding contingency case.
In other words, these components are put on outage by the contingency case. Depending on the fault
defined in the fault case that generates a contingency, the Fault Type field 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
710
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 (Basic 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 definition of at least one reference bus in the analysed system. A bus is
explicitly set as a reference if it has connected to it either a synchronous generator (ElmSym), or an
external grid (ElmXnet) with the option Reference Machine enabled (available on the elements
Load Flow tab).
29.6.1
There are two types of subfolder inside the Faults folder in the Operational Library : Fault Cases and
Fault Groups.
In order to make a new folder of either of these types, left-click on the Faults folder icon ( ) and then
press the New Object button ( ) on the Data Manager toolbar. In the drop-down list, select whether a
new Fault Cases or Fault Groups folder should be created.
The Fault Cases folder holds every contingency (n-1, n-2, or simultaneous) defined for the system, as
described in Section 29.6.2 (Defining a Fault Case). Alternatively, several fault cases can be selected
and stored in a Fault Group, as described in Section 29.6.3 (Defining a Fault Group).
29.6.2
To define a fault case for an element in the grid, select it in the single-line diagram. Then right-click and
choose one of: Define. . . Fault Case Single Fault Case or Define. . . Fault Case Multiple Fault
DIgSILENT PowerFactory 15, User Manual
711
Fault cases can also be defined by the Contingency Definition command, as explained in Section 29.7
(Creating Contingency Cases Using the Contingency Definition Command).
For further background on fault cases, please refer to Chapter 12: Project Library, Section 12.3.3 (Fault
Cases and Fault Groups).
29.6.3
To define a fault group, left-click on the Fault Groups folder. Then click on the New Object button ( ).
A Fault Group dialogue pops up as shown in Figure 29.6.4. In this dialogue the user can specify the
name of the fault group in the Name field, and add fault cases to this new group using the Add Cases
button. Click the Cases button to view existing cases (if any) in the fault group.
712
29.7
The Contingency Definition 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 Definition command can be used to automatically generate contingency
cases for either (i) a user-defined selection of elements; or (ii) pre-defined sets of elements. These two
approaches are now described.
To generate contingency cases for a user-defined 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 Definition 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 how the contingencies should be handled
(see explanation of options below) and click on Execute.
To generate contingency cases for either the complete system or from pre-defined sets of elements:
Click on the
Select the option Whole System in the Create Cases for field;
Select the required pre-defined set of elements (for example transformers and lines);
Select the Creation of Contingencies option according to how the contingencies should be handled
(see explanation of options below) and click on Execute.
713
Figure 29.7.1: Contingency Definition Dialogue (option: Generate Contingencies for Analysis)
Once the Contingency Definition command is executed, it generates the corresponding contingency
cases according to the options 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 analysed by executing this already-opened Contingency Analysis command. Note
that when a new list of contingencies is created using the Contingency Definition command, the previous
content of the contingency analysis command is overwritten.
It is also possible to open the Contingency Definition command directly from the 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 Definition command offers the following options to generate contingency cases from
the selected objects:
Creation of Contingencies
Generate Fault Cases for Library Generates fault cases which are stored in the 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 mutually 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
714
29.8
In order to compare contingencies in a fast and easy way, PowerFactory provides a Contingency Comparison function ( ). The Contingency Comparison function is only enabled if the user has previously
defined the contingency cases in the Contingency Analysis command, as explained in Sections 29.6
(Creating Contingency Cases Using Fault Cases and Groups) and 29.7 (Creating Contingency Cases
Using the Contingency Definition Command). The general handling of the Contingency Comparison
function is as follows:
1. Define the contingency cases in the Contingency Analysis command (see Sections 29.6: Creating
Contingency Cases Using Fault Cases and Groups and 29.7: Creating Contingency Cases Using
the Contingency Definition Command).
2. Click on the Contingency Comparison button ( ). A window will pop up allowing the user to select
the required contingency cases (Figure 29.8.1). The selection can correspond to one, several, or
all contingency cases.
715
716
29.9
Result Analysis
29.9.1
In PowerFactory the Contingency Analysis function has a special set of predefined 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 Contingency Analyses). Once the reporting of results has been launched, the dialogue
window illustrated in Figure 29.9.1 will be displayed.
717
718
The tabular format (Figure 29.9.2) for reporting has the following sections:
Header:
Identifies 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.
719
720
Chapter 30
Reliability Assessment
30.1
Introduction
Reliability assessment involves determining, generally using statistical methods, the total electric interruptions 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 interruptions costs, and to compare alternative network designs. Reliability analysis is an automation
and probabilistic extension of contingency evaluation. For such analysis, it is not required to pre-define
outage events, instead the tool can automatically choose the outages to consider. The relevance of
each outage is considered using statistical data about the expected frequency and duration of outages
according to component type. The effect of each outage is analysed 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 equipment outages in economic terms. The results of a reliability assessment study may be used
to justify investment in network upgrades such as new remote control switches, new lines /
transformers, or to assess the performance of under voltage load shedding schemes.
This chapter deals with probabilistic Network Reliability Assessment. For information on PowerFactory s
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
721
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.
722
30.2
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 example
of a stochastic quantity is the expected repair duration for an item of equipment, which is based
on the total number of repairs and repair duration. This measured data can be used to build
Stochastic Models, and perform analysis using statistical calculation methods.
723
30.2.1
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.
The reliability analysis calculation flow 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 userdefined load forecast and growth scenarios.
The combination of one or more simultaneous faults and a specific load condition is called a system
state. Internally, PowerFactory s system state generation engine uses the failure models and load
models to build a list of relevant system states. Subsequently, the Failure Effect Analysis (FEA) module
analyse 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).
724
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 defined as in service and under repair, monitoring of the line could result in a time
sequence of outages and repairs as depicted in Figure 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 1 = 1 , 2 = 3 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
define a Stochastic Model.
There are many ways in which to define a Stochastic Model. The so-called homogeneous Markovmodel is a highly simplified but generally used model. A homogeneous Markov model with two states
is defined 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
725
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:
1
1
140
= 0, 00187
10 7500
1
= 536
(30.2)
7360
= 52, 6 = 0, 006
140
(30.3)
1
1
= 167
(30.4)
536
= 0, 999989
536 + 0, 006
(30.5)
0, 006
=6
536 + 0, 006
(30.6)
(30.1)
30.2.3
Parameter Definitions
In the definitions for the reliability indices, the following parameters are used:
The number of customers supplied by load point i
The number of affected customers for an interruption at load point i
The frequency of occurrence of contingency k
The probability of occurrence of contingency k
C The number of customers
A The number of affected customers
The total connected kVA interrupted, for each interruption event,
Duration of each interruption event,
The total connected kVA supplied
Contracted active power at load point i
30.2.3.2
: 1/
(30.7)
8760 ,
: /
(30.8)
: 1/
(30.9)
8760
: /
(30.10)
=
DIgSILENT PowerFactory 15, User Manual
(30.11)
: /
(30.12)
727
: /
: /
(30.13)
(30.14)
8760 ,
: /
(30.15)
where
is the load point index
is the contingency index
, is the fraction of the load which is lost at load point , for contingency .
For unsupplied loads, or for loads that are shed completely, , = 1.0.
For loads that are partially shed, 0.0 <= , < 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 specified 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 connected during the defined calculation period.
ASUI Average Service Unavailability Index, is the probability of having all loads supplied.
MAIFI Momentary Average Interruption Frequency Index, in units of [1/Ca], evaluates the average
frequency of momentary interruptions. The calculation is described in the IEEE Standard 1366
IEEE Guide for Electric Power Distribution Reliability Indices.
728
: 1//
_ =
: 1/
(30.16)
(30.17)
: 1//
(30.18)
: //
(30.19)
_ =
: /
(30.20)
(30.21)
8760
(30.22)
= 1
(30.23)
( )
(30.24)
1/
30.2.3.4
(30.25)
(30.26)
729
= ( + )
(30.27)
(30.28)
Where
is the weighted average amount of power disconnected
is the weighted average amount of power shed at load point i.
30.2.3.5
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
supplied, for all customers.
ACCI Average Customer Curtailment Index, in units of [MWh/Ca], is the average amount of energy not
supplied, for all affected customers.
30.2.3.6
(30.29)
(30.30)
(30.31)
(30.32)
(30.33)
LPEIC is defined as
$/
where
730
30.2.3.7
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.
$/
$/
(30.34)
(30.35)
30.2.4
In PowerFactory , Reliability Assessment uses a System State Enumeration to analyse all possible
system states, one by one. A fast topological method is used which ensures that each possible
system state is only analysed once. State frequencies (average occurrences per year) are calculated
by considering only the transitions from a healthy situation to an unhealthy one and back again. This
is important because the individual system states are analysed 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
731
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
Prior to starting a Reliability Assessment Calculation, you must setup the Network Model with specific
reliability data models. This chapter discusses the following procedures:
How to Define Stochastic Failure and Repair Models.
How to Create Feeders for Reliability Assessment.
How to Configure Switches for the Reliability Assessment.
Load Modelling for Reliability Assessment.
Considering Multiple System Demand Levels.
732
30.3.1
Stochastic Failure models define the probability that a component will fail and when it does fail, the mean
time to repair the component. The following Stochastic failure models are supported by PowerFactory :
Busbar/Terminal Stochastic Model.
Line/Cable Stochastic Model.
Transformer Stochastic Model.
Distribution Transformer Stochastic Model for MV Loads
Generator 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 defining them.
30.3.1.1
It is possible to define a Stochastic Model for every busbar and terminal within the network. The
Stochastic Model can be defined either through the object type or through the object element. If you
want to use the same Stochastic Model for a number of different busbars/terminals then you should
define it through the object type. Alternatively, if you want to use a Stochastic Model for only one
element, then you should define it through the element Reliability page.
Busbar/Terminal type definition
You can use Stochastic Models defined through types and elements together as required - the element
definition always overrides the type definition.
To define a Stochastic Model for a busbar type follow these steps:
1. Open the dialog for the busbar type and select the Reliability tab.
2. Using the Stochastic Model selection control click the black triangle and select the option New
project type. The dialog for the Bar Type Failures will appear.
3. Enter the failure data for the busbar and the failure data per connection. Note that the probability
of the busbar failure is the sum of these two failure frequencies. For example a busbar with 3
connections, a failure frequency for the busbar of 0.002 and a failure frequency of 0.005 per
connection will have a total probability of failure of 0.002 + 3 0.005 = 0.017.
4. Enter the mean repair duration.
5. Press OK twice to return to the element dialog.
733
30.3.1.2
It is possible to define a Stochastic Model for every line or cable within the network. The Stochastic
Model can be defined either through the object type or through the object element. If you want to use
the same Stochastic Model for a number of different lines/cables then you should define it through the
object type reliability page. Alternatively, if you want to use a Stochastic Model for only one element,
then you should define it through the element reliability page.
Cable type definition
To define a Stochastic Model for a line or cable type follow these steps:
1. Open the dialog for the line type and select the Reliability tab.
2. Using the Stochastic Model selection control click the black triangle and select the option New
project type. The dialog for the Line Type Failures will appear.
3. Enter the Sustained Failure Frequency. Note that the probability of the line failure is 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/( )) will have a failure probability of 12 0.032 = 0.384(1/()).
4. Enter the mean repair duration in hours.
5. Enter the Transient Fault Frequency. Note this parameter is used for the calculation of the MAIFI
index.
6. Press OK twice to return to the element dialog.
Cable element definition
To define a Stochastic Model for a line or cable element follow these steps:
1. Open the dialog for the line element and navigate to the Reliability tab.
2. Using the element model selection control click the black triangle and select the option New
project type. The dialog for the Line Type Failures will appear.
3. Enter the failure data and repair time data as described above for the line type.
4. Press OK to return to the element dialog.
734
It is possible to define a Stochastic Model for every transformer within the network. The Stochastic
Model can be defined either through the object type or through the object element. If you want to use
the same Stochastic Model for a number of different transformers then you should define it through the
object type reliability page. Alternatively, if you want to use a Stochastic Model for only one transformer
element, then you should define it through the element reliability page.
Transformer type definition
To define a Stochastic Model for a transformer type follow these steps:
1. Open the dialog for the transformer type and select the Reliability tab.
2. Using the Stochastic Model selection control click the black triangle and select the option New
project type. The dialog for the Transformer Type Failures will appear.
3. Enter the failure frequency data (1/a).
4. Enter the mean repair duration in hours.
5. Press OK twice to return to the element dialog.
Transformer element definition
To define a Stochastic Model for a transformer element follow these steps:
1. Open the dialog for the transformer element and select the Reliability tab.
2. Using the element model selection control click the black triangle and select the option New
project type. The dialog for the Transformer Type Failures will appear.
3. Enter the failure data and repair time data as described above for the transformer type.
4. Press OK to return to the element dialog.
30.3.1.4
In PowerFactory MV Loads can provide the functionality of a built-in distribution transformer. The fault
behaviour of the distribution transformer is the same as for other transformers, except for the fact that
the load connected behind the transformer is not supplied until the end of the repair duration.
To define a Stochastic Model for a distribution transformer within the MV Load element or type, open the
dialog for the MV Load element or type and select the Reliability tab. As the failure model is based on
the transformer (StoTyptrf), the following steps are equivalent to the ones described in Section 30.3.1.3.
30.3.1.5
Within a network, it is possible to define a Stochastic Model for Generation (StoGen) for every generator
class (synchronous machines, static generators, PV systems, etc.) which can be used by both Reliability
and Generation Adequacy. For further information please refer to Section 32.3.1. The Stochastic Model
can be defined using the element. The failure model can contain any number of load level states; each
state representing the availability of the generator over a year. This way, complete and/or partial outages
can be modelled.
Upon execution of Reliability Assessment, PowerFactory creates a separate contingency for each
defined state. A load flow is calculated considering the reduced availability (including 0 %) of the
DIgSILENT PowerFactory 15, User Manual
735
30.3.1.6
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 define 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 define a common mode failure Stochastic Model through the single line diagram follow these steps:
1. Mark two or more network objects.
2. Right-click on one of the marked elements and chose Define Common Mode Failure.
3. To add a network element, add a cell below the last full cell by right-clicking within an empty area
of the dialog and selecting the option Append Rows.
4. Double-click in the first empty cell of the Name column, to open an object selection browser.
736
30.3.1.7
Protection/Switch Failures
PowerFactory can consider the failure of the protection system to clear the fault as a stochastic probability within the reliability calculation. This is enabled by entering a Probability of Failure into the switch
object. To enter this data:
1. Open the dialog for the switch object where you want to enter the switch failure probability.
Normally switches are accessed by right clicking their containing cubicle and selecting the option
Edit Devices.
2. On the Reliability tab of the switch object, enter the Fault Clearance: circuit breaker fails to open
probability in percent. For example, a 5 % failure rate means that on average 1 out of 20 attempted
fault clearance operations will fail.
Note: PowerFactory does not distinguish between a protection system failure and a switch failure. For
example, the reason that a switch fails to open could be caused by a faulty relay, a protection
mal-grading or a faulty circuit breaker. The cumulative probability of all these events should be
entered into the switch failure probability.
737
A double earth fault in PowerFactory is defined as follows: a single earth fault on a component followed
by a second simultaneous earth fault on another component.
A double earth fault might occur after voltage rises on healthy phases on a feeder following a single
phase to earth fault on the feeder, causes a second phase to earth fault on the same feeder.
Double earth faults occur on lines, transformers (2 Winding and 3 Winding transformers) and busbars,
and PowerFactory supports adding the conditional probability data for double earth faults for Stochastic
Models of these components. The reliability calculation automatically 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 first object is > 0
The probability of double earth fault of the second object is > 0.
The frequency for single earth faults and the probability of the second earth fault data can be entered on
the Earth Fault page of every Stochastic Model. Follow these steps to enter data for a Line Stochastic
Model:
1. Open the Stochastic Failure Model for the line (either through the reliability page of the line type
or the line elements).
2. Select the Earth Fault page.
3. Enable the option Model Earth Faults
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
When performing a reliability calculation with the Distribution option set under Basic Options, PowerFactory requires that feeder/s have been defined in the model.
To create a feeder:
Right click on the cubicle at the head of the feeder and select the option Define Feeder ; or
for fast creation of multiple feeders right click the bus the feeder/s are connected to and select
the option Define Feeder. More information on feeders and feeder creation can be found in
Chapter 13: Grouping Objects, Section 13.5(Feeders).
738
30.3.3
A critical component of the Failure Effect Analysis (FEA), is the behaviour of the switches in the network
model. Switches in PowerFactory are classified into four different categories:
Circuit Breakers; Typically these are automatic and controlled by relays and through remote
communications. 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 category (CB, disconnector etc) is selected on the basic data page of the switch. The actions that the FEA
analysis takes depends on the configuration of these switches and, optionally, the location of protection
devices.
Configuration steps
To configure a switch for reliability analysis follow these steps:
1. Open the dialog for the switch and select the reliability page. This can be done directly by editing
switches modelled explicitly on the single line diagram, or for switches embedded within a cubicle,
by right-clicking the cubicle and selecting the option edit devices, to access the switch.
2. Select the Sectionalising 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 flow is in the direction from terminal i to terminal j. The switch will
not be used for power restoration in the opposite direction.
From terminal j to i; If this option is selected, the switch will only be used to restore power if
the post restoration power flow is in the direction from terminal j to terminal i. The switch will
not be used for power restoration in the opposite direction.
Independent of direction; If this option is selected the switch will be used to restore power
flow regardless of the direction of the post restoration power flow.
4. Enter the time to actuate switch (Stage 2 and 3 switches only); This field specifies the time taken
by the operator to actuate the switch. Note, this excludes the local access and access time if
the switch is within a substation. The total actuation time of such a switch is therefore the switch
actuation time + the substation access time + the local access time.
DIgSILENT PowerFactory 15, User Manual
739
30.3.4
This section provides a general description of the load element parameters that are used by the
reliability calculation. The first sub-section describes how to input the number of customers that each
load represents and how to classify each load. The second sub-section describes how to define load
shedding and transfer parameters.
30.3.4.1
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:
740
30.3.4.2
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 define 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.
Infinite 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 first. 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 defines 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 functions. In distribution reliability all constraint alleviation is completed using switch actions, so
loads can only be fully shed (switched out) or they remain in service. However, by contrast,
the transmission reliability option can shed or transfer a percentage of the load.
741
30.3.5
When supply to a load is interrupted, there is a cost associated with the loss of supply. PowerFactory
supports the definition of cost curves for load elements using Energy Tariffs and Time Tariffs. They can
be defined using the Tariff characteristic on the reliability page of the load element, as discussed in
Chapter 16: Parameter Characteristics, Load States, and Tariffs, Section 16.5 (Tariffs).
Projects imported from previous versions of PowerFactory may include Vector Characteristics for the
definition of cost curves, which are discussed in Chapter 16: Parameter Characteristics, Load States,
and Tariffs, Section 16.2.5 (Vector Characteristics with Time Scales).
30.3.6
30.3.7
30.3.8
The PowerFactory reliability calculation supports the definition and automatic inclusion of planned network 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 define an outage for.
2. Right-click the selected object/s and from the menu that appears choose the option Define
Planned Outage. The dialog box for the planned outage will appear.
742
30.3.9
The reliability calculation can automatically consider voltage and thermal constraints for the power
restoration process. There are two options for specifying constraints applied to branch, terminal, and
feeder objects as follows:
Global Constraints; All network constraints are based on the constraints specified on the constraints tab
of the Reliability Command dialog.
Individual Constraints; If Individual Constraints are selected for branches, terminals, and / or feeders,
constraints should be defined by the user for each relevant object by taking the following steps:
1. Open the reliability page of the target terminal, branch (line/transformer), or feeder.
2. Enter the Max and Min Voltage limits, max loading, or voltage drop/rise for the terminal, branch,
or feeder respectively.
3. Click OK to close the dialog and save the changes.
30.4
The procedure for using the PowerFactory Reliability Assessment tool and analysing the results generated by the tool is described in this section.
30.4.1
In PowerFactory the network Reliability Analysis is completed using the Reliability Assessment command (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 dialog 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 dialog.
Method
743
Load Flow This button is a link to the load-flow calculation command used for the analysis. The load
demand is calculated using this load-flow. In addition, its settings are used for the constraint evaluation
load-flows.
Network
Distribution: The reliability assessment will try to remove overloading at components and voltage
violations (at terminals) by optimising 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 optimises switch positions based on load shedding priorities, and not
network losses.
Transmission: Thermal overloads are removed by generator re-dispatch, load transfer and load shedding. First generator re-dispatch and load transfer is attempted. If these cannot be completed
or do not remove the thermal overload, load shedding actions will occur. Generator re-dispatch
and load transfer do not affect the reliability indices. However, by contrast, load shedding leads to
unsupplied loads and therefore affects the reliability indices.
Automatic Contingency Definition (ComContingency )
The Selection list presents three possible options for the contingency definition. These are:
Whole system: PowerFactory will automatically create a contingency event for every object that
has a Stochastic Model defined.
Single Grid: Selecting this option shows a selection control. Now you can select a single grid and
only contingencies for objects in this grid will be created.
744
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
analysis 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 specified above.
After completing the Reliability Calculation, PowerFactory automatically evaluates the result object to
compute the reliability indices. This button allows you to re-evaluate a results file that has previously
been created by this or another reliability calculation command. The benefit of this is that you do not
have to re-run the reliability calculation (which can be time consuming compared to the results object
evaluation) if you only want to recalculate the indices from an already completed calculation.
Output
Displays the form used for the output report. Report settings can be inspected and the format selected
by clicking on the
button.
Recording Limits These options define when PowerFactory will record bus voltages and line loadings
in the reliability assessment result object. For example, if the loading limit is specified as 80%, then line
loadings will only be recorded on lines where the calculated loading is greater than 80%.
DIgSILENT PowerFactory 15, User Manual
745
FEA
A failure effect analysis (FEA) is made for each system state that occurs during the state enumeration.
The configuration options are explained below.
Fault Clearance Breakers
Use all circuit breakers: All switches in the system whose Usage is set to Circuit Breaker can be used
for fault clearance.
Use only circuit breakers with protection device: All circuit breakers in the system which are controlled by a protection device (fuse or relay) can be used for fault clearance.
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 specified switching time. However, a switch can be closed for power restoration only
after the faulted element was disconnected. The analogy for this mode, is if there were a large
number of operators in the field that were able to communicate 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 field 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 Sectionalising (Distribution analysis only) If enabled, the FEA considers the switch sectionalising stage when attempting fault separation and power restoration.
After the isolation of failures, parts of the network may be unsupplied. However, the network can
be reconfigured by moving the tie open point in order to restore as much power as possible (partial
power restoration). This reconfiguration might lead to violations of constraints (e.g. overloading),
which should be avoided. For each sectionalising stage of switches, the optimisation method
offers three power restoration modes:
Disabled (no movement of tie open points)
Enabled without load transfer (tie open points can only be moved between the feeder and a
directly-bordering feeder)
Enabled with load transfer (tie open points can be moved between a bordering feeder and a
second-level bordering feeder)
First sectionalising 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.
If Consider Sectionalising Actions is disabled, the stage of each switch is ignored and all switches
will be considered equally with one of the above mentioned methods.
Time to open remote controlled switches
The time (in minutes) taken to open remote controlled switches.
746
Costs
30.4.1.5
Constraints
The settings for global constraints are defined 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 specified in Max thermal loading of components
apply to all components in percent value.
Individual constraint per component: The maximum thermal loading limit is considered for each
component separately. This loading limit can be found on the Reliability tab of each component.
Consider Voltage Limits (Terminals)
If this option is enabled terminal voltage limits are considered by the FEA.
Global Constraint for all terminals: Constraints specified in Lower and Upper Limit of allowed voltage
in p.u. that will apply to all terminals.
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 specified in Maximum Voltage Drop and Rise in percent
value that will apply to all feeders.
Individual Constraint per feeder: Voltage Drop/Rise constraints are considered for each feeder separately. These constraints can be found on the Reliability tab of each feeder.
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 specified here if Ignore all constraints
for... is enabled.
DIgSILENT PowerFactory 15, User Manual
747
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
Outages you have defined. See Section 30.3.9, for more information on defining 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.
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 flag to consider load states or load distribution states in the reliability calculation.
The reliability calculation does not create load states automatically. If this flag is enabled but the states
have not been created, then an error will be printed to the output window and the reliability calculation
will stop. Otherwise the following two buttons are available.
Update/creation of States
Manually: If selected, a button Create load states will be available. When clicked, it launches the
Load state creation command after closing the reliability command (see Chapter 16 for more
information on load state creation).
Automatically before running reliability calculation: When selected, a pointer to the load state creation command is available.
30.4.1.8
Advanced Options
748
30.4.2
You can view the Reliability Assessment Load Point Indices in two ways: in the load result boxes in
single line graphic, or in the data browser (data manager or load filter). This sub-section describes both
of these methods.
Method 1 - View the Load Point Indices in the Single Line Diagram
After you have executed the Reliability Assessment Calculation, all loads within the Network Single Line
Graphic, will show the following load point indices:
DIgSILENT PowerFactory 15, User Manual
749
Figure 30.4.1: Single Line Diagram Graphic Showing the Load Point Indices Results
Note: You can show any of the calculated load point indices in the load result boxes. To do this
modify the displayed variables as described in Chapter 17: Reporting and Visualising Results,
Section 17.4.3(Examples of Variable Selection)
. A list of
2. Choose the Flexible Data tab. Calculated Load Point Indices for each load will appear in Green
Font text. By default, not all available load point indices will be shown.
3. Optional: Click the Define Flexible Data button
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
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:
750
30.4.4
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
available reports will appear.
751
30.4.5
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-energised 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
2. Select the tab for the function you want to show the colouring mode for. For example, if you want
the feeder colouring to appear before a calculation, then select the Basic Data tab. If you want the
colouring to appear after a load-flow choose the load-flow tab.
3. Check the 3. Other box and select Topology from the drop down list.
4. Select Feeders in the second drop down box.
5. Optional: To change the feeder colour settings click the colour settings button. You can double
click the displayed colours in the colour column and select a different colour for each feeder as
desired.
6. Click OK to close the Diagram Colouring dialog and save your changes.
To Colour According to Connected Grid Components
The Connected Grid Components colouring mode displays all the network components that are electrically connected together in the same colour. Other components are not coloured. To enable this
mode:
1. Click the Diagram Colouring button
2. Select the tab for the function you want to show the colouring mode for. For example, if you want
the switch type colouring to appear before a calculation, then select the Basic Data tab. If you
want the colouring to appear after a load-flow choose the load-flow tab.
752
30.4.6
It can be useful to analyse the influence of a particular component or group of components on the
calculated reliability indices. This enables the identification 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
1. Execute a Reliability Assessment Calculation (or ensure that you activate a study case where a
reliability analysis has previously been completed).
from the main toolbar. Depending on
2. Click the Edit Relevant Objects for Calculation button
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
For Feeders choose the
icon.
icon.
icon.
icon.
3. In the window that appears, select the object/s that you want to show the reliability indices
contributions.
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 dialog box will appear.
The available options are explained in the next section.
How to Configure 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 contributions
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.
DIgSILENT PowerFactory 15, User Manual
753
754
Chapter 31
31.1
The simulation of the system response to specific contingencies (ComContingency ) is called Failure
Effect Analysis (FEA). The System State Enumeration algorithm uses the FEA engine to analyse the
following steps after a contingency:
Fault Clearance;
DIgSILENT PowerFactory 15, User Manual
755
757
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.
758
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
the fault separation; the area which contains load 1, and the area which contains loads 2 and 3.
Power Restoration
After the fault separation phase is complete, the following switch actions are required to restore power
to the two separate restorable areas:
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.
DIgSILENT PowerFactory 15, User Manual
759
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
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 initialised 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.
760
button to advance through more steps, each click advances one time step.
31.3
button.
Following a Backbone Calculation (see Section 36.5), an Optimal Remote Control Switch (RCS) Placement can be performed to optimise placement of remote control switches within a feeder/s. The calculation optimises placement of a fixed number or optimal number of switches per feeder or backbone, with
an objective function that minimises Energy Not Supplied (ENS), balances ENS, or minimises Expected
Interruption Costs (EIC). The Optimal RCS Placement command is a heuristic planning tool, and may
precede a detailed reliability analysis.
To conduct an Optimal RCS Placement, reliability data should be specified on the Reliability page of
line elements (outages of other elements are not considered). See Chapter 30: Reliability Assessment,
Section 30.3 for details.
If the cost of interrupted load is to be considered, a global Energy Tariff must be defined, see Chapter 16,
Section 16.5.2: Defining Energy Tariffs for details.
The Optimal RCS command can be selected under 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 selected
on the Feeder Basic Options page.
31.3.1
761
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
31.3.4
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 defined. To illustrate
line Forced Outage Rates, from the main menu select View Diagram Colouring (or select the Diagram
Colouring icon). Under 3. Other select Primary Equipment Forced Outage Rate. In the example,
there is a requirement to install a single Remote Control Switch (RCS) on each feeder to minimise the
ENS.
To calculate the optimal location(s) for remote controlled switches, a Backbone Calculation for all feeders
based on network structure is first executed (see Section 36.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 Minimise 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
minimise the ENS.
31.4
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
DIgSILENT PowerFactory 15, User Manual
763
31.4.1
The following network configuration conditions are required by the Optimal Manual Restoration calculation:
A balanced Load Flow calculation must be available.
The network must contain at least one defined 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 first performed (see Section 36.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 (ElmTrfstat).
31.4.2
The Basic Options page of the OMR calculation tool is shown in Figure 31.4.1.
764
31.4.3
The Advanced Options page of the OMR calculation tool is shown in Figure 31.4.2.
DIgSILENT PowerFactory 15, User Manual
765
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 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 factor 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.
766
31.4.4
The aim of the OMR calculation is to minimise the following objective function:
= |
|
The members of the above objective function are defined based on the following equalities:
(31.1)
(31.2)
(31.3)
(31.4)
(31.5)
(31.6)
where:
is the terminal of the calculated pocket,
is the upstream active power at terminal with reference to the corresponding pocket,
is the downstream active power at terminal with reference to the corresponding pocket,
767
is the upstream forced outage rate (FOR) at terminal with reference to the corresponding
pocket,
is the downstream forced outage rate (FOR) at terminal with reference to the corresponding pocket,
is the upstream active power at terminal with reference to corresponding feeder,
is the upstream active power at the corresponding pocket starting element with reference
to feeder,
is the downstream active power of neighbouring pockets (upstream with respect to
terminal ) starting element with reference to feeder,
is the upstream FOR at terminal with reference to corresponding feeder,
is the upstream FOR at corresponding pockets starting element with reference to feeder,
is the downstream FOR of neighbour pockets (upstream with respect to terminal )
starting element with reference to feeder,
is the downstream active power at terminal with reference to corresponding feeder,
is the downstream active power of neighbour pockets (downstream with respect to
terminal ) starting element with reference to feeder,
is the downstream FOR at terminal with reference to corresponding feeder and
is the downstream FOR of neighbour pockets (downstream with respect to terminal
) starting element with reference to feeder.
A manual switch is considered as being an OMR switch of a certain level if its associated terminal
objective function is minimum compared with the objective functions of the other terminals within the
calculated pocket.
31.4.5
An example of the use of the Optimal Manual Restoration tool is shown here. Consider the MV
distribution network (20 kV) as displayed in Figure 31.4.3. Five feeders are defined, one main feeder
(Feeder A) supplies power in normal operation to the displayed network. Feeder A is radially operated
and containing a number of normally open switches. Several remotely controlled switches are also
defined and their associated substation is marked with a green circle.
768
A substation layout similar to the one shown in Figure 31.4.4 is used for all substations.
A backbone calculation (ComBbone) for Feeder A is performed on this network based on path load (see
Section 36.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.
769
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 specific colours 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 Colours
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.
770
Chapter 32
Introduction
The ability of the power system to be able to supply system load under all possible load conditions is
known as System Adequacy. Specifically this relates to the ability of the generation to meet the system
demand while also considering typical system constraints such as:
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 specifically 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 (probabilistic)
32.2
Technical Background
The analytical assessment of Generation Adequacy requires that each generator in the system is
assigned a number of probabilistic states which determine the likelihood of a generator operating at
various output levels. Likewise, each of the system loads can be assigned a time based characteristic
that determines the actual system load level for any point of time. A simplified general illustration of the
Generation Adequacy assessment is shown in Figure 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.
771
(32.1)
For example, in the first iteration, the generator states might be G1: 100%, G2: 100%, and G3: 75%.
The corresponding outputs would be then G1: 100 MW, G2: 60 MW, and G3: 60 MW. The total
generation output is the sum of all the three generator outputs; 220 MW. Also, a random time point
yields Load A: 85 MW, Load B: 60 MW and Load C: 30 MW. The total system demand is the sum of
all the load demands; 175 MW. Since the generation is greater than the demand, all the demand is
supplied and the value of DNS is zero.
In a second iteration, the generator states might be G1: 0%, G2: 75%, and G3: 75%. The corresponding
outputs would be then G1: 0 MW, G2: 45 MW, and G3: 60 MW. The total generation output is now 105
MW. A second random time point yields say Load A: 60 MW, Load B: 50 MW, and Load C: 20 MW. The
total system demand is now 130 MW. In this case, the generation is smaller than the demand, so there
is demand that cannot be supplied. The demand not supplied is defined as the difference between
demand and generation - 25 MW in this iteration.
Continuing the analysis for a few subsequent iterations yields the results shown in Table 32.2.1:
Draw
1
2
3
4
5
6
G1
MW
100
0
80
100
80
80
G2
MW
60
45
0
60
45
60
G3
MW
60
60
90
60
90
0
G
MW
220
105
170
220
215
140
Load A
MW
85
60
110
40
60
90
Load B
MW
60
50
35
50
40
50
Load C
MW
30
20
10
15
20
5
Total
D
MW
175
130
155
105
120
145
DNS max(0,
D - G)
0
25
0
0
0
5
30
DNS
>0
No
Yes
No
No
No
Yes
2
100%
=
DIgSILENT PowerFactory 15, User Manual
(32.2)
(32.3)
773
2
100 = 33, 33%
6
(32.4)
30
= 5
6
(32.5)
32.3
There are several database objects in PowerFactory specifically 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
This object is used for defining 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:
State: Name of the state
Availability [%]: Percentage of the nominal power available
Probability [%]: Probability that this state is valid (the sum of all probabilities must always be
100 %)
Duration [h]: Time needed to solve the given failure
Frequency [1/a]: Number of incidents that cause the given state per year
Total Duration [h/a]: Total Duration of the given state per year
While only the parameters Availability and Probability are used for the Generation Adequacy and all
parameters are used for the Reliability Assessment, see Section 30.3.1.5.
This means that for each state, the total available generation capacity in % of maximum output must
be specified along with the probability that this availability occurs. Note that probability column is
automatically constrained, so that the sum of the probability of all states must equal 100 %.
774
The Stochastic model for generation object should reside within the project library, Equipment Type
Library.
Note that the generator maximum output is calculated as cos where is the nominal apparent
power and cos is the nominal power factor.
32.3.2
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.
For wind-speed values between specified curve values, PowerFactory interpolates using the method
specified in the Approximation drop down menu. Interpolation options include:
constant
linear
polynomial
775
32.3.3
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.
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 defined 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 defined 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 DefineE Meteo Station (or Add toE Meteo
Station) from the context-sensitive menu. Note that the ability to define a Meteo Station is dependent
upon whether at least one of the member generators has the options Generator and Wind Generator
selected on its Basic Data page. If these options are not selected, the context menu entry is not visible.
Note: A graphical colouring mode exists for Meteorological Stations, so that they can be visualised in
the single line graphic.
32.4
For the Generation Adequacy Analysis, there is a distinction between Dispatchable (Conventional)
Generation and Non-dispatchable Generation. Dispatchable generation refers to generation that can
776
32.4.1
For both Dispatchable and Non-dispatchable generation it is possible to assign a Stochastic Multi-State
model to define the availability of each unit. The availability is defined in a number of States each with
a certain probability as described in Section 32.3.1.
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.
Definition 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 defined as generators and not as motors:
Synchronous machine (ElmSym) set as Wind Generator ;
DIgSILENT PowerFactory 15, User Manual
777
32.4.2
In addition to the stochastic multi-state model for generation described above, a stochastic wind model
may be defined on the elements Generation Adequacy page (provided that the type of generation is a
wind generator). To enable this, navigate to the Generation Adequacy tab and check the option Wind
Model. The page will appear as shown in Figure 32.4.2.
When the Stochastic Wind Model is selected, the wind generation characteristic is described using the
Weibull Distribution. The mean wind speed, and shape factor (Beta) of the distribution can be adjusted
to achieve the desired wind characteristic for each wind generator.
In addition to describing the Weibull distribution using Mean Wind Speed and Beta, the following
alternate methods of data input can be used:
Mean Wind Speed and Variance;
Lambda and Variance;
Lambda and Beta.
778
32.4.3
If detailed data of wind generation output over time or wind speed over time is available, then this can
be used instead of a Stochastic Model. The data can be read by PowerFactory as either a ChaVec
characteristic or from an external file using the ChaVecFile characteristic. In both cases the information
required is one year of data in hourly intervals - although non integer values can also be specified in the
referenced data.
If the option Time Series Characteristics of Wind Speed is selected, then the actual wind 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.
779
Figure 32.4.4: Synchronous machine element with the parameter ngnum (number of parallel machines
highlighted).
32.4.4
Demand definition
Unless a time characteristic is assigned to either the Active Power (plini) or Scale factor (scale0)
variables (highlighted in Figure 32.4.5) of the load element, then the load is treated as fixed demand.
This means that the demand value does not change during the entire analysis. Both General Loads
(ElmLod) and LV Loads (ElmLodlv ) are considered for the analysis.
Figure 32.4.5: ElmLod object dialogue showing the variables that can have applied time Characteristics
effecting the Generation Adequacy analysis.
780
32.4.5
32.4.6
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.
781
Network
System Losses; Here a fixed 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-flow command that will be used to obtain the
network topology for the analysis. It must be set to AC load-flow balanced, positive sequence or
DC load-flow. A converging load-flow is a requirement for the Generation Adequacy analysis.
Demand Consideration
Fixed Demand Level; If this option is selected, all load time characteristics are ignored and the
total demand is calculated at the initial iteration and used for all subsequent iterations.
Consider Time Characteristics; If this option is selected, any time characteristics assigned to loads
will be automatically considered in the calculation. Therefore, the total demand can vary at each
iteration.
782
Create Plots; If this option is checked, then PowerFactory will automatically create output plots
after the simulation finishes. 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
783
32.4.7
The Run Generation Adequacy Analysis Command appears in two styles depending on the status of the
calculation. If the calculation is being run for the first time, then it appears as shown in Figure 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.
Pressing Execute will run the Generation Adequacy Analysis. The button
784
32.5
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
This button ( ) draws by default four figures as shown in Figure 32.5.1. Each of the data points on the
plots represents a single Monte Carlo simulation.
785
32.5.2
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
786
787
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
788
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 final 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.
789
On both plots, the upper and lower confidence intervals are also drawn. The sample variance is
calculated as follows:
2 =
( )2
1 =1
(32.6)
where is the number of samples, is the sample and is the sample mean. The 90 % confidence
interval is calculated according to the following formula:
(32.7)
where z is the standard inverse probability for the Students t distribution with a confidence interval of
90 %. Note z tends to 1.645 (inverse normal) as the number of iterations becomes large.
790
32.5.4
Internal Name
c:AvailDCap
Available NonDispatchable
Capacity
c:AvailNDCap
Total Available
Capacity
c:AvailTotcap
Total Demand
c:DemTot
Demand
Supplied
Demand
Not
Supplied
Total
reserve
Generation
Reserve
Dispatchable
generation
Used
NonDispatchable
Generation
Used Dispatchable Generation
Total Used generation
Residual
Demand
c:DemS
Description
The sum of dispatchable capacity at
each iteration after the consideration of
the availability states
The sum of non-dispatchable capacity
at each iteration after the consideration
of the availability states and also the
stochastic/time models for wind generation
c:AvailNDCap + c:AvailDCap
Total Demand considering any time
based characteristics
min(C:DemTot, c:AvailTotcap * (1 Losses% / 100)
c:DNS
c:DemTot - DemS
c:ResvTotGen
c:AvailTotCap - c:DemTot * (1 +
Losses% / 100)
c:ResDGen
c:AvailDCap - c:DemTot
Losses% / 100)
c:NDGen
min(C:AvailNDCap, DemTot * (1 +
Losses% / 100))
c:DGen
min(C:AvailDCap, DemTot * (1 +
Losses% / 100) - c:NDGen)
c:TotGen
c:Dgen + c:NDGen
c:ResidDem
(1
791
792
Chapter 33
Introduction
The Optimal Power Flow (OPF) module in PowerFactory optimises a certain objective function in a
network whilst fulfilling equality constraints (the load flow equations) and inequality constraints (i.e.
generator reactive power limits). The user can choose between interior point and linear optimisation
methods. In the case of linear optimisation, 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 (
icon .
In both cases, the calculation is started by pressing the Execute button in the OPF command dialogue.
33.2
If the AC Optimisation method is selected, the OPF performs a non-linear optimisation based on a
state-of-the-art interior point algorithm. The following sections explain the selection of objective function
to be optimised, the selection of control variables, and the definition of inequality constraints. The OPF
command in PowerFactory is accessible by going to the main menu and selecting Calculation Optimal
Power Flow..., or via the OPF icon
on the main toolbar.
33.2.1
Basic Options
The Basic Options page of the OPF dialogue (AC optimisation method) is shown in Figure 33.2.1.
793
Figure 33.2.1: Basic Options page of OPF Dialogue (AC Optimisation Method)
33.2.1.1
Method
To perform an AC optimisation OPF study, the Method must be set to AC Optimisation (Interior Point
Method) as shown in Figure 33.2.1.
33.2.1.2
Objective Function
The OPF command dialogue, configured for AC optimisation, has a selection of three distinct objective
functions. These are:
Minimisation of Losses
Minimisation of Costs
Minimisation of Load Shedding
Minimisation of Losses
When this objective function is selected, the goal of the optimisation is to find a power dispatch which
minimises the overall active power losses.
Minimisation of Costs
When this objective function is selected, the goal of the optimisation is to supply the system under
optimal operating costs. More specifically, the aim is to minimise 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.
794
795
Note that this piecewise linear function is not differentiable at the interval limits. Since non-differentiable
functions might cause problems within the optimisation routine, PowerFactory smooths the cost function
slightly over a small range around the non-differentiable points. The width of this range can be defined
by the user through the Smoothing of Cost Function factor (also shown in Figure 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.
Minimisation of Load Shedding
The goal of this objective function is to minimise the overall cost of load shedding, such that all constraints can be fulfilled. A typical application for this objective function is Infeasibility Handling". For
the above mentioned objective functions, it may occur that the constraints imposed on the network are
such that no feasible solution exists. This is evidenced by a lack of convergence of the optimisation. In
such cases, it is highly likely that not all loads can be supplied due to constraint restrictions. Hence it is
recommended in these situations to firstly perform a Minimisation of Load Shedding.
In this (and only this) optimisation 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 flow calculation. In order to minimise 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 optimisation, the scaling factor will be optimised. The
optimisation is such that the overall cost of load shedding is minimised. 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.
796
Figure 33.2.4: Editing a Load Element (ElmLod) for Minimisation 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 Minimisation 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 optimisation. The
general rule is as follows: a parameter will be considered as a control if the corresponding flag 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).
797
This could be a fixed position or a position found due to the option Automatic Tap Adjust of Transformers
being selected in the load flow command. In this mode, the transformer tap position could be found in
order to control the voltage of a certain node, or to be a slave that is externally controlled by some other
transformer tap.
Setting Individual Model-Based Controls
Each control can be individually selected to take part in the optimisation. Specifically, for each generator
(ElmSym), each transformer (ElmTr2, ElmTr3), and each shunt (ElmShnt), the user can check the
corresponding Controls flag on the optimisation 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).
798
Figure 33.2.6: Active and Reactive Power Controls of a Synchronous Machine (ElmSym)
799
Figure 33.2.7: Tap Position Control (and Loading Constraint) for a 2-Winding Transformer
Shunts
In a similar fashion to transformers, the number of steps for a shunt may serve as either a
continuous or a discrete optimisation parameter (see Figure 33.2.9).
800
33.2.1.4
Constraints
The user can formulate various inequality constraints for certain system parameters, such that the
OPF solution lies within these defined limits. Since all inequality constraints are considered as hard
constraints", setting constraints may result in no feasible solution being found.
The handling of OPF constraints in PowerFactory is very flexible, and various categories of constraints
exist. A constraint is considered in the OPF if and only if the individual constraint flag is checked in the
element and the corresponding global flag is enabled in the OPF dialogue. Figure 33.2.10 shows the
Constraints available for the AC optimisation formulation of OPF in PowerFactory.
801
The optimisation 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 ):
802
Figure 33.2.11: Max. Loading Constraint of a Line Element (similar for 2- and 3-Winding Transformers)
803
Figure 33.2.12: Active and Reactive Power Constraints of a Synchronous Machine (ElmSym)
804
33.2.1.5
Mathematical Background
The non-linear optimisation is implemented using an iterative interior-point algorithm based on the
Newton-Lagrange method. Recall that the goal of the optimisation is to minimise an objective function
f subject to the equality constraints imposed by the load flow equations and also to the inequality
constraints defined for various power system elements. This is summarised mathematically as follows:
= ()
subject to:
() = 0 () 0
where g represents the load flow equations and h is the set of inequality constraints. Introducing a slack
variable for each inequality constraint, this can be reformulated as:
() = 0 () + = 0 0
We then incorporate logarithmic penalties and minimise the function:
min = () ( )
where is the penalty weighting factor. In order to change the contribution of the penalty function:
= ( )
to the overall minimisation, the penalty weighting factor will be decreased from a user-defined initial
value ( ) to a user-defined target value ( ).
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
805
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 flow calculations. These can be viewed
in the single line diagram or through a data browser. The inclusion of the following variables in the
Flexible Data tab (for synchronous machines and grids) is suggested, as shown in Figure 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 : 1; this parameter is highlighted in Figure 33.2.15)
Reactive Power (Calculation Parameter : 1)
Apparent Power (Calculation Parameter : 1)
Voltage Magnitude (Calculation Parameter : 1)
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 utilised in the production cost tables of the individual generator
elements.
Active Power Losses (Calculation Parameter : )
Reactive Power Losses (Calculation Parameter : )
Active Power Generation (Calculation Parameter : )
Reactive Power Generation (Calculation Parameter : )
806
In addition to these results, the complete set of variables from conventional load flow calculations is
available. For further information on defining Flexible Data in PowerFactory , please refer to Chapter 10:
Data Manager, Section 10.6.
A text report is also available and can be generated by clicking on the Output Calculation Analysis
icon on the main toolbar. This offers various templates for detailed result documentation.
33.2.2
Initialisation
The non-linear optimisation requires initialisation 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 initialisation method.
807
33.2.3
Advanced Options
Figure 33.2.18: Penalty Weighting Factor Settings for OPF (AC Optimisation Method)
33.2.4
Iteration Control
PowerFactory offers the user flexibility in configuring of the number of iterations and the convergence
criteria for OPF. The available options on the Iteration Control page of the OPF dialogue are shown in
Figure 33.2.19.
Figure 33.2.19: Iteration Control Settings for OPF (AC Optimisation Method)
The implementation of the Lagrange-Newton method means that the OPF will internally minimise the
808
(, , ) = ()
( ) + [() + () + ]
(33.1)
809
33.2.5
Output
Prior to the non-linear optimisation, 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.
33.3
The following describes the configuration of the DC optimisation formulation of OPF in PowerFactory.
Internally, from the settings provided, a linear programming (LP) formulation of the problem is derived.
The load flow is calculated using the linear DC load flow method. For general information regarding
DC load flow, refer to Chapter 21(Load Flow Analysis). PowerFactory uses a standard LP-solver (based
on the simplex method and a branch-and-bound algorithm) which ascertains whether the solution is
feasible. The result of the linear optimisation tool includes calculated results for control variables, such
that all imposed constraints are fulfilled and the objective function is optimised.
Provided that a feasible solution exists, the optimal solution will be available as a calculation result. That
is, the algorithm will provide a DC load flow solution where all generator injections and tap positions are
set to optimal values. The DC load flow solution includes the following calculated parameters (parameter
names are given in italics):
For terminals:
Voltage Angle (phiu [deg])
Voltage Magnitude (u [p.u.]; assumed to be 1.0 p.u. in DC calculation)
Voltage Magnitude (upc [%]; assumed to be 100 % in DC calculation)
Line-Ground Voltage Magnitude (U [kV])
Line-Line Voltage Magnitude (U1 [kV])
For branches:
Active Power Flow (P [MW])
Active Power Losses (Ploss [MW]; assumed to be 0 MW in DC calculation)
Reactive Power Flow (Q [Mvar]; assumed to be 0 MVAr in DC calculation)
Reactive Power Losses (Qloss [Mvar]; assumed to be 0 MVAr in DC calculation)
Loading (loading [%]; Loading with respect to continuous rating)
The following parameters are calculated in addition to the results found by the DC load flow:
For generators:
c:avgCosts
The fixed cost factor [$/MWh] used in the objective function (i.e. average cost considering
the costs at the generators active power limits).
c:Pdisp
Optimal power dispatch for generator.
c:cst_disp
Production costs in optimal solution:
cst_disp = costs * Pdisp
For Transformers:
c:nntap
Optimal tap position.
For loads:
c:Pdisp
Optimal load shedding for load.
811
33.3.1
Basic Options
The Basic Options page of the OPF dialogue (DC optimisation method) is shown in Figure 33.3.1.
Figure 33.3.1: Basic Options page of OPF Dialogue (DC Optimisation Method)
33.3.1.1
Method
To perform a DC optimisation OPF study, the Method must be set to DC Optimisation ( Linear Programming LP) as shown in Figure 33.3.1.
33.3.1.2
Objective Function
The user can select a linear optimisation 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 Optimisation Method)
812
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 optimisation method in Section 33.2.1 (Basic Options)
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 optimisation, for each selected generator a single control variable is introduced to the system. The total number of generator controls
in this case equals the number of selected generators.
Transformer Tap Positions (ElmTr2, ElmTr3) In tap optimisation, for each selected transformer
DIgSILENT PowerFactory 15, User Manual
813
33.3.1.4
Constraints
The three constraints shown in Figure 33.3.4 are as described for the AC optimisation method in
Section 33.2.1 (Basic Options).
Figure 33.3.5: Thermal Rating Object (IntThrating) Ratings page for Setting Rating Values
Boundary flow constraints can be chosen on an individual basis per boundary element (ElmBoundary ),
as shown in Figure 33.2.14.
33.3.1.5
If the option Calculate Locational Marginal Prices (LMPs) (displayed at bottom of the dialogue in Figure 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 fly) calculate the LMP for each busbar. The following quantities (current, voltage and powers) are
available for all busbars (i.e. ElmTerm elements with Usage set to Busbar ):
LMP in $/MWh (Locational marginal price)
SysLambda in $/MWh (System lambda)
815
33.3.2
Initialisation
The OPF calculation is initialised by a load flow, which is displayed by the Load Flow parameter on the
Initialisation page of the OPF dialogue. The user can inspect the load flow settings by clicking on the
button, as illustrated in Figure 33.3.6. The load flow command contained in the current study case is
set here automatically. Within the load flow command, the Calculation Method will be automatically set
to DC Load Flow (linear) for use by OPF (when Method is set to one of the LP variants).
816
33.3.3
Advanced Options
The Advanced Options page of the OPF dialogue is shown in Figure 33.3.7.
|
|
(33.2)
=1 =1
817
|0
|
(33.3)
=1
Penalty Factor Specifies the weighting factor for the additional objective function term above.
Calculation of Transformer Tap Positions
Discrete controls (Using direct method) This method calculates discrete tap position values
within the LP (known as the direct method"). This method may provide better accuracy, however
will yield fewer solutions.
Continuous controls (Using outer loop rounding) This method calculates continuous tap position values and then rounds these values to discrete values in the outer loop of the calculation.
This method may be faster but the values may not be optimal.
Additional Settings
Check for Constraint Violations after Optimisation This method calculates discrete tap position values within the LP (known as the direct method"). This method may provide better
accuracy, however will yield fewer solutions.
Use Resolve 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)
definition 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 Optimisation 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
818
33.4
The Contingency Constrained DC Optimisation performs an OPF using DC optimisation (as described
in Section 33.3: DC Optimisation (Linear Programming)), subject to various user defined constraints
and subject also to the constraints imposed by a set of selected contingencies.
The Contingency Constrained DC Optimisation also considers user-defined post-fault actions. That is,
the optimisation can be carried out using contingency cases that include any specified 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 defined to
contain post-fault actions. For further information on defining 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 optimisation, the contingency constrained OPF
offers the following result variables (as well as those provided by the DC load flow, as described in
DIgSILENT PowerFactory 15, User Manual
819
33.4.1
Basic Options
The Basic Options page of the OPF dialogue (contingency constrained DC optimisation method) is
shown in Figure 33.4.1.
820
Figure 33.4.1: Basic Options page of OPF Dialogue (Contingency Constrained DC Optimisation
Method)
Method
To perform a contingency constrained OPF study, the Method must be set to Contingency Constrained
DC Optimisation (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 Optimisation includes the same
objective functions as those provided for DC Optimisation (see Section 33.3.1: Basic Options). Two
additional objective functions are provided, which are shown in Figure 33.4.2 and described below.
821
Figure 33.4.2: Objective Function Selection for OPF (Contingency Constrained DC Optimisation
Method)
Min. Generator Dispatch Change (Pre-to-Postfault) Minimises the sum of the generator dispatch changes between the base case and each contingency case.
Min. Transformer Tap Change (Pre-to-Postfault) Minimises the sum of the tap position changes
between the base case and each contingency case.
Controls
The definition of control variables for the contingency constrained DC optimisation method differs slightly
from the DC optimisation method, however the basic fundamental role of each control is as described
for the AC optimisation method in Section 33.2.1 (Basic Options). The Controls section of the OPF
dialogue is highlighted in Figure 33.4.3.
822
Figure 33.4.3: Controls Selection for OPF (Contingency Constrained DC Optimisation Method)
823
824
Figure 33.4.4: Constraints Selection for OPF (Contingency Constrained DC Optimisation 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 optimisation.
Tap position constraints will be implicitly imposed whenever the corresponding tap is a designated
control variable, as illustrated in Figure 33.2.7. The tap position limits are defined in the transformers
assigned Type.
Loading constraints can be chosen on an individual basis (via a checkbox) per line element (ElmLne)
and per transformer element (ElmTr2, ElmTr3), as shown in Figure 33.2.11. Once a loading constraint
for a specific 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 flow 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
minimum total active power limit is imposed, it will be considered by all contingencies in the contingency
list.
The list of contingencies to be considered by the OPF is selected by choosing a specific contingency
analysis command (parameter Contingency Analysis in the OPF dialogue, Basic Options tab), which
contains in its folder the contingency objects (ComOutage) to be considered.
825
33.4.2
Initialisation
33.4.3
Advanced Options
33.4.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-optimised results and the optimised
results. For each recording of results (i.e. with optimised or non-optimised values) a separate result file
must be chosen.
Figure 33.4.5: Output Settings for OPF (Contingency Constrained DC Optimisation Method)
827
828
Chapter 34
Introduction
829
34.2
PV Curves
PV curves are essential for analysing the voltage stability of power systems. The PV Curves Calculation
finds the critical point of voltage instability by increasing the power demand of user-selected loads until
the load flow calculation no longer converges; i.e. until the stability limit is reached. The critical demand
is reported in the output window, and the voltage drop (V), and increasing power (P), can then be plotted
using the PV Curves Plot command, as illustrated in Figure 34.2.1.
The calculation and the corresponding plots are made available via two separate commands, both of
which are available either via the Calculation main menu, under Transmission Network Tools, or the
main toolbar using the following icons:
PV Curves Calculation
PV Curves Plot
In addition, the PV Curves Calculation is accessible via the single line diagram or Data Manager, when
right-clicking on network element/s and selecting Calculate PV Curves Calculation. . .
34.2.1
PV Curves Calculation
The PV Curves Calculation dialog, Basic Options page, is shown in Figure 34.2.2.
830
34.2. PV CURVES
34.2.1.1
Basic Options
Calculation Selection of either AC load flow, balanced or AC load flow, unbalanced, 3-phase (ABC).
The Load Flow button provides access to the Load Flow Calculation command settings. It should
be noted that some load flow settings, such as Automatic Tap Adjust of Transformers, have a strong
influence on the PV Curves Calculation results. Decreasing the setting Break if no progress in X
iterations (e.g. from 10 to 5) may significantly improve performance for some large systems. This
setting is available in the Load Flow Calculation command, Iteration Control page, Advanced Settings
tab.
Consider contingencies If this option is ticked, an existing Contingency Analysis command can be
selected. The PV Curve Calculation will apply each defined contingency and calculate the resulting PV
curves accordingly.
Multiple time phase and single time phase contingencies are considered. The post-fault time of the
contingency is considered in the calculation when applying the contingencies, and must already be
defined in the Contingency Analysis command.
Regardless of whether contingencies are considered, the beginning of the PV Curve Calculation is
always executed with no contingencies in order to calculate the base case.
Scale loads The loads that are to be increased can be those contained in either the Whole system or
a User-defined selection. Zero- and negative loads are neglected.
Record terminal results Selection of terminals for the PV curves may be either All busbars in system
or a User-defined selection. The latter may include terminals defined as internal nodes. The voltage and
the gradient of the voltage for each terminal are saved at each iteration in the file specified by Results.
For each contingency a separate sub-result file is created. These sub-result files can be accessed via
the primary result file (i.e. that specified by Results).
831
Iteration Control
Step size algorithm Two step size algorithms are available for selection:
Binomial search: doubles the step size up to the maximum step size (until the point of divergence)
and then continuously halves it until the minimum step size is reached.
Adaptive step size (default): reduces the step size before reaching the stability limit.
Step size definition Definition of the step size and the number of iterations, and therefore influences
the accuracy, calculation speed and smoothness of the plotted curves.
The Minimum step size defines the threshold of the iteration: it stops when the iteration step gets smaller
than this value, which ends the PV Curve Calculation of this case. The smaller this value is, the closer
the calculation gets to the stability limit, however more iteration steps are required which increases the
calculation time. Adjustment of the Maximum iterations is not recommended, rather adjustment of the
maximum step size (or the Multiplication factor, depending on what is of interest). The units of the
initial-, maximum- and minimum step size are in percent of the initial power demand of each load.
Initial load scaling Defines the starting point for the load scaling and therefore the starting point of
the iteration. The Multiplication factor provides the user with the means to choose a different starting
point for the calculation. When set to 1, the PV Curves Calculation will start from the current operating
point of the selected loads.
Show detailed output Provides information about each iteration, allowing the user to fine-tune the
step size. For further information please refer to Section 34.2.3.1.
34.2.2
PV Curves Plot
By default, the PV Curves Plot command plots the critical busbar of the critical contingency. If the
calculation has been made with no consideration of contingencies, the base case will automatically
be selected. The PV Curves Plot options, outputs and results are explained in Section 34.2.2.1 Section 34.2.3.4.
34.2.2.1
Data input
The result file specified in, and created by, the PV Curves Calculation command (see Section 34.2.1).
34.2.2.2
Busbars
The selection of busbar/s for which PV curves are to be plotted. This can be set to Only plot critical busbar or User-defined selection. If the PV Curves Calculation has been carried out with no consideration
of contingencies, the base case will be selected by default. If the calculation has been carried out with
consideration of contingencies, the critical busbar of the critical contingency will be plotted.
34.2.2.3
Contingencies
If the PV Curves Calculation has been executed with consideration of contingencies, the user can
either choose to plot the busbar of the critical contingency (default), or may select the busbar/s to
832
34.2. PV CURVES
be plotted from the list of calculated contingencies. In the latter case, the contingencies should be
selected from the Contingencies table before selecting the associated busbars. For a selection of
multiple contingencies, the option Plot each contingency in a separate sub-plot causes the selected
busbars to be plotted for each contingency.
34.2.3
34.2.3.1
Output Window
During the calculation, the initial-, scalable- and critical demand are printed out for each contingency.
If the detailed output option is selected, the number of successfully converged load flows and the total
number of load flows for each contingency are displayed, as well as the load flow convergence, current
scaling factor and demand for each iteration-step (per contingency).
Following the calculation, a PV Curve Study Summary is printed in the output window, summarising
every contingency by showing the limiting bus and the power demand at the critical point of instability.
The contingencies are sorted according to the power demand at the critical point. The most critical
contingency is reported; it is the contingency where the critical point has the smallest power demand.
34.2.3.2
After the calculation, the single line diagram displays the results of the load flow calculation for the most
critical contingency at the critical point of calculation.
34.2.3.3
Result File
For every contingency a result file is created which contains the name of the contingency and a result
matrix which is organised as follows:
The rows of the matrix represent each iteration step of the calculated power demand. The last
row is the maximum power demand and thus the critical point of the system.
There are two columns for every busbar in the calculation: the first contains the voltage of each
iteration-step, and the second displays the gradient of the voltage (compared to the previous
row/iteration-step). After the calculation has finished, this gradient is also available on the Flexible
Data page for busbars, by selecting the calculation variable b:uGradient in the Variable Selection
editor.
34.2.3.4
The estimated critical busbar is the one with the highest gradient in the last converging iteration-step
(i.e. in the last row of the result file). If the total voltage drop from the first to the last iteration of this
bus is less than half the drop of the bus with the maximum drop, then the bus with the maximum drop
is considered to be the critical bus. The total drop of the busbar is checked in case the final gradient is
positive. This occurs when the load flow solver finds the wrong solution (e.g. in the iteration before the
last step), which might happen when the load scaling is too large near the stability limit.
833
34.3
Power Transfer Distribution Factors (PTDFs) are used to evaluate the change in power flow across a
set of branches, while changing production and consumption, respectively, in two predefined regions.
Knowledge of these factors assists greatly when analysing the impact of commercial transactions on
cross-border transmission capacities. The PTDF command is available under the Transmission Network
Tools, and the following sections explain how to use it.
34.3.1
Calculation Options
34.3.1.1
Basic Data
The PTDF Calculation dialog, Basic Data page, is shown in Figure 34.3.1.
Calculation Method Selection of either AC load flow, balanced or DC load flow (linear). The Load
Flow button provides access to the Load Flow command settings.
Region data The Region Data defines the exporting and importing regions. The interchange region
can be a zone (ElmZone), grid (ElmNet), area (ElmArea) or boundary (ElmBoundary ). The selection
here should be kept consistent; i.e. if areas are selected as Exporting regions, then areas should also
be selected as Importing regions.
If more than one element is selected, a PTDF set is automatically created. If a PTDF - Export or Import
Set is available, then the user can select it by using the Select Set option.
834
Scaling elements These are the elements that are going to be scaled, and a selection of generators
or loads is available. It is possible to either use all the elements available in the regions or select a User
defined set of Scaling elements.
Generators: all synchronous machines (ElmSym) and Static Generators (ElmGenstat) that are
in-service and connected are considered.
Loads: all loads (ElmLod) that are in-service and connected are considered.
Generators scaling mode If generators are selected as scaling elements, the user can select between different scaling modes:
Nominal active power : Generation shift is proportionally scaled for the generators according to
their nominal active power.
Remaining active power : Generation shift is scaled for the generators according to the remaining
active power". The definition of remaining active power" depends on the location of the generators: for generators in the exporting region, the value equals the difference between the maximum
active power and operating active power; for generators in the importing region, the value equals
the difference between the operating active power and minimum active power.
Merit-order table: Generation shift is scaled for the generators according to the merit-order table.
When the Merit-order table option is selected, it is possible to define the power transfer between
the two regions.
34.3.1.2
Output of Results
The result of this calculation is the increase or decrease of power flow through the Flowgates according
to the change of power in both the exporting and importing regions. All possible combinations of exporting and importing regions are calculated. An example result overview can be seen in Figure 34.3.2.
In this example, the regions are different grids and the Flowgates are user-defined boundaries. In the
tabular report each row represents the transaction between the exporting and importing regions, and
the PTDFs are provided in the corresponding cell of the Flowgate column.
835
34.3.1.3
Advanced Page
On the Advanced page, the user can define a set of scenarios (IntScenario) to calculate the PTDFs. If
no set is provided, PTDFs are only calculated for the current operation point.
34.4
The Transfer Capacity Analysis determines the maximum power transfer capacity between two regions.
To run the analysis, two regions must be specified: one which exports power and one which imports
power. The Transfer Capacity Analysis command is available in the Transmission Network Tools.
34.4.1
Basic Data
The Transfer Capacity Analysis dialog, Basic Data page, is shown in Figure 34.4.1.
Calculation Method Selection of either AC load flow, balanced or DC load flow (linear). The Load
Flow button provides access to the Load Flow command settings.
Contingency Constrained The analysis is carried out considering the contingencies defined in the
Contingency Analysis command.
836
Scaling elements The user may select between generators and loads. It is possible to use either all
of the elements available in the regions or select a User defined set of scaling elements.
Generators: all synchronous machines (ElmSym) and static generators (ElmGenstat) that are
in-service and connected are considered.
Loads: all loads (ElmLod) that are in-service and connected are considered. The load shift is
proportionally scaled for the loads according to their active power at operating point.
Generators scaling mode If generators are selected as scaling elements, the user can select between different scaling modes:
Nominal active power : Generation shift is proportionally scaled for the generators according to
their nominal active power.
Remaining active power : Generation shift is scaled for the generators according to the remaining
active power". The definition of remaining active power" depends on the location of the generators: for generators in the exporting region, the value equals the difference between the maximum
active power and operating active power; for generators in the importing region, the value equals
the difference between the operating active power and minimum active power.
Merit-order table: Generation shift is scaled for the generators according to the merit-order table.
34.4.2
Constraints
Consider Thermal Constraints (branches) If this option is selected, the thermal constraints for
branch elements are considered. The available options are:
Global constraint for all components: the limit defined in the Maximum thermal loading of components field is used for all branch elements.
Individual constraint per component: the limit defined on the Load Flow page of every branch
element is used.
Consider Voltage Limits (Terminals) If this option is selected, the voltage limits of all the terminals
are considered for the Transfer Capacity analysis. The available options are:
Global constraint for all terminals: the limits defined in the Upper and Lower limit of allowed voltage
fields are used for all terminals.
Individual constraint per terminal: the limits defined on the Load Flow page of the terminals are
used.
Consider active power limits The active power limits of the generators are considered in the analysis. The limit used is the minimum of the Operational limit and the Rating limit defined on the Load
Flow page of the generator.
837
34.4.3
Output
When the Transfer Capacity Analysis is executed, the operational point of the network is modified in
order to get a better solution. These modifications are not saved by default. However, the user can
choose to save the data for the last feasible solution by using the following options available on the
Output page:
Do not save
Save to a new Operation Scenario
Save to a user-defined Operation Scenario
The results of the Transfer Capacity Analysis are printed in the output window as shown in Figure 34.4.2.
In the example shown, the scaling mode was selected for all generators. PowerFactory generates a
status report for each iteration while the power scaling process is running.
34.4.4
Iteration Control
In the Initial Conditions the Initial scaling factor of the scaling elements and the Initial step size for the
analysis are defined.
In the Convergence Criteria the Min. step size and the Max. number of iterations are defined.
838
Chapter 35
Techno-Economical Calculation
35.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 35.1.1
Techno-economical calculations are used to perform an economic assessment and comparison of
network 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.
839
35.2
Prior to conducting a Techno-Economical Calculation, economic data should be defined within each
Expansion Stage (IntSstage). To define economic data, right-click on the Expansion Stage, click Edit,
and select the Economical Data tab. Parameters to be defined are as follows:
Costs for expansion
Define the Investment costs in k$", and Additional costs in k$/a".
Commercial equipment value
Define the Original value in k$", Scrap value in k$", and Expected life span in years a". Note that the
Expected life span is used in the economic calculation, it does not take the Variation out of service at
the end of the expected life span.
35.3
Calculation Options
35.3.1
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-defined dates. Calculations are executed on the 1st day of the Calculation Period Start,
at each user-defined date. To define dates, Insert rows to the Calculation Points table and specify
the required dates. To automatically populate the table of calculation points with once per year
dates and for every expansion stage dates, select Get 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-flexibility to optimise 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 specified.
Load growth
Optionally Incorporate load growth in the calculation, to consider load growth within each calculation
840
35.3.2
Costs Page
Optionally consider Losses, Interruption Costs, User-defined Costs, and Annual additional costs, and
select whether to Optimise Tie Open Points.
Losses
Optionally modify the Load Flow Calculation options via the pointer to the Load Flow Calculation
command.
Select whether to consider losses for the whole system, or for a user-defined set of substations/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".
Define the Costs for Losses (Load) in $/kWh", relating to line losses.
Define the Costs for Losses (no Load) in $/kWh", relating to transformer no-load losses.
Interruption Costs
Modify the 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 configure the
Reliability Command options. For a Techno-Economical calculation, it is generally recommended that
the following options are selected in the Reliability Assessment Command:
Basic Options Load flow analysis
Basic Options Distribution (Sectionalising, Switching actions)
Advanced Options Automatic Power Restoration
Advanced Options Do not save corresponding events
User-defined costs
Optionally select a user-defined 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 define Annual additional costs in "k$/a". These are costs that are to be applied irrespective
of the network development strategy.
Optimise Tie Open Points
Optionally select to calculate losses from the output of the TOPO calculation. The network open
point(s) will be re-configured during the Techno-Economical Calculation in order to minimise losses, in
accordance with the options selected in the TOPO command. By default, a new TOPO command object
is created within the Techno-Economical command. See Section 36.4: Tie Open Point Optimisation, for
details on how to configure the TOPO command.
Note: If the costs of losses are not considered by the Techno-Economical command directly, Optimise
Tie Open Points may still be selected so that the impact of network switching configuration is
considered by the calculation, where either Interruption Costs or Additional Costs is selected.
841
35.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).
35.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 DoubleBusbar/B. In the current arrangement the line Existing Line" from Sub 1" is lightly loaded (see
Figure 35.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 defined
for each load. By setting the Study Time to 2014, it has been determined that Existing Line" will be
loaded at close to the thermal rating in this year (see Figure 35.4.2).
Based on this, it has been determined that a new substation is required in 2015 to off-load the existing
line. Figure 35.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.
842
843
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 TechnoEconomical Analysis is performed for a number of Activation Times.
To perform the analysis, the Variation activation time T(act.) is varied from 2010 to 2015, and the Net
Present Value (NPV) of the Strategy is calculated over the period 2010 to 2020. In the example, outage
data has been entered for the lines New Line" and Existing Line", and a Global Energy Tariff has
been defined for loads from the Reliability command Costs page. Due to the trade-off between Energy
Interruption Costs (increasing in this example due to load growth) and cost-benefits associated with
delaying the project (based on the specified interest rate), the optimum year for project commissioning is
determined to be 2011, and not 2015. The NPV is around 11 % lower in 2011 than in 2015. Table 35.4.1
below summarises the results of the Techno-Economical calculations.
845
846
Chapter 36
Introduction
The chapter presents the PowerFactory tools for assessment and optimisation of distribution networks.
The areas of analysis are highlighted in Figure 36.1.1 Each section of this chapter introduces the tool,
presenting a general description, the objective function, the optimisation procedure, and the command
dialogues.
36.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
number of equipment trips due to deep sags. The PowerFactory Voltage Sag tool calculates a shortcircuit at the selected load points within the system and uses the failure data of the system components
to 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
DIgSILENT PowerFactory 15, User Manual
847
36.2.1
Calculation Options
36.2.1.1
Load selection
Reference to the set of load points. A load point can be defined by a busbar, terminal, or load.
Short-circuit command
Displays the short-circuit command that is used. The options for the short-circuit type will be changed
during the voltage sag calculation, depending on the Advanced Options specified in the ComVsag
dialogue. However, other settings can be inspected or changed by clicking on the Edit button ( ).
Results
Reference to the result file that is used for storage of results.
Exposed area limit
This defines the minimum remaining voltage for the voltage sag calculation to continue calculating shortcircuits 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 analysed.
848
TheAdvanced Options page shows the various short-circuit types that can be analysed by the voltage
sag assessment command. All components for which a failure model has been defined use the same
short-circuit frequency. The relative frequency for each type of short-circuit is entered uniformly for all
components.
36.2.2
849
36.2.3
The voltage sag tables are not calculated until a voltage sag plot is constructed. Upon reading the
remaining voltages, short-circuit frequencies and short-circuit impedances from the result file, a voltage
sag table is constructed for each selected load point. Figure 36.2.3 shows the voltage sag plot dialogue.
850
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
851
36.3
The Voltage Profile Optimisation (VPO) command (ComVoltplan) is used to optimise distribution transformer taps over the expected range of network load and generation conditions. It can be selected from
the Distribution Network Tools, as shown in Figure 36.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
include transformer and LV network parameters, as illustrated in Figure 36.3.1. To show terminal
colouring based on maximum/minimum LV grid voltages, select View Diagram Colouring from the
main menu (or select the Diagram Colouring icon). Under 3. Other select Results Voltages / Loading.
Click on Colour Settings, go to the 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) and the terminal
therefore shows two colours.
The load and generation scaling factors used in the tap optimisation calculation override the values
specified on the Load Generation Scaling" tab of the Load Flow Calculation; but the Load Flow Calculation settings remain unchanged.
852
36.3.1
Optimisation Procedure
853
854
Figure 36.3.3: Voltage limits for LV grids with the objective function Maximisation of generation selected
855
36.3.2
Calculation mode
Optimisation: the tap position of the distribution transformers will be set to the optimal
position within the given limits.
Verification: the tap position of the distribution transformers will remain as-is. The algorithm
checks whether this setting exceeds the given limits. This could be used to verify whether
the given tap positions in a network are still valid after changes within the LV grid.
Calculation cases
Consumption- and production case simultaneously: the consumption- and production
case will be calculated and shown in the results. In addition, a tap position which conforms
in both cases is selected.
Consumption case only: the consumption case will be calculated with the Voltage limits for
LV grids. Hence, the tap position will be optimised for the highest possible voltage within the
limit. A typical application would be a LV grid with high power consumption and no generation
units.
Production case only: the production case will be calculated with the Voltage limits for LV
grids. Hence, the tap position will be optimised for the lowest possible voltage within the limit.
A typical application would be a LV grid with a high proportion of photovoltaics.
Objective function (only available for Calculation method: Optimisation)
Maximisation of generation: if multiple tap positions of the distribution transformer meet the
given limits for the consumption- and/or production case, the result with the lowest voltage
level will be used.
Maximisation of consumption: if multiple tap positions of the distribution transformer meet
the given limits for the consumption- and/or production case, the result with the highest
voltage level will be used.
Voltage limits for LV grids
Upper voltage limit: upper limit that the LV grid must not exceed (e.g. 1.1 p.u.).
Lower voltage limit: lower limit that the LV grid must not fall below (e.g. 0.9 p.u.).
Consumption case (not available for Production case only )
Load scaling factor: percentage load scaling for the calculation of the consumption case
(e.g. 100 %).
Generation scaling factor: percentage generation scaling for the calculation of the consumption case (e.g. 0 %).
Production case (not available for Consumption case only )
Load scaling factor: percentage load scaling for the calculation of the production case (e.g.
25 %).
Generation scaling factor: percentage generation scaling for the calculation of the production case (e.g. 100 %).
Load Flow calculation: a reference to the Load Flow command used by the optimisation algorithm. A copy is made of the command meaning that any changes made do not affect the settings
of the original Load Flow command.
856
36.3.3
Output Page
In cases where Calculation method Consumption- and production case simultaneously" is used, the
following option is available:
Shown results
Consumption case: the results for the consumption case are shown.
Production case: the results for the production case are shown.
36.3.4
36.3.5
The result of the Voltage Profile Optimisation can be shown as a tabular or ASCII report, or as a voltage
profile plot.
Tabular and ASCII report
The tabular or ASCII reports, which show the recommended tap settings, including details of MV loads
with critical voltage drop or rise can be accessed after the Voltage Profile Optimisation has been calculated. This is done by clicking on Reports Voltage Profile Optimisation" ( ). An example of the Optimal
Transformer Tap Positions section of the report is shown below in Figure 36.3.4 (results consistent
with Figure 36.3.1 and the discussion in Section 36.3.1). In the case where only the production or
consumption case are calculated, only the corresponding results will be available in the last columns
(voltages).
The recommended tap settings are also available on the Flexible Data page of MV loads under the
Voltage Profile Optimisation 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.
Voltage profile diagram
To display a plot of the resultant profile for one feeder for the consumption case, production case or
both, select the Voltage Profile Plot icon ( ). Figure 36.3.5 shows an example plot for the consumption
case only:
857
36.4
The function of the Tie Open Point Optimisation (TOPO) (ComTieopt) is to optimise 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 optimised.
This chapter is separated into three sub-sections. Firstly, the steps to access the TOPO tool are
described. Next, the background and function of the TOPO tool is presented and finally the procedure
for running a Tie Open Point Optimisation is described. The Tie Open Point Optimisation Command
can accessed as shown in Figure 36.1.1
36.4.1
The function of the Tie Open Point Optimisation (TOPO) tool is best explained using an example.
Consider the network illustrated in Figure 36.4.1
858
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.
36.4.2
This section describes the procedure for running a Tie Open Point Optimisation (TOPO) calculation.
The steps are summarised below, and discussed in more detail in the following sections:
How to Create Feeders.
How to configure the Tie Open Point Optimisation Command.
How to configure constraints for the Tie Open Point Optimisation.
How to configure the Advanced Options.
How to configure Reliability Options.
How to Create Feeders
The TOPO tool requires that feeders are defined for the section of the network that you wish to optimise. Additionally, the TOPO tool only works on radial feeders - mesh systems cannot be optimised
DIgSILENT PowerFactory 15, User Manual
859
2. Open the dialogue for the Tie Open Point Optimisation tool (
).
3. Use the selection control for Feeding Points to select previously defined feeder/s, or a feeder
Set". If the Select option is chosen and multiple feeders are selected, a Set" of feeders will
automatically be created within the active study case. By default the set will be named Tie Open
Point Optim. - Feeder Set.
Note: It is generally recommended to define all feeders in the network as Feeders, and to conduct
a TOPO calculation for All Feeders.
4. Select the desired Objective Function to minimise losses and / or reliability indices. If Optimisation
of Reliability Indices or Cost Optimisation (Losses + Reliability) is selected, complete the required
fields on the Reliability page, see (How to configure Reliability Options).
5. Balanced, positive sequence" or Unbalanced" network representation can be selected. The
Load-flow command referenced below these radio buttons is automatically adjusted to the correct
calculation method based on this selection.
6. Optional: You can inspect and alter the settings of the load-flow command that is used for determining the losses and identifying the constraints of the system by clicking the blue selection arrow
next to load-flow command.
7. Optional: Change the Saving of solution" option. The two options are as follows:
Change Existing Network (Operation Scenario). This is the default option. The TOPO tool
modifies the base network model. Note that if a variation is active, the changes will be
implemented in the variation.
Record to Operation Scenario. If you choose this option a selection control appears and you
can choose an existing operation scenario to save the results of the Optimisation procedure
to. Alternatively, you can leave the selection empty and PowerFactory automatically activates
a new Operation Scenario called Tie Open Point Optimisation Results". Any changes made
to the network as a result of the optimisation procedure are stored within this operation
scenario. You can revert to the original network by disabling the scenario.
8. Optional: Disable the Report" flag. This control, enabled by default, allows you to turn off the
automatic printing of an ASCII report to the output window.
9. Optional: Select the Before Optimisation and After Optimisation results objects.
How to configure constraints for the Tie Open Point Optimisation
It is optional whether you choose to consider thermal and voltage constraints for the Tie Open Point
Optimisation. If you wish to consider constraints follow these steps:
1. Open the Tie Open Point Optimisation dialogue and select the Constraints page.
860
861
36.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 36.1.1.
From the Data Manager select and then right-click previously defined feeders and click Calculate
Backbone Calculation....
From the main menu, select Calculation Distribution Network Tools Backbone Calculation.
862
36.5.1
Generate backbones
Specify all feeders or a user-defined 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-flow 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 specified 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.
DIgSILENT PowerFactory 15, User Manual
863
36.5.2
If scoring method is selected on the Basic Options page, enter scoring settings on the Scoring Settings
page. Backbones are determined based on the restoration ability of every inter-feeder path using
Topology, Loading violation, and Voltage violation criteria.
For each criteria satisfied, the path receives the entered number of points. The path with the greatest
number of points is the winning" path.
Topology scoring
Define scoring settings for Topology scoring criteria:
Path leads to different substation.
Path leads to different HV/MV-transformer.
Tie open point is remote controlled.
Greater than a specified 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 specified number of points. If global loading
constraints is selected, then Max. Loading should also be defined.
Define 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-energised and the connection to feeder B" via the tie open point is closed.
A load flow is calculated in this so-called restoring mode and the entered number of points is
assigned if the supplying HV/MV-transformer is not overloaded.
On backbone of restoring feeder (normal mode). Consider a path from initial feeder A" to feeder
B". A load flow is calculated (in so-called normal mode) and the entered number of points is
assigned if no element on the potential backbone path contained in feeder B", the restoring
feeder is overloaded in the base case.
On complete backbone (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energised and the connection to feeder B" via the tie open point is closed. A load
flow is calculated in this so-called restoring mode and the entered number of points is assigned if
no element on the potential backbone path is overloaded.
In complete feeder (restoration mode). Consider a path from initial feeder A" to feeder B".
Feeder A" is de-energised and the connection to feeder B" via the tie open point is closed.
A load flow is calculated in this so-called restoring mode and the entered number of points is
assigned if no element in the complete resulting feeder is overloaded (not only on the backbone
as for the previous option).
864
36.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 deenergised by opening its feeding switch and restored by the second Feeder via the tie open point. These
restoration steps can be simulated for an existing Backbone using the Backbone trace functionality. The
trace buttons are located beside the ComBbone command, and can also be accessed via the main
menu Calculation Distribution Network Tools Start trace....
36.5.4
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 Topology Feeders. Click on Colour Settings, and on the Feeders
page select Highlight backbones.
Figure 36.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 36.5.3 for details of how to trace the Backbone
restoration steps.
865
36.6
Optimal Capacitor Placement (OCP) is an automatic algorithm that minimises 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 36.6.1.
).
Following a successful OCP, the list of proposed capacitors can be accessed with the Show New
Capacitors icon ( ).
The Remove previous solution icon (
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.
36.6.1
The OCP optimisation algorithm minimises the total annual network cost. This is the sum of the cost of
grid losses, the cost of installed capacitors, and optionally the fictitious penalty cost of voltage violations:
= +
( ) +
( )
=1
(36.1)
=1
Where:
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 2 loss of all
elements in the network.
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.
corresponds to a fictitious cost used to penalise a bus (terminal) voltage violation.
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 fictitious cost for such violations. The voltage violation cost
is calculated based on the user specified voltage limits and penalty factors. The voltage limits are
defined in the Basic Options tab of the OCP command dialogue (vmin and vmax parameters, see
Section 37.2.1: Basic Options Page). The penalty factors are defined in the Advanced Options tab of
the same command (weight and weight2 fields, see Section 36.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 fictitious voltage
violation cost is slightly different for each situation. The two situations are explained as follows:
1. In situation one, the voltage 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:
= 1
DIgSILENT PowerFactory 15, User Manual
(36.2)
867
868
36.6.2
To find the optimal configuration 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-defined list of capacitors to each target feeder terminal. At this stage the cost of the
largest capacitor is excluded.
Terminals are ranked in descending order of total cost reduction. The terminal that 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-defined list including the cost of each capacitor. The best
capacitor is the one that reduces the cost the most when also considering the annual cost of that
capacitor.
Repeat step one but any terminals that have previously been selected as candidates for capacitor
installation are not included in the ranking of candidate terminals. The algorithm stops when all
terminals have had capacitors installed, or the installation of capacitors cannot reduce costs any
further.
Note: If Load Characteristics are considered, then the above algorithm will be completed for every
independent load state. See Section 36.6.5 for how the load states are determined.
36.6.3
Feeder
869
Energy Costs
The energy cost ($/kWh) can be entered manually or taken from an External Grid. Note, if more than
one External Grid exists in the network, the algorithm takes the first External Grid by database ID. The
calculation of the cost of the network losses is as follows:
= 8760
(36.3)
where:
is the total cost per annum in $;
is the energy cost of losses in $/kWh; and
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 36.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 Settings Input Variables
tab Currency Unit.
870
36.6.4
On this page, the user defines the available capacitors for the OCP command. One capacitor is entered
per row. To add a new capacitor, right-click within any cell and select the option Insert Rows, Append
Rows or Append n Rows. The following fields are mandatory for each row:
Ignored; If this option is checked, then the capacitor specified in this row will be ignored by the
OCP command.
Q per Step Mvar; Here the nominal reactive power of the capacitor in Mvar per step is specified.
Switchable; If this option is enabled then the algorithm can use a capacitor with multiple steps.
Max. Step; If the Switchable option is enabled, then this option specifies the maximum number of
steps available to the optimisation algorithm. The maximum available reactive power is therefore
Max. Step * Q per Step Mvar.
Technology; Specifies whether the capacitor is Three-phase or Single-phase.
DIgSILENT PowerFactory 15, User Manual
871
Available Capacitors
Allow use of each capacitor multiple times; This is the default option and it means that every
capacitor in the list can be used at more than one feeder terminal (multiple times).
Use each capacitor only once; If this option is enabled then each capacitor can only be placed at
one terminal along the target feeder.
Treatment of 3-phase capacitors This option allows the specification of the technology type for 3phase capacitors. This option is only available when the Network Representation is set to Unbalanced
in the Basic Options page.
36.6.5
If load characteristics are to be considered by the optimisation algorithm, then the option Consider Load
Characteristics should be enabled on this page.
Load States
Two options are available:
872
36.6.6
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 optimisation 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 36.6.2.
Max. Number of Iterations
This parameter determines the maximum number of iterations of the optimisation 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 optimisation routine.
DIgSILENT PowerFactory 15, User Manual
873
Additional Factor outside range [vmin, vmax] (weight2); This parameter can be used to apply an
additional weighting factor to the first deviation factor when the terminal voltage falls outside the
voltage limits defined on the Basic Options page. The factor is cumulative, so using the previous
example and a additional factor of 20,000/% with a vmin of 0.975, the fictitious cost becomes
$300,000 (5% * $10,000/% + 2.5% * $20,000/%) * 3.
Note: The values for the two voltage penalties weight and weight2 should be carefully chosen because the target optimisation 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.
36.6.7
Results
The last three OCP tool-bar buttons give access to the optimisation results.
Show Nodes with New Capacitors
When pressing the Show Nodes with New Capacitors icon ( ), after a successful optimization is
complete, a list appears of all terminals where capacitors are proposed for installation.
Show New Capacitors
Pressing the Show New Capacitors icon (
Figure 36.6.7: Voltage profile plot showing the new capacitors after an Optimal Capacitor Optimisation.
875
876
Chapter 37
Cable Sizing
37.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 recommend 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-defined voltage, thermal, and short-circuit constraints.
The optimisation may be performed on a network model without any cable/line types yet defined, based
on the load and power flows in the active study case.
To access the Cable Sizing command (ComCabsize), select the Change Toolbox icon (
Tools, and then select the Cable Sizing icon ( ), as illustrated in Figure 37.1.1.
), Additional
877
878
37.2
Calculation Options
37.2.1
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 C15100 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-defined types and constraints.
Note: Standards tables for cable ampacity, cross-section, derating factors, and impedances are stored
in the Database System Modules Cable Sizing folder.
879
Network Representation
Balanced, positive sequence or Unbalanced network representation can be selected. The Load-flow
command referenced below these radio buttons is automatically adjusted to the appropriate calculation
method based on this selection.
Load Flow, Short Circuit
These are a references (pointers) to the load-flow command and short-circuit command (if applicable)
used by the optimisation algorithm. For a Cable Reinforcement calculation in Verification 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.
880
37.2.2
Constraints Page
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 field.
Individual Constraint Per Line. Select this option to automatically consider each components
unique thermal loading limit. Note, the thermal rating is specified in the field 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 field.
Individual Constraint Per Terminal. Note, the voltage limit is specified 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
881
37.2.3
Output Page
Output
Various output options for the optimisation results are possible.
Report Only : Any new line types are listed in a pre-defined report displayed in the Output Window.
882
883
37.2.4
37.2.4.1
If International Standards and Recommendation is selected on the Basic Options page, then configure
the Advanced Options as follows.
Figure 37.2.4: Advanced Options page for Cable Sizing International Standards Method
Cable Sizing
Define 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
resistance and reactance parameters from conductor cross-section and material according to the
IEC 60909 calculation.
Select whether to Use design parameters of the Cable Sizing command, in which case a new type
will be created according to the type design parameters from the command. Or, select to Use
design parameters of the assigned cable type, in which case a new type will be created according
to the existing line type from its rated values (only current and cross-section values could be
different). This is only applicable if the analysed line has a type assigned. Otherwise, a new type
will be created according to the command parameters.
884
If Cable Reinforcement is selected on the Basic Options page, then configure the Advanced Options as
follows.
Figure 37.2.5: Advanced Options page for Cable Sizing - Cable Reinforcement Method
Network Consistency
This option, if enabled, forces the optimisation routine to complete a final 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 defined as a single feeder" that begins at the Source" terminal. Consider now
Terminal A". This terminal is supplied by Line A" and is also connected to two other lines, Line B" and
Line C". In this case, for Terminal A", Line A" is considered as a feeding cable" and lines B and C as
leaving cables".
Considering now Terminal B", Lines B and C are feeding cables whereas Lines D and E are leaving
cables". Feeding cables" are defined as those cables with a power flow direction that is into the
connecting node. For a radial feeder with no embedded generation, this is generally the cables closest
to the beginning of the feeder. All other cables are defined as leaving cables".
In consistency check option 1, the cross sectional area (or nominal current) of the feeding cables are
summated and compared with the sum of the cross sectional area (or nominal current) of the leaving
cables for each terminal. If the sum of the leaving cables is greater at any terminal then the network is
considered non-consistent.
DIgSILENT PowerFactory 15, User Manual
885
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 defined 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.
886
37.2.5
Type Parameters
If the Method International Standards and Mode Recommendation is selected, configure 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 nonarmoured 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
exposed to touch.
887
37.3
37.3.1
Line Type parameters relevant to the Cable Sizing command are defined on the Cable Sizing page of the
Line Type TypLne, which includes a simplified image of the cable. See section 37.2.5 for a description
of the parameters.
888
37.3.2
Line Element parameters relevant to the Cable Sizing command are defined on the Cable Sizing page of
the Line Element ElmLne, ElmLnesec. The page includes details of the laying arrangements, installation
method, and a simplified 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.
37.4
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 defined 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.
889
37.5
Predefined laying methods are provided for the French standards; NF C 15-100 and NF C 13-200. All
the predefined methods, which are stored in the folder "Laying Type" of the each corresponding standard
in the common folder Database System Modules Cable Sizing.
In the description tab of the line element (ElmLne) or the line section (ElmLnesec) the user is able to link
one of the predefined vectors (IntVec), representing the laying method, using the parameter "Additional
Data" (Parameter name:doc_id). Each predefined 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 fit
available PowerFactory settings. Parameters as temperature, grouped cables or number of trays/layers
should be still defined by the user, otherwise default values shall be used.
Following sub-chapters give more detailed overview of the available predefined laying methods.
37.5.1
Description
Correction
factors
1 (IntVec)
Single-core cables
in conduit in a thermally insulated wall
*0 = 0.77,
52K, 52N,
52P
2 (IntVec)
Multi-core cables in
conduit in a thermally insulated wall
*0 = 0.7,
52K, 52N,
52P
Laying
Method
890
3 (IntVec)
3A
3A (IntVec)
4 (IntVec)
4A
4A (IntVec)
5 (IntVec)
Single-core cables
in a conduit on
a wooden or masonry wall
Multi-core cables
in a conduit on
a
wooden
or
masonry wall
Single-core cables
in cable conduit on
a wooden or masonry wall
Multi-core cables in
cable conduit on
a wooden or masonry wall
Single-core cables
in conduit in masonry
52K, 52N,
52P
*0 = 0.9,
52K, 52N,
52P
52K, 52N,
52P
*0 = 0.9,
52K, 52N,
52P
52K, 52N,
52Q
Corresponding
IEC
method
and
required
PowerFactory settings
Air; A; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers;
Air; A; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers;
Air; B; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers;
Air; B; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers
Air; B; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers;
Air; B; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers;
Air; B; ambient temperature; bunched in air, on surface, embedded or enclosed;
number of trays/layers;
Laying
Method
5A
11
11A
Additional
Data
(doc_id)
Description
Correction
factors
5A (IntVec)
Multi-core cables in
conduit in masonry
*0 = 0.9,
52K, 52N,
52Q
11 (IntVec)
11A (IntVec)
12
12 (IntVec)
13
14
16
17
18
18 (IntVec)
52K, 52N
*0 = 0.95,
52K, 52N
52K, 52N
52K, 52N
52K, 52N
52K, 52N
52K, 52N
*0 = 1.21,
52K
*0 = 0.95,
52K, 52N,
52P
21
21 (IntVec)
Multi-core cables in
a building void
22
22 (IntVec)
Single-core cables
in a building void
*0 = 0.95,
52K, 52N,
52P
22A
22 (IntVec)
Multi-core cables in
conduit in a building void
*0
=
0.865, 52K,
52N, 52P
Corresponding
IEC
method
and
required
PowerFactory settings
891
Additional
Data
(doc_id)
Description
Correction
factors
23
23 (IntVec)
Single-core cables
in cable ducting in
a building void
*0 = 0.95,
52K, 52N,
52P
23A
23 (IntVec)
Multi-core cables in
cable ducting in a
building void
*0
=
0.865, 52K,
52N, 52P
24
24 (IntVec)
Single-core cables
in cable ducting in
a building void
*0 = 0.95,
52K, 52N,
52Q
24A
24(IntVec)
Multi-core cables in
cable ducting in a
building void
*0
=
0.865, 52K,
52N, 52Q
Laying
Method
25
892
25 (IntVec)
31
31 (IntVec)
31A
31 (IntVec)
32
32 (IntVec)
32A
32 (Intvec)
33
33 (IntVec)
33A
33 (IntVec)
34
34 (IntVec)
*0 = 0.95,
52K, 52N
*0 = 0.9,
52K, 52N
52K, 52N
Corresponding
IEC
method
and
required
PowerFactory settings
Air; B; ambient temperature, bunched in air, on surface, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
Air; B; ambient temperature, bunched in air, on surface, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
Air; B; ambient temperature, bunched in air, on surface, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
Air; B; ambient temperature, bunched in air, on surface, embedded or enclosed;
number of trays/layers; cable
in duct (conduit);
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed;
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed; laid
horizontally;
Air; B; ambient temperature;
bunched in air, on surface,
embedded or enclosed; laid
horizontally;
52K, 52N
*0 = 0.9,
52K, 52N
52K, 52N
*0 = 0.9,
52K, 52N
52K, 52N
Laying
Method
Additional
Data
(doc_id)
34A
34 (IntVec)
41
41 (IntVec)
42
42 (IntVec)
43
43 (IntVec)
61
61 (IntVec)
62
62 (IntVec)
63
63 (IntVec)
71
71 (IntVec)
73
73 (IntVec)
73A
73 (Intvec)
74
74 (IntVec)
74A
74 (IntVec)
Description
Correction
factors
Corresponding
IEC
method
and
required
PowerFactory settings
Multi-core cables
Air; B; ambient temperature;
*0 = 0.9,
suspended cable
bunched in air, on surface,
52K, 52N
trunking
embedded or enclosed;
Multi- or singlecore cables in
Air; B; ambient temperaconduit
in
an *0 = 0.95,
ture; bunched in air, on surunventilated cable 52K, 52N,
face, embedded or enclosed;
channel,
laid 52P
number of trays/layers;
horizontally
or
vertically
Insulated
singleAir; B; ambient temperacore cables in
52K, 52N, ture; bunched in air, on surconduit in an open
52P
face, embedded or enclosed;
or ventilated cable
number of trays/layers;
channel in the floor
Insulated
singleAir; B; ambient temperacore cables in an
52K, 52N, ture; bunched in air, on suropen or ventilated
52P
face, embedded or enclosed;
cable channel in
number of trays/layers;
the floor
Multi- or singlecore cables in *0 = 0.8, Ground; D; ambient temperconduit or in cable 52L, 52M, ature; soil type; cable in duct
ducting
in
the 52T, 52S
(conduit); cables touching;
ground
Sheathed multi- or
single-core cables
Ground; D; ambient temper52L, 52M,
without armour diature; soil type; cable not in
52R
rectly buried in the
duct (conduit);
ground
Sheathed
multior
single-core
Ground; D; ambient temper52L, 52M,
cables with armour
ature; soil type; cable not in
52R
directly buried in
duct (conduit);
the ground
Insulated conductors or single-core 52K
Air; A; ambient temperature;
cable in mouldings
Single-core cables
52K
Air; A; ambient temperature;
in architrave
Multi-core cables in *0 = 0.9,
Air; A; ambient temperature;
architrave
52K
Single-core cables
52K
Air; A; ambient temperature;
in window frame
Multi-core cables in *0 = 0.9,
Air; A; ambient temperature;
window frame
52K
Table 37.5.1: NF C 15-100 (Tableau 52C)
*0 - correction factor of the corresponding installation method (multiplied by the total derating factor),
by default 0 = 1
DIgSILENT PowerFactory 15, User Manual
893
37.5.2
Laying
Method
Air 3A
Air
(IntVec)
3A
Air 5A
Air
(IntVec)
5A
11
Description
Multi- or singlecore cables in
a
conduit
on
a
wooden
or
masonry wall
Multi- or singlecore
insulated
cables in a conduit
in a masonry
Correction
factors
Corresponding
IEC
method
and
required
PowerFactory settings
K1, K9
K1, K9
K1, K2, K3
Air 11
Air
(IntVec)
Air 11A
Air
11A
(IntVec)
K1, K4
Air 12
Air
(IntVec)
Air 13
Air 13 E
and Air 13 F
(IntVec)
Multi- or singlecore
cables
on
perforated
tray, vertical or
horizontal
Air 14 E
and Air 14 F
(IntVec)
Air 14
894
Additional
Data
(doc_id)
12
Laying
Method
Air 16
Additional
Data
(doc_id)
Air 16 E
and Air 17 F
(IntVec)
Air 17
Air
(IntVec)
17
Air 31
Air
(IntVec)
31
Air 32
Air
(IntVec)
32
Air 41
Air
(IntVec)
41
Air 43
Air
(IntVec)
43
Air 45
Air
(IntVec)
65
Enterr
60
Enterr
(IntVec)
60
Enterr
61
Enterr
62
Enterr
(IntVec)
Enterr
(IntVec)
61
62
Description
Correction
factors
Corresponding
IEC
method
and
required
PowerFactory settings
K1, K2
K1, K9
K1, K9
K1, K10
K1, K9
K12, K13,
K15
K12, K13,
K14, K16,
K17
Multi- or singlecore
sheathed
cables
laid
directly in ground
without mechanical
protection (armour)
K12, K13,
K14, K15
Ground; D; ambient temperature; soil type; depth of laying; cable not in duct (conduit);
895
Laying
Method
Enterr
63
Additional
Data
(doc_id)
Enterr
(IntVec)
63
Description
Correction
factors
Corresponding
IEC
method
and
required
PowerFactory settings
Multi- or singlecore
sheathed
Ground; D; ambient tempercables laid directly K12, K13,
ature; soil type; cable not in
in ground with K14, K15
duct (conduit);
mechanical
protection (armour)
Table 37.5.2: NFC13200 Table 52E
896
Chapter 38
Motor Starting
38.1
Introduction
The chapter presents PowerFactory tools for performing motor starting simulations using the Motor
Starting command (ComMot). A Motor Starting analysis typically includes an assessment of the following:
Voltage sag.
Ability of motor to be started against the load torque.
Time required to reach nominal speed.
Supply grid loading.
Starting methodology (Direct Online, Star-Delta, Variable Rotor Resistance, Reactor, Auto Transformer).
The Motor Starting command makes use of the PowerFactory stability module by providing a preconfigured shortcut for easy-to-use motor starting analysis. Pre-selected and pre-configured plots (VIs)
are automatically created and scaled with full flexibility for user-configuration. In PowerFactory , there
are two Simulation Types" that may be used to perform a motor starting simulation:
1. Dynamic Simulation, which will execute a time-domain motor starting simulation.
2. Static Simulation, which will execute a load flow 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
flow calculation will be executed after the motors have been connected to the system.
38.2
To define the starting method of a motor, a Type must first be selected. This sub-section describes how
to define a motor and (optionally) define a motor driven machine (mdm).
38.2.1
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
897
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.
898
38.2.2
Selection of a motor driven machine model provides enhanced flexibility to define the torque-speed
characteristic of the motor. A motor driven machine can be user-defined, or selected from a range
of Compressors, Fans, and Pumps available in the PowerFactory Global Library. Refer to the asynchronous machine Technical Reference Asynchronous Machine and motor driven machine Technical
Reference for further details Motor Driven Machine.
To define a motor driven machine, in a Data Manager or on the Single Line Graphic, right-click on the
asynchronous machine and:
For a new motor driven machine:
1. Select Define... 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 Define... Motor Driven (mdm) machine from library.
2. Select an existing motor driven machine from the project library, or global library Database
Library Motor Driven Machine.
Note: Motor driven machines may also be defined for Synchronous motors by selecting the Composite
Type Sym frame" (or creating a user-defined frame). Refer to the mdm Technical Reference for
further details: Motor Driven Machine.
899
38.3
38.3.1
38.3.1.1
Motor(s)
38.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
Definitions objects in the active study case will be overwritten by the Motor Starting command.
38.3.1.3
Simulation Method
Either:
If User defined 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 defined simulation settings is checked:
1. Define 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 starting events are automatically created, and that previously defined events are not deleted.
Similarly, user-defined variable sets are merged with the Motor Starting command default
variables.
4. Modify Simulation command (ComSim) settings as required.
38.3.1.4
Monitoring
Click Select (
900
) and select the Additional Terminals to be monitored for the Motor Starting simulation.
DIgSILENT PowerFactory 15, User Manual
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 (1 ), the thermal overcurrent
limit of the line at the starting time of the motor ( ) is calculated according to equation 38.1:
(38.1)
Where:
= is the time calculated during the Motor Starting simulation.
The calculated thermal energy (2 ) during the motor starting is defined as:
2 =
(38.2)
Where:
= is the integration step size of the simulation.
The calculated thermal current ( ) is then calculated as follows:
(38.3)
Finally, the thermal loading is calculated as the relation between rated thermal current and calculated thermal current at starting time:
(38.4)
Static Simulation
Given the rated thermal overcurrent limit of the cable at 1 second (1 ), the thermal overcurrent
limit of the line at the starting time of the motor ( ) is calculated according to equation 38.5 :
(38.5)
The starting time is the variable specified 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
=
DIgSILENT PowerFactory 15, User Manual
(38.6)
901
38.3.2
Output Page
38.3.2.1
Dynamic Simulation
(38.7)
Report
Check Report to report results to the output window. By default, report results include voltage before
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 Simplified Models
Define the Max. Speed Tolerance, the maximum deviation from nominal speed at which the motor is
considered to be successfully started. This applies only to simplified (i.e. synchronous) motors.
38.3.2.2
Static Simulation
Report
Optionally modify report Settings and Results. Figure 38.3.1 shows an example of a Static Simulation
Report with the option Check Thermal Limits of Cables and Transformers" selected.
38.3.3
38.3.3.1
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 Pre-start Voltage, Magnitude (c:uprestart).
Motor Start Voltage, Magnitude (c:ustart).
Motor Post-start Voltage, 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 >= , where
is the value of variable s:speed", and is the value specified in the input
field Max. Speed Tolerance (tolspeed).
Asynchronous motors: Successful start if >= , where
is the value of variable s:speed", and is the value of variable t:aslkp" of the asynchronous
motor.
DIgSILENT PowerFactory 15, User Manual
903
Following a motor starting simulation, new calculation variables are available for asynchronous (ElmAsm) and synchronous (ElmSym) motors. For the Static Simulation, these variables are found on the
Motor Starting Calculation page. Results variables are described in the preceding sub-section.
The criterion of a successful start is as follows:
Simplified 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 specified
in the input field 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.
38.3.4
Consider the following dynamic motor starting example for a single 6.6kV asynchronous motor shown
in Figure 38.3.2.
The Variable Rotor Resistance starting method has been selected, with three values of time-dependent
resistance, as shown in Figure 38.3.3.
904
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 38.3.4.
Following execution of the command, PowerFactory automatically produces plots showing motor quantities of interest (as described in section 38.3.3.1) and monitored voltage results as shown in Figure 38.3.5
and Figure 38.3.6.
905
906
Chapter 39
Introduction
This chapter describes the tools available in PowerFactory to perform arc-flash hazard analysis, including their technical background, descriptions of the Arc-Flash Hazard Analysis command and Arc-Flash
Reports dialogs, and an example calculation. The Arc-Flash Hazard Analysis command (ComArcflash)
can be accessed on the main toolbar under the Protection group by selecting the Arc-Flash Hazard
Analysis icon .
Note: DIgSILENT accepts no responsibility for the use of the Arc-Flash Hazard Analysis command,
or for the consequences of any actions taken based on 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, set the pointer to Project Settings, and on
the Input page, and select the units to be English-Transmission" or English-Industry".
39.2
39.2.1
General
Arc-flash hazard analysis calculations are performed to determine ...the arc-flash hazard distance and
the incident energy to which employees could be exposed during their work on or near electrical equipment" [IEEE1584-2002][18]. One outcome of an arc-flash hazard analysis is to determine employee
Personal Protective Equipment (PPE) requirements.
The Arc-Flash command builds on the existing short-circuit calculation capabilities in PowerFactory ,
and requires the following additional data, dependent on the Calculation Method selected:
IEEE-1584[18]: Conductor Gap, Distance Factor, Working Distance, and Enclosure Type.
NFPA 70E[20]: Working Distance.
BGI/GUV-I 5188[16]: Conductor Gap, Distance Factor, Working Distance, and Enclosure Type.
When an Arc-Flash Hazard Analysis is conducted using the IEEE-1584 method, PowerFactory calculates the arcing current based on the equations presented in the standard. PowerFactory calculates
DIgSILENT PowerFactory 15, User Manual
907
39.2.2
Data Inputs
The IEEE-1584 standard provides guidance on the selection of the Conductor Gap and Distance Factor.
Figure 39.2.1 shows the recommended values from the standard.
Figure 39.2.2 shows the terminal element dialog in PowerFactory 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 dialog.
908
Additional data required for Fault Clearing Times is discussed later in this chapter.
39.3
39.3.1
Calculation Method
One of the following may be selected:
according to IEEE-1584[18]
according to NFPA 70E[20]
according to BGI/GUV-I 5188[16]
Fault Location
One of the following may be selected:
At User Selection: selection of either a single location or a pre-defined set of locations.
At All Accessible Locations: locations are all terminals where Accessible Location is selected
on the Protection page of the element dialog.
DIgSILENT PowerFactory 15, User Manual
909
39.3.2
39.4
39.4.1
Results Boxes
Terminals can be coloured according to the calculated PPE category, and the calculated flash protection
boundary. To set the diagram colouring mode, select the Diagram Colouring icon, and then under 3.
Other, select Results, and the desired colouring mode.
Diagram Colouring
To show the default set of Arc-Flash results on the single line graphic (Boundary Distance, PPE Category, and Incident Energy), right-click the terminal results box and select Format for Short Circuit Nodes
Arc-Flash. Arcing current and fault clearing time results can also be displayed.
39.4.2
The Arc-Flash Reports (ComArcreport) dialog can be used to configure the output of tabular results
from an Arc-Flash calculation. Additionally, Database" and Template" files can be selected in order to
facilitate the preparation of Arc-Flash Hazard warning labels. The following inputs are available in the
Arc-Flash Reports dialog.
Create Label Database
If selected, Database and Template file names should be specified. A default template is selected by
PowerFactory. Note that the Database Excel file should not be open when Create Label Database has
been ticked and while the command is running.
Available Variables and Selected Variables
Variables to be included in the tabular report can be selected or deselected (in which case they will be
visible in the Available Variables pane.
Create Tabular Report
DIgSILENT PowerFactory 15, User Manual
911
39.4.3
Arc-Flash Labels
The Create Label Database option, handled by a DPL script, triggers an export of the selected variables
to a Microsoft Excel file at the selected location. After the export of label data, a copy of the given label
template will be stored at the same location as the Excel file and renamed accordingly (i.e. if the Excel
file is named ArcFlash.xls", the copy of the template will be named ArcFlash.doc"). If a template file
with this name already exists, the user will be prompted as to whether it should be overwritten. The
template copy will be opened after the export is complete. Microsoft Words Mail Merge feature can be
used to create a series of labels based on the template and the Excel data file. To link the template
copy with the database:
Go to the Mailings" tab, in the Start Mail Merge" group, and click on Select Recipients".
From the drop-down menu, select Use Existing List...", and then select the label database Excel
file.
Still on the Mailings" tab, in the Preview Results" group, click on Preview Results" to view the
label(s).
To store or print the finished labels, still on the Mailings" tab, in the Finish" group, click on Finish
& Merge".
For more information about the Mail Merge and how to create a template, refer to the MS-Word help.
Also note that data can be copied from the Flexible Data tab in the Data Manager in PowerFactory for
post-processing and creation of labels.
39.5
Consider the example network shown in Figure 39.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 39.5.2.
912
913
914
Chapter 40
Protection
40.1
Introduction
PowerFactory enables the user to define a protection scheme by integrating protective devices into the
system defined 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 specific 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 40.4)
Distance vs time plots (Time-distance diagrams. Refer Section 40.7)
Impedance plots (R-X diagrams. Refer Section 40.6)
Furthermore, PowerFactory allows for the creation of a protection single line diagram (refer Section 40.2.3)
for visualisation of the location of the protection devices within the network. PowerFactory also includes
a distance protection coordination assistant (refer Section 40.10) to automatically configure appropriate
settings for distance protection schemes.
This chapter will describe how setup a network model for protection analysis, how to use PowerFactory s
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 PowerFactory. Although it is not a pre-requisite for the user to have an understanding of the internal modelling
approach in order to use PowerFactory s basic protection functions, an understanding will help the user
to appreciate the structure of the dialogues encountered 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.
40.1.1
Protection devices form a group of highly complex and non-uniform power system devices. Any program
tasked with modelling these devices faces a difficult dilemma. On the one hand, the relay models should
be as flexible and versatile as possible to ensure that all types of protection 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 define power system protection devices.
This dilemma is solved in PowerFactory by modelling protection devices using a tiered approach consisting of three different levels. These levels are:
DIgSILENT PowerFactory 15, User Manual
915
40.1.2
The relay frame specifies 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 defined.
It defines 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 specified by the internal types
referenced by the slots.
Each slot is defined by the number of input and output signals. The signal lines define 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 40.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.
916
40.1. INTRODUCTION
40.1.3
The relay type associated with a specific relay frame, is defined by selecting a block definition for each
slot of the frame. Assigning a block definition to a slot converts the slot to a block, representing a
mathematical function which describes the behaviour of a physical element. For example, the type
of filter used for processing the input signals, or the type of relay operating characteristic. Because
many relays support more than one type of characteristic, a set of characteristics or functions can be
defined. In addition, the relay type specifies the ranges for the various relay settings, including whether
the parameters are set continuously or in discrete steps.
The relay type defines the library information for a specific 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 40.1.3 shows the type dialogue associated with an instantaneous overcurrent slot as an example.
Parameters that normally cannot be influenced by the user, like the Pick-up Time, are defined in the type
as well.
917
40.1.4
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 defined 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 40.1.4 shows the block element dialogue belonging to the type dialogue in Figure 40.1.3.
918
40.2
This section describes the procedures necessary for defining a protection scheme within PowerFactory.
It begins with a brief overview of the procedure followed by detailed instructions for how to define
protection devices within the PowerFactory model.
40.2.1
Overview
40.2.2
Protection devices in PowerFactory must be placed within cubicles (refer to Section 4.7.3 for more
information 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 40.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 40.2.1. This will
show a context sensitive menu.
(b) Choose New Devices 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 40.2.1. This will
show a context sensitive menu.
919
920
921
922
40.2.3
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 40.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.
40.2.3.1
923
40.2.3.3
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.
40.2.3.4
40.2.4
Protection devices can be added to the network model by placing them in the single line diagram directly
as described in Section 40.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.
924
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.
40.2.4.2
To locate protection devices using the built-in object filters 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
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.
40.3
Setup of an overcurrent
protection scheme
Section 40.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 define 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, 40.4 describes the use of the main tool for analysing overcurrent protection
schemes, the time-overcurrent diagram.
40.3.1
The basic data page in the relay model (ElmRelay ) dialogue is where the basic configuration of the
relay is completed. Generally it is required to complete the following steps:
Select the relay type (generic or manufacturer specific). Refer to Section 40.3.1.1.
Select the instrumentation transformers. Refer to Section 40.3.1.2
Enter the relay settings. Refer to Section 40.3.1.3.
925
To select a generic relay type from the relay basic data page:
1. Click the
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 configuration of the relay type. See Figure 40.3.1 for an
example of a basic overcurrent relay dialogue.
To select a manufacturer specific 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
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.
40.3.1.2
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
network 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 configuring a CT refer to
Section 40.3.3 and for configuring a VT refer to Section 40.3.4.
926
40.3.1.4
There are several other fields on the relay basic data page:
Application This field is for documentation and searching purposes only.
Device Number This field is also for documentation and searching purposes only.
Location By default these fields 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 automatic assignment of instrument transformers and the cubicle where any instrument transformers
created using the Create VT or Create CT buttons will be placed.
40.3.2
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.
927
40.3.3
A new current transformer (CT) can be created as described in section 40.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 40.3.2 will then appear.
928
929
The current transformer type dialogue, as depicted in Figure 40.3.3, defines the single phases of a CT.
The information about the connection of phases (Y or D) is defined in the CT element as discussed in
Section 40.3.3.
40.3.3.2
By default the CT measures the current within its parent cubicle. The Location fields Busbar and Branch
show information about the measurement location automatically. However, it is possible to configure the
CT to measure current in a different location. To do this:
930
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 final ratio from the primary
circuit to the CT secondary side the product of the ratios of the two CTs - this is indicated in the
field Complete Ratio. If you select another cubicle or switch then the CT will measure current at
location of the selected switch or cubicle.
40.3.4
A voltage transformer (VT) can be created as described in section 40.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 40.3.4 will then pop up.
931
40.3.4.1
The voltage transformer type, as depicted in Figure 40.3.7 defines the type of voltage transformer and
the ratio of the primary winding.
932
40.3.4.2
The secondary winding is defined by the secondary winding type, and is similar to the primary VT type
where multiple Secondary Tap ratios can be defined. The basic data page of the secondary winding
type is shown in Figure 40.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.
933
40.3.4.3
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 configure a PowerFactory VT in the same way. To define 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 40.3.9.
3. Click the
button.
4. Choose Select Project Type. . . . The type is a secondary winding type as described in Section 40.3.4.2.
5. Choose the Tap.
6. Select the Connection.
934
40.3.4.4
By default the VT measures the voltage within its parent cubicle. The Location fields Busbar and Branch
show information about the measurement location automatically. However, it is possible to configure the
VT to measure in a different location. To do this:
1. Click the
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 final ratio from the primary
circuit to the VT secondary side the product of the ratios of the two VTs - this is indicated in the
field Complete Ratio. If you select another cubicle or busbar then the VT will measure voltage at
location of the selected switch or cubicle.
40.3.5
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 specified 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
you would connect a line or transformer.
2. On the fuse dialogue (Figure 40.3.10), click the
(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
935
936
40.3.5.1
On the VDE/IEC Short-Circuit and Complete Short-Circuit pages there is the option to configure 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 36 for further
information.
On the Reliability page, the fuse can be configured for Fault separation and power restoration. These
options are explained in detail in Chapter 31.
40.3.6
Section 40.1 explained that all relay models contain slots which are placeholders for block (protection
function) definitions. 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 relay model is completed
by interconnecting these different slots containing block definitions in various ways. Hence it is possible
to produce relay models with a large variety of operating characteristics. Advanced users are able to
define their own types of protection device. The creation of user defined protection devices is covered
in the Section 40.13.
The blocks contained within a relay are listed in the slot definition section of the relay model dialogue.
DIgSILENT PowerFactory 15, User Manual
937
40.3.6.1
The measurement block takes the real and imaginary components of the secondary voltages and
currents 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 configured, 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 field is disabled.
For EMT simulations, the measurement block type can also be configured 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 filtering 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.
40.3.6.2
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 flow. 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.
938
The polarization quantity is rotated over the angle (MTA). The rotated polarization quantity
AOS defines 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 40.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 40.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.
40.3.6.3
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, definite time and
directional overcurrent relay functionality. The available setting ranges for the pickup and the time delay
are defined within the type. The relay characteristic is shown in Figure 40.3.14. The total tripping time
is the sum of the delay time and the pickup time also configured within the relay type.
939
The block will not reset until the current drops under the reset level, which is specified by the relay type
in percent of the pickup current: Ireset=IpsetKr/100%. See Figure 40.3.16 for a typical timing diagram.
940
40.3.6.4
The time-overcurrent block is a protection block that trips based on current exceeding a threshold
defined 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 defined within the block type. Typical curves are shown in
Figure 40.3.17.
941
The pickup current defines the nominal value Ip which is used to calculate the tripping time. The I-t
curve definition states a minimum and a maximum per unit current. Lower currents will not trip the relay
(infinite tripping time), higher currents will not decrease the tripping time any further. These limits are
shown in Figure 40.3.19.
942
The pickup current may be defined by the relay type to be a per unit value, or a relay current. The
nominal current defined by the measurement block (refer to Section 40.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 defined by the I-t curve is imin=1.1 I/Ip.
Suppose the measurement unit defines Inom=5.0 rel.A.
Suppose pickup current Ipset=1.5 p.u.
relay will not trip for < 1.10 1.5 5.0. = 8.25.
Suppose pickup current Ipset=10.0 rel.A
relay will not trip for < 1.1 10.0. = 11.0.
40.3.6.5
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
produces 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 specified within the logic block, the default behaviour is for the logic block to open the switch
within that cubicle. See Figure 40.3.20 for an example of the logic block settings dialogue.
943
40.4
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 simplified reporting of protection schemes, the time-overcurrent plot also supports visualisation of
the network diagram next to the plot like that illustrated in Figure 40.4.1. This diagram also shows the relevant protection relays and instrumentation transformers with a colour scheme that matches the colour
settings of the main diagram to enable easy identification of protection devices, their characteristics and
their position in the network being analysed.
944
Figure 40.4.1: Time-overcurrent plot showing the auto-generated graphic for the protection path
40.4.1
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
first 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 Section 40.4.7 for how to configure 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 showing the time-overcurrent plot with the defined 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.
DIgSILENT PowerFactory 15, User Manual
945
(c) Select Show Time-Overcurrent Plot. Refer to section 40.7 (The time-distance plot) for
more information on defining 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 40.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 defined 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.
40.4.2
40.4.3
The time-overcurrent plot shows the results of the short-circuit or load-flow 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-flow or short-circuit calculation is completed.
946
40.4.4
To show a grading margin line, which shows the difference between the tripping times of each protection 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 field. 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-defined 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 40.4.2
947
40.4.5
There are two ways to create a permanent vertical line on the time-overcurrent plot:
1. From any existing calculated short-circuit or load-flow calculated line:
(a) Right-click the line. A context sensitive menu will appear.
(b) Choose the option Set user defined. The line will now remain on the diagram when the
calculation is reset or another calculation is completed.
(c) Optional: Double-click the user defined line to edit its colour, width, style and alter the
displayed 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
configure the properties of the line.
(c) Optional: Adjust the line properties such as width, colour, style and set a user defined label.
(d) Press OK to add the line to the diagram.
40.4.6
The auto-generated protection diagram that is created when a time-overcurrent diagram is generated
from the protection path (see option 4 in Section 40.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.
40.4.7
40.4.7.1
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.
948
949
Figure 40.4.3: time-overcurrent plot showing an overcurrent characteristic including also the breaker
delay time.
40.4.7.2
Drag & Drop Step Sizes These are used to set the step change in the relay settings when a timeovercurrent plot is dragged with a continuous time dial or pickup current.
Time Range for Damage Curves This option defines 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 defines the fill style for fuse curves when they have a minimum and maximum melting time defined.
Number of points per curve The number of plotted points per curve can be increased to show additional 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-flow current.
40.4.8
The time-overcurrent plots can be used to alter the relay characteristics graphically. This section
describes various procedures used to alter such characteristics.
950
40.4.9
Often a complete relay characteristic is determined from a 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 definite time characteristic that is typically set for high fault
currents. To alter relay characteristics graphically, every protection device must first be split so that
all characteristics are visible on the time-overcurrent plot. Figure 40.4.4 shows an example of such an
overcurrent relay before it is split (left plot) and after it is split (right plot).
951
(a) Unsplit
(b) Split
952
40.4.9.1
The first step is to Split the relay characteristic. See Section 40.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 fields.
(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 defined within the
relay type, nor can they be dragged diagonally to simultaneously alter the time and current setting.
40.4.9.2
The time-overcurrent plot option dialogue (40.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 defined by the characteristic operating time plus the grading margin and the lower limit
of the envelope is defined by the characteristic operating time minus the grading margin. An example
is illustrated in Figure 40.4.5. The original characteristic is labelled 1", the new position as 2", and the
grading margins are labelled a".
953
40.4.10
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
40.4.10.1
40.4.10.2
The transformer damage curve dialogue is illustrated in figure 40.4.6, the user is able to add a damage
curve in accordance with ANSI/IEEE C57.109. This standard differentiates between the damage curve
954
955
() = =
(40.1)
Where:
rated current of the line or the damage curve input value [A]
956
Three-Phase
Single-Phase
Category I
Category II
Category III
Category IV
0.5
5.0
30.0
> 30.0
0.5
1.667
10.0
> 10.0
The thermal damage part of the curve is identical for all categories of the respective insulation type
and is shown in Table 40.4.2. (taken from IEEE Standards Board, IEEE Guide for Liquid-Immersed
Transformer Through-Fault-Current Duration, New York: The Institute of Electrical and Electronics
Engineers, Inc., 1993. and IEEE Guide for Dry-Type Transformer Through-Fault Current Duration, New
York: The Institute of Electrical and Electronics Engineers, Inc., 2002. )
Liquid-Immersed
/
[]
25
11.3
6.3
4.75
3
2
2
10
30
60
300
1800
Dry-Type
/ []
25
3.5
2
102
1
; 1 = 2, 0
(40.2)
1 2 1
2, 0
; 2 = 2 =
=
2
2
2
2
(40.3)
1 ) =
2 ) =
3 = 2 ; 3 =
Where:
957
= = .
fault current factor [-] = 0.7 for category II and = 0.5 for categories III and IV
Shift Factor
Fault Type
Dd
Dyn/Dzn
Yyn/Zyn/Zzn
0,87
0,58
0,67
Ph-Ph
Ph-E
Ph-E
(2, 0) =
(40.4)
Where:
[1]
[1]
( ) =
(40.5)
[2]
[2]
( ) =
958
(40.6)
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.
40.4.10.3
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.
(40.7)
() =
Where:
() =
(40.8)
Where:
() =
(40.9)
959
conductor/insulation parameter [
2 / 2 ]
The conductor/insulation parameter can be provided by the user or calculated according to the standards equations as follows:
IEC/VDE equations [19]:
= 1
ln(1 +
)
2 +
(40.10)
1 log
+ 2
+ 2
(40.11)
Where:
1
initial temperature [ C]
Note: Both equations for the conductor/insulation parameter are slightly adapted (from the original form
in the standards) to fit into the same form of equation.
The values for the material constants can be taken from the table below.
Standard
Conductor Material
1
2
IEC/VDE
Copper
226
234.5
ANSI/IEEE
Aluminium
148
228
Copper
0.0297
234
Aluminium
0.0125
228
The initial temperature and final temperature and mainly depend upon the insulation of the
conductor. The initial temperature is usually the maximum allowable continuous current temperature,
whilst the final temperature is the maximum allowable short circuit temperature. Typical values for
and are given in table 40.4.5.
960
Initial
temperature
( C)
Final
temperature
( C)
1-6kV: belted
10-15kV: belted
10-15kV: screened
20-30kV: screened
PVC: 1 and 3kV
80
65
70
65
160
160
160
160
Up to 300mm2
Over 300mm2
XLPE and EPR
70
70
90
160
140
250
Paper
Table 40.4.5: Typical cable initial temperature and final temperature values (data from the BICC Electric
Cables Handbook 3rd edition)
The option user defined may also be selected in the calculate K field of the dialogue, allowing the user
to enter a value for K manually. The dialogue for doing this is illustrated in figure 40.4.8.
Alternatively, rated short-circuit current and time may be entered if Rated Short-Time Current is entered
as the input method.
If the user wishes to define an alternative conductor/cable damage curve this can be achieved by
selecting User Defined curve New project type.
Skin effect ratio or ac/dc ratio is a constant as defined in the NEC electrical code. The value is used
when carrying out calculations to IEEE/ANSI standards and is not typically referred to by IEC/VDE
DIgSILENT PowerFactory 15, User Manual
961
The user then has the option to define the overload curve according to ANSI/IEEE standards by
selecting the relevant checkbox. The equation used is as follows:
( )2
0 0
0
+
+
(40.12)
Where,
= Max overload temperature
= Normal current rating
0 = Preload current
= Max overload temperature
= Max operating temperature
0 = Ambient temperature
= Zero resistance temperature value, (234 for copper, 228 for aluminium)
= A constant dependant on cable size and installation type.
962
( )2
1 0
(40.13)
Where the variables are the same as in the previous equation. A constant designated as tau is
requested in the dialogue. This is identical to the constant k except k has units of hours, while tau
has units of seconds.
Inrush Curve
The inrush curve represents the amount of current that will flow into the conductor when the conductor
is energised. The curve consists of one point only.
( ) =
(40.14)
Where:
rated current of the line or the damage curve input value [A]
40.4.10.4
A motor starting curve is illustrated in figure 40.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.
963
The characteristic currents and durations given in the edit dialogue result in a step wise motor start
current plot, as depicted in Figure 40.4.11.
(40.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.
() = =
(40.16)
Where:
() = =
(40.17)
Where:
() = =
DIgSILENT PowerFactory 15, User Manual
(40.18)
965
() =
(40.19)
Where:
Synchronous Motors
The motor starting curve can be created for synchronous motors. Since synchronous motors are
started in asynchronous operation, the curve is identical to the asynchronous motor starting curve.
The parameter mapping for the synchronous machine is as follows:
Motor
Curve
Rated Power
Rated Voltage
Locked Rotor
Current (Ilr/In)
Starting
Parameter
Srat
Urat
aiazn
Asynchronous
Motor
Synchronous
Motor
Parameter
t:sgn
t:ugn
t:aiazn
Parameter
t:sgn
t:ugn
1 / (t:xdsss)
40.5
Section 40.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 define in the dialogue
966
40.5.1
The basic data page in the relay model (ElmRelay ) dialogue is where the basic configuration of the
relay is completed. The procedure is the same as that used for setting up the over-current relay. Refer
to Section 40.3.1.
40.5.2
It is always possible to enter the reach setting/s of the distance mho (refer Section 40.5.3.3) and distance
polygon (refer Section 40.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 configured 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 effect of altering the CT or VT ratio without
having to modify the PowerFactory CT and VT objects.
40.5.3
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 40.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.
967
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 configuration 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 (0) and mutual earth fault (0)
compensation 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 40.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.
968
40.5.3.2
The starting block is used exclusively in distance relays as a means to detect fault conditions. It can be
configured 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 40.5.2.
969
Further information about the starting block is available in the technical reference available from the
support area of the DIgSILENT website.
40.5.3.3
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
following types of mho characteristics:
Impedance
Impedance (digital)
Impedance Offset
Mho
Mho Offset Mta
Mho Offset X
Mho Offset Generic
Mho Offset 2 X
970
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 finds
the next terminal with type busbar", or a terminal inside a substation, or another protection device.
If the protected zone" consists of multiple parallel paths, the displayed impedance is the one, out
of all branches, with the largest impedance.
The distance mho block does not have a time dial internally, instead it is connected to an external
timer block (refer Section 40.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.
DIgSILENT PowerFactory 15, User Manual
971
Most modern numerical distance protection relays tend to support a so-called polygonal (also called
a quadrilateral) characteristic. The benefit of such characteristics is that they allow the definition of
independent resistive and reactive reaches. In particular, the ability to specify a large resistive reach is
a benefit for protecting against resistive faults.
Many modern relays also support other sophisticated features such as tilting polygons and double
directional elements to constrain the impedance characteristic to a more specific 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 specified by the type and would have been defined by the developer of the relay
model.
An example of the dialogue for the polygonal (beta) characteristic in PowerFactory is shown in Figure 40.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 defined. 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 separate directional block. There is a convenient Directional Unit button that
gives access to the relevant directional unit directly from the polygonal dialogue.
972
40.5.3.5
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 specific block.
The block has relatively simplistic functionality for steady state simulations, but can be configured 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 40.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.
973
Further technical information about the timer block can be found in the technical reference on the
download area of the DIgSILENT website.
40.5.3.6
Many modern numerical distance protection relays include a so-called load encroachment feature. 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 40.5.6. In this block the user is only
required to set reach and angle.
40.5.3.7
In PowerFactory the power swing block can be configured 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.
974
The power swing area can be configured using internal polygonal characteristics of which the ABB
and Siemens types are supported. Or alternatively, it can also be configured 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 40.5.8.
Note: Out of step protection can also be configured with mho elements instead of polygonal elements.
975
976
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 specific
implementation details for each of these types.
40.6
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.
40.6.1
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.
DIgSILENT PowerFactory 15, User Manual
977
40.6.2
An example R-X diagram with two relays is shown in Figure 40.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 40.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 40.6.3.5 for instructions how to enable this.
The overall tripping time of each relay (shown in the coloured legend).
Figure 40.6.1: A R-X plot with short-circuit results and two relays
Note the information shown on the plot can be configured by altering the settings of the R-X plot. Refer
to Section 40.6.3).
978
40.6.3
There are several ways to alter the appearance of the R-X diagram. Many configuration 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 40.6.2.
40.6.3.1
979
Section 40.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 rightclicked.
40.6.3.3
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.
40.6.3.4
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
configuring 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 effect 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 specified
in the Unit field. If the Distance (see below) field 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 PowerFactory 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 field is constant
increasing the distance effectively zooms into the displayed characteristics.
x-Min. This field 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 specified 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 fit all the displayed
characteristics, or click Impedances to adjust the scale to fit all displayed network impedances.
980
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 configures whether starting elements will be displayed on the diagram.
Overreach zones This checkbox configures whether overreach elements will be displayed on the
diagram.
Power Swing This checkbox configures whether power swing elements will be displayed on the diagram.
Load Encroachment This checkbox configures whether load encroachment elements will be displayed
on the 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-flow or short-circuit current/equivalent
impedance will be displayed. The options are a short-circuit Arrow, a Cross or to Hide it completely.
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 specifies the length of blinder units on the plot in secondary Ohms.
981
40.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 displayed 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.
40.7
The time-distance plot VisPlottz shows the tripping times of the relays as a function of the short-circuit
location. It is directly connected to a path definition so it can only be created if a path is already defined.
A path in a single line diagram is defined by selecting a chain of two or more busbars or terminals and
inter-connecting objects. The pop-up menu which opens when the selection is right-clicked will show a
Path . . . option. This menu option has the following sub-options:
New this option will create a new path definition
Edit this option is enabled when an existing path is right-clicked. It opens a dialogue to alter the colour
and direction of the path
Add To this option will add the selected objects to a path definition. The end or start of the selected
path must include the end or start of an existing path.
Remove Partly This will remove the selected objects from a path definition, as long as the remaining
path is not broken in pieces
Remove This will remove the firstly found path definition of which at least one of the selected objects
is a member
There are a number of ways to create a time-distance diagram but it is should be noted that in each case
a path must first be defined and furthermore, highlighted in the single line diagram. The elements which
belong to a particular path can be highlighted by setting the colour representation of the single-line
diagram to Protection tab Other Groupings Paths. To create the diagram either:
Right-click an element which is already added to a path definition. From the context 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 sensitive menu. As above, this will create a new object VisPlottz.
Path object SetPath can be chosen in the data manager under Database Projectname Paths.
Select the Paths" folder and right-click the path object on the right side of the data manager. Then
select Show Time-Distance Diagram from the context sensitive menu.
DIgSILENT PowerFactory 15, User Manual
983
Figure 40.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:
Forward/Reverse Both diagrams are shown.
Forward Only forward direction diagram
Reverse Only reverse direction diagram
40.7.0.2
The path axis in Figure 40.7.2 shows the complete path with busbar and relay locations. Busbars/Terminals are marked with a tick and the name. The coloured boxes represent relays and the left or right
alignment represents their direction.
984
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 timedistance plot dialogue and edit the Methods option on the Relays page.
The methods differ in exactness and speed. The set of possible units for the x-Axis depends on the
method used. The methods are:
Short-circuit sweep method The short-circuit sweep method is the most accurate method for charting
the variation in relay tripping time with fault position. A routine is followed whereby short circuits
are assumed to occur at numerous positions between the first and the last busbar in the path.
At each short-circuit location the relay tripping times are established. The user can control the
distance between simulations to ensure adequate resolution. Furthermore there is a control
strategy employed within the routine to ensure that step changes in operation time are not missed.
The disadvantage of this method is 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 reflect the true time current plot. The possible units for the short-circuit
location are position in km or reactance, resistance and impedance, each in primary or relay ohm.
985
40.7.0.4
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 ShcCalc... in the context menu of the plot or by the Shc-Calc... button in the Time Distance Plot edit
dialogue.
Some of the settings in the command are predefined by the time-distance plot. These settings are
greyed out when the sweep command is accessed through the plot. The short-circuit 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.
40.7.0.5
There are number of possible distance axis units available depending on the method used. See
the methods description for details. The short-circuit sweep method needs a relay to measure the
impedance which is named the reference relay. If there is no reference relay selected, the distance is
measured from the beginning of the path.
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.
40.7.0.6
The distance axis positions or impedances are calculated relative to the beginning of the path. If a
reference relay is set the positions/impedances are relative to the reference relay. The sweep method
always needs a reference relay. If no reference relay is set, the first relay in the 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
986
40.7.0.7
Capture relays
The Capture Relays button enables the user to easily add relays in the selected path to the timedistance diagram. In order to delete a relay from the diagram, the respective line in the relay list has to
be deleted.
40.7.0.8
Double-click positions
40.7.0.9
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 definition (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.
40.8
Section 40.2.2 explained how to setup a protection device in PowerFactory . After a relay has been
created within the network model there are a number of parameters to define in the dialogue which
appears. This section will describe the basic steps that should be completed in order to specify these
DIgSILENT PowerFactory 15, User Manual
987
40.8.1
The basic data page in the relay model (ElmRelay) dialogue is where the basic configuration of the relay
is completed. The procedure is the same as for setting up an over-current relay. Refer to section 40.3.6.
40.8.2
This section provides a brief overview of some of the basic protection blocks that can be found within differential relays in PowerFactory . This section only describes those blocks that are unique to differential
relays. This manual offers only 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.
40.8.2.1
Differential block
The differential block is used for defining the devices operate/restraint characteristic. The differential
thresholds, the restraint slopes [%], the slope threshold limit, the slope restraint shape, the restraint
current calculation logic and the differential trip delay can all be set in the differential block element.
Figure 40.8.1 shows the Basic Data" page of the differential block (RelBiasidiff).
Inside the Differential Block Type (TypBiasidiff) the user can also select the type of the block. This can
have a large impact on graphical presentation of parameters of the differential protection (see Section
40.9).
A Harmonic blocking feature is available for use during EMT simulation if the relevant harmonic currents
inputs are available. If at least one of the harmonic input currents is above the relevant harmonic
threshold the differential trip of the block is inhibited.
988
CT Adapter block
A CT Adapter block can be used where the ratio of a CTs supplying a differential relay need to be
normalised. e.g. for a transformer differential protection where the CTs are located at different voltage
levels and where a vector rotation may be introduced by the winding arrangement.
Two different types of CT adapter blocks are available: a 3 phase CT adapter and a single phase CT
adapter.
A CT Adapter block can be connected:
To the outputs of a measurement block to simulate the behaviour of a microprocessor differential
device which internally compensates the currents coming from CTs
Directly to the CT outputs to simulate the CT adapter for differential devices which do not include
a microprocesser.
40.9
Differential Plots
(c) Select Show Differential Protection Plot or Show In existing Protection Plot.
989
40.9.1
Figure 40.9.1: PowerFactory magnitude biased differential diagram for 3ph differential protection
element
990
40.9.2
A phase comparison differential diagram is available for the following types of differential blocks:
3ph Phase Comparison
1ph Phase Comparison
The Restraint Region depends upon the differential element (RelBiasdiff" class) settings and is also
available when no calculation has been executed. The differential current vector is calculated by the
differential element and is available only when a calculation has been executed.
Figure 40.9.3: Example of PowerFactory Phase comparison differential diagram for differential protection element of the type 3ph Phase Comparison
DIgSILENT PowerFactory 15, User Manual
991
40.10
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.
40.10.1
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 configuring 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
992
Figure 40.10.1: Example simplified transmission system for the protection coordination example
The coordination assistant will determine the settings for three zones and an overreach zone for each
DIgSILENT PowerFactory 15, User Manual
993
40.10.1.1
Independent method
(40.20)
2 = 1 + 2 2
(40.21)
3 = 1 + 2 + 3 3
(40.22)
where is the impedance setting for the zone, is the impedance of the respective line and
is the entered zone factor. Note that all impedances are complex.
In the case that the first stage has parallel lines (as in a double circuit) then the calculation of the reactive
component is as follows:
1 = 1 1
(40.23)
2
2
= 1 + 2 2
2 = 1 + 2
(40.24)
(40.25)
The calculation of the resistive component is the same as the case where there is no parallel line in the
first stage.
40.10.1.2
Cumulative method
This method comes from [22]. The zone impedances are determined as follows:
1 = 1
(40.26)
2 = 1 + 2 ( )
(40.27)
3 = 2 + 3 ( )
(40.28)
where is the impedance setting for the zone, is the impedance of the respective line and is
the entered zone factor. Note that all impedances are complex.
In the case that the first stage has parallel lines (as in a double circuit) then the calculation of the reactive
components are as follows:
1 = 1
(40.29)
2
= 1.1 (1 + 2 )
2 = 1 + 2
(40.30)
(40.31)
The calculation of the resistive component is the same as the case where there is no parallel line in the
first stage.
994
In this method, all the calculated zone impedances are based the impedance of the first protected line
and the entered zone factors. The zone impedance settings are calculated as follows:
1 = 1 1
(40.32)
2 = 1 2
(40.33)
3 = 1 3
(40.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.
40.10.1.4
Overreach setting
The calculation of the overreach setting is identical for all three calculation methods:
= 1
(40.35)
40.10.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:
= +
(40.36)
where is the calculated resistance for the zone, is the Phase-Phase correction factor and is
the prospective Fault Resistance.
The Phase-Earth impedance is calculated as follows:
= +
(40.37)
=
3
(40.38)
(40.39)
40.10.2
(40.40)
Using the example in Figure 40.10.1, and the formulas developed in Section 40.10.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 40.10.1.
DIgSILENT PowerFactory 15, User Manual
995
X ()
Rp ()
Re ()
Z ()
1
2
3
Overreach
8.500
14.000
25.500
12.000
0.850
1.400
2.550
1.200
0.850
1.400
2.550
1.200
8.542
14.070
25.627
12.060
84.289
84.289
84.289
84.289
Table 40.10.1: Calculated zone settings for location 1 in Figure 40.10.1 using the Impedance option of
the Independent method
If using the cumulative method, the results would be as shown in Table 40.10.2.
Stage
X ()
Rp ()
Re ()
Z ()
1
2
3
Overreach
8.500
12.113
21.324
12.000
0.850
1.211
2.132
1.200
0.850
1.211
2.132
1.200
8.542
12.173
21.431
12.060
84.289
84.289
84.289
84.289
Table 40.10.2: Calculated zone settings for location 1 in Figure 40.10.1 using the Impedance option of
the Cumulative method
If using the Referred to Line 1 method, the results would be according to Table 40.10.3.
Stage
X ()
Rp ()
Re ()
Z ()
1
2
3
Overreach
8.500
8.000
7.000
12.000
0.850
0.800
0.700
1.200
0.850
0.800
0.700
1.200
8.542
8.040
7.035
12.060
84.289
84.289
84.289
84.289
Table 40.10.3: Calculated zone settings for location 1 in Figure 40.10.1 using the Impedance option of
the Referred to Line 1 method
Consider now the case where the first stage consists of parallel lines as shown in Figure 40.10.2. In this
case, the formulas used for calculating the stage settings are different as discussed in Section 40.10.1.
Consequently, for the Independent method using the Impedance method the results from the coordination assistant are as shown in Table 40.10.4.
996
Figure 40.10.2: Path with a double circuit between the first two busbars
Stage
X ()
Rp ()
Re ()
Z ()
1
2
3
Overreach
8.500
12.000
14.000
12.000
0.850
1.400
2.550
1.200
0.850
1.400
2.550
1.200
8.542
12.081
14.230
12.060
84.289
83.346
79.677
84.289
Table 40.10.4: Calculated zone settings for location 1 in Figure 40.10.2 using the Impedance option of
the Independent method
The results for the cumulative method are shown in Table 40.10.5.
Stage
X ()
Rp ()
Re ()
Z ()
1
2
3
Overreach
8.500
10.625
16.500
12.000
0.850
1.211
2.132
1.200
0.850
1.211
2.132
1.200
8.542
10.694
16.637
12.060
84.289
83.496
82.636
84.289
Table 40.10.5: Calculated zone settings for location 1 in Figure 40.10.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 40.10.6.
997
X ()
Rp ()
Re ()
Z ()
1
2
3
Overreach
8.500
14.000
25.500
12.000
3.500
4.000
5.500
1.200
6.000
6.500
8.000
1.200
9.192
14.560
26.086
12.060
67.620
74.055
77.829
84.289
Table 40.10.6: Calculated zone settings for location 1 in Figure 40.10.1 using the Reactance option of
the Independent method
40.10.3
Before starting the distance protection coordination assistant, ensure the following:
1. A network model of the area has been completed in PowerFactory .
2. Define 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.
40.10.4
2. Select Protection.
3. Click the
icon and choose Select Path(s). A dialogue showing the available protection paths
4. Click the
will appear.
5. Select one or more paths and click OK.
6. Optional: Choose one of the options for Protection Topology. See Section 40.10.5 for an explanation 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 40.10.6.
40.10.5
This section explains the options in the distance protection coordination tool.
998
Protection Topology If According to network topology is selected the assistant will automatically determine settings for every cubicle in the protection path. If According to installed Protection devices
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.
40.10.5.2
Zone Factors See Section 40.10.1 for an explanation of how this option affects the settings determination.
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 40.10.1 for an explanation
for how these factors affect the results of the analysis.
Zone Factors See Section 40.10.1 for an explanation of the effect of the zone factors.
40.10.5.3
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 clarified by referring to Figure 40.10.3. If the first 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 is
chosen, then Line-2X would be used for the zone 3 stage calculation.
999
Figure 40.10.3: Distance protection coordination network with additional parallel lines between bus 2
and 3 and between bus 3 and 4.
40.10.6
This section explains how the results from the distance protection coordination assistant can be analysed. 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 40.10.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 Table 40.10.1. See Section 40.10.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 40.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:
1000
40.10.6.1
Enabling the option Create Report when outputting the coordination results as described in Section 40.10.6,
automatically generates a table report showing the results from the previously executed protection
coordination. 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.
icon and select either Export as HTML for HTML
To output these results to Excel or to HTML click the
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.
40.10.6.2
Enabling the option Create Report when outputting the coordination results as described in Section 40.10.6,
automatically generates a time distance diagram showing the results from the previously completed
protection 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 40.10.4.
Note that the plot display can be configured by double-clicking the diagram. For further information
about time distance diagrams refer to Section 40.7.
1001
Figure 40.10.4: Time distance diagram showing the result from the protection coordination using the
independent method on the network shown in Figure 40.10.1
40.10.6.3
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
/ 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.
40.11
Accessing results
After all protection devices have been configured and graded, it is often desirable to create reports for
future reference. Aside from exporting the time-overcurrent, R-X or time-distance plots as graphical files
1002
40.11.1
In most of the protection projects, protection plots are indispensable. That is why some relays can
appear in various different protection diagrams or why some projects can posses huge number of plots.
To minimize possibility of confusion, there is an option that allows us to directly jump into all existing
protection plots that contain the relay of interest.
To quick access the protection plots for some specific relay user should select Show In existing
Protection Plots option out of context menu. This can be called from Object Filter (see Figure 40.11.1)
or directly out of network graphic (see Figure 40.11.2).
1003
In the case that the Relay appears in more then one diagram, after selection In existing Protection Plots,
user can select which diagram he is interested in (see Figure 40.11.3).
40.11.2
A report command specifically for protection can be accessed by either clicking on the Output of
Protection Settings icon on the Protection toolbar or alternatively via the Output" entry in the main
menu.
1004
In this page the user chooses which equipment to generate reports for. First the user chooses general
classes of equipment from the options below:
Instrument Transformers
Overcurrent Protection
Distance Protection
Voltage Protection
DIgSILENT PowerFactory 15, User Manual
1005
The decimal precision section can be used to define the number of decimal places to which results are
given in the tabular reports. The precision for each unit can be defined individually.
The layout options section is used to configure the layout for each report. Depending on whether they
are selected, "Device, Location and Branch" will be the first three columns of the report.
If the show instrument transformers option is selected, additional columns will be added to the overcurrent, distance, voltage and frequency protection reports showing details of the instrument transformers.
1006
The Over-/Undercurrent and Over-/Undervoltage sections of this page can be used to define whether
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 specified number of phase and
earth fault protection stages.
One the ComProtreport dialogue has been configured it can be executed.
The Tabular Report
DIgSILENT PowerFactory 15, User Manual
1007
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.
40.11.3
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
The first option (Relays), which is always available, will show the names of the relays in all cubicles.
The second option will show the tripping times of the relays after a load-flow or short-circuit calculation
has been carried out. If a relay does not trip, then a tripping time of 9999.99 s is shown.
It is also possible to colour the single line graphic depending on the tripping time of the protective
devices installed. This feature can be activated by clicking the diagram colouring button from the local
graphics window icon bar, then selecting: the protection tab 3. Others Results Fault clearing
time.
1008
40.12
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 flow of fault current, is taken into consideration.
Consider a network as illustrated in Figure 40.12.1:
Suppose that for a particular fault at bus 4, the relay controlling circuit breaker 1 trips significantly 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
DIgSILENT PowerFactory 15, User Manual
1009
40.12.1
A command specifically 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 40.12.2:
1010
A link to the short circuit command (ComShc) to be used for the calculation is automatically generated.
This command is described in detail in the Chapter 22. Please note that for the Short Circuit Trace
function, some options are fixed. For instance, only the complete short circuit method may be selected.
The Short-Circuits part of the page is used to define the short circuit events to be applied at the
beginning of the calculation. The following kinds of events may be specified.
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 specified 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 40.12.3.
40.13
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 definition for the relay frame
Select file New Block Diagram / Frame...
A dialogue as illustrated in figure 40.13.1 will appear.
1011
1012
1013
1014
1015
1016
1017
1018
1019
40.14
This section covers some of the other protection block not so far covered in the discussion throughout
the chapter so far.
40.14.1
The frequency measurement unit is used to calculate the electrical frequency for the given Measured
Voltage. The Nominal Voltage is needed for per unit calculations. The Frequency Measurement Time
defines the time used for calculating the frequency gradient.
1020
40.14.2
The frequency block either trips on an absolute under-frequency (in Hz), or on a frequency gradient (in
Hz/s). Which condition is used depends on the selected type. The type also defines the reset time,
during which the defined frequency conditions must be present again for the relay to reset.
The time delay set in the relay element defines the time during which the defined frequency condition
must be violated for the relay to trip. See Figure 40.14.2.
40.14.3
The under-/overvoltage relay type may define the block to trip on either
One of the three phase line to line voltages
One particular line to line voltage
The ground voltage 0 .
The positive sequence voltage 1
The negative sequence voltage 2
The relay element allows only for setting of the pickup voltage and the time delay. See Figure 40.14.3.
1021
1022
Chapter 41
Network Reduction
41.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
analysed, but cannot be studied independently of the larger network. In such cases, one option is
to model both networks in detail for calculation purposes. However, there might be situations when
it is not desirable to do studies with the complete model. For example, when the calculation times
would increase significantly or when the data of the neighbouring network is confidential and cannot be
published.
In these cases, it is common practice to provide a simplified 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-flow 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
flow and short-circuit calculations, including asymmetrical faults such as single-phase faults.
The chapter is separated into five parts. Firstly, the technical background of the PowerFactory Network
Reduction algorithm is explained. Section 41.3 discusses the steps needed to run a Network Reduction
and Section 41.4 explains in detail each of the options of the PowerFactory Network Reduction tool.
The penultimate part, Section 41.5, presents a simple example and the final section provides some tips
and tricks to consider when working with the Network Reduction tool.
41.2
Technical Background
Some additional technical background on the Network Reduction tool is provided in the following sections.
41.2.1
Network reduction for load flow is an algorithm based on sensitivity matrices. The basic idea is that the
sensitivities of the equivalent grid, measured at the connection points in the kept grid, must be equal to
the sensitivities of the grid that has been reduced. This means that for a given (virtual) set of P and
Q injections in the branches, from the kept grid to the grid to be reduced, the resulting u and
DIgSILENT PowerFactory 15, User Manual
1023
41.2.2
Network reduction for short-circuit is an algorithm based on nodal impedance / nodal admittance
matrices. The basic idea is that the impedance matrix of the equivalent grid, measured at the connection
points in the 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 defined
tolerance).
This must be valid for positive sequence, negative sequence, and zero sequence cases, if these are to
be considered in the calculation (unbalanced short-circuit equivalent).
41.3
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 define the interior and exterior regions.
2. Create a backup of the project intended for reduction (optional).
3. Activate the additional tools toolbar and configure the Network Reduction Tool options.
4. Run the Network Reduction Tool.
You must define a boundary before you can proceed further with the Network Reduction. This process is
described in detail in Chapter 13 Grouping Objects, Section 13.3 (Boundaries). However, to summarise,
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 41.4: Network Reduction
Command.
41.3.1
By default, the Network Reduction tool keeps all the original network data and the modifications needed
to reduce the network are stored within a new expansion stage that is part of a new variation. It will
only destroy the original data if the associated option within the command is configured for this (see
Section 41.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
1024
41.3.2
This sub-section describes the procedure you must follow to run the Network Reduction using the default
options. Proceed as follows:
1. Activate the base Study Case for the project you wish to reduce.
2. Define a boundary that splits the grid into the part to be reduced (interior region), and the part to
be kept (exterior region). See Section 13.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
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 41.4 (Network Reduction Command). However, the default
options are recommended, unless you have a specific reason for changing them.
8. Press the Execute button to start the reduction procedure.
Figure 41.3.1: The Network Reduction Button in the Additional Tools Icon Bar
41.3.3
This sub-section describes the expected output of the network reduction tool after successfully executing it. The output varies depending on whether the reduced project was created in V13.2 or earlier and
contains system stages, or if it was created in V14.0 or higher. Both output scenarios are explained
DIgSILENT PowerFactory 15, User Manual
1025
Figure 41.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.
; and
41.4
41.4.1
Basic Options
This section describes the options on the Basic Options page of the Network Reduction command as
shown in Figure 41.4.1.
1027
Boundary
This selection control refers to the boundary that defines the part of the grid that shall be reduced by
the reduction tool. Note, the project Boundaries folder might contain many boundaries, but you must
select only one boundary from this folder. This selected boundary must separate the original grid into
two parts, the part that shall be reduced (interior region) and the part that shall be kept (exterior region).
For more information about boundaries, please refer to Section 13.3 (Boundaries).
Load Flow
Calculate load flow equivalent If this option is enabled, the load flow equivalent model will be
created by the reduction tool. This option is enabled by default.
Equivalent Model for Power Injection The load flow equivalent is composed of mutual impedances
between boundary nodes and power injections (and shunt impedances) at boundary nodes. The
power injection can be represented by different models. For the load flow equivalent there are
three options (models) available:
Load Equivalent: a load demand.
Ward Equivalent: an AC voltage source which is configured as a Ward Equivalent.
Extended Ward Equivalent: an AC voltage source which is configured as an Extended
Ward Equivalent.
Short-Circuit
Calculate short-circuit equivalent If this option is enabled, the short-circuit equivalent model
will be created by the Network Reduction tool. Currently, only the complete short-circuit calculation method is supported.
Asymmetrical Representation This option is used to specify whether an unbalanced shortcircuit 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
1028
41.4.2
Outputs
The section describes the options available on the Outputs page of the Network Reduction command
as shown in Figure 41.4.2. These options define how the Network Reduction command modifies the
network model.
Calculation of Parameters Only The equivalent parameters are calculated and reported to the
output window. If this option is selected then the Network Reduction command does not modify
the network model.
Create a new Variation for Reduced Network (Default) The equivalent parameters are calculated and a Variation will be automatically created to store the reduced network model. If the
project already includes System Stage(s) (from PowerFactory version 13.2 or earlier versions)
then System Stage(s) will be created instead of a Variation.
Reduce Network without Creating a New Variation The Network Reduction command will
directly modify the main network model if this options is selected. Therefore, this option will
destroy data by deleting the interior region of the selected boundary, and replacing it with its
reduced model, so this option should be used with care. To avoid losing the original grid data,
backup the project as described in Section 41.3.1 (How to Backup the Project (optional)).
41.4.3
Advanced Options
This section describes the Advanced Options for the Network Reduction command as shown in Figure 41.4.3.
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
1029
41.5
This section presents a Network Reduction example using a small transmission network feeding a
distribution system from bus 5 and bus 6 as shown in Figure 41.5.1. The distribution system is
represented by Load A and Load B and the corresponding two transformers. As a user you would
like to study the distribution system in detail but are not concerned with the detailed power flow within
the transmission system. Therefore, the Network Reduction tool can be used to create a equivalent
model for the transmission system.
The interior region (the area that shall be reduced) is shown shaded in grey, whereas the non-shaded
area is the exterior region that shall be kept. The procedure for completing the Network Reduction
according to these parameters is as follows (you can repeat this example yourself using the nine bus
system within the PowerFactory Examples - the network used in the example is slightly modified from
this):
1030
1. Select cubicles that will be used to define the boundary. These are highlighted in Figure 41.5.2.
(Use the freeze mode to make selection of the cubicles easier.)
1031
1032
41.6
This section presents some tips for using the Network Reduction tool and some solutions to common
problems encountered by users.
41.6.1
Sometimes a interior region might be defined such that it contains the reference bus of a station
controller. The generators belonging to this station controller are in the exterior region. During the
reduction process the reference bus will be reduced (removed) from the model, yet the station controller
and generators will remain part of the new system. In such a situation, attempting to run a load-flow
after the reduction will fail with an error message similar to that shown in Figure 41.6.1.
1033
41.6.2
By default, the boundary definition search stops when encountering an open breaker. This means that
isolated areas can sometimes be excluded from the interior region and therefore are not reduced by the
Network Reduction tool. The solution to this problem is to disable the boundary flag Topological search:
Stop at open breakers. This option is enabled by default in all boundary definitions. It is recommended
to disable it before attempting a Network Reduction.
A related problem occurs with the project setting (Edit Project Project Settings Advanced Calculation Parameters) Automatic Out of Service Detection. It is recommended that this option is disabled
before attempting a Network Reduction. However, it is disabled by default, so if you have not made
changes to the default project settings you should not need to make any changes to this setting.
41.6.3
The Network Reduction tool will not reduce a reference machine defined within the interior region. It
also leaves all network components that are topologically one bus removed from the reference machine
(and of non-zero impedance). For example, if the reference machine is a typical synchronous machine
connected to the HV system through a step up transformer, then the reduction tool will leave the
synchronous machine, the LV bus, the step up transformer and the HV bus within the reduced network.
It is recommended that the reference machine is found within the exterior region before attempting a
Network Reduction. The reference machine can be identified by checking the output window following
a successful load-flow calculation as illustrated in Figure 41.6.2.
Figure 41.6.2: Output window showing the load-flow command output and the indication of the reference
machine
1034
Chapter 42
State Estimation
42.1
Introduction
The State Estimator (SE) function of PowerFactory provides consistent load flow results for an entire
power system, based on real time measurements, manually entered data and the network model.
Before any further analysis, such as contingency analysis, security checks etc. can be carried out, the
present state of a power system must be estimated from available 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
profit by redundant measurements for improving the accuracy of the estimated network state.
The states that can be estimated by the State Estimator on the base of the given 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
1035
42.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 flow result matches as close as possible with the measured branch
flows and bus bar voltages. Mathematically, this can be expressed with a weighted square sum of all
deviations between calculated (calVal) and measured (meaVal) branch flows and bus bar voltages:
() =
)2
(
=1
(42.1)
where:
= ( /100)
The state vector contains all voltage magnitudes, voltage angles and also all variables to be estimated,
such as active and reactive power injections at all bus bars.
Because more accurate measurements should have a higher influence to the final results than less
accurate measurements, every measurement error is weighted with a weighting factor wi to the standard
deviation of the corresponding measurement device (+transmission channels, etc.).
In this setting, the goal of a state estimator is to minimise the above given function f under the side
constraints that all load flow equations are fulfilled.
42.3
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 Optimisation)
Figure 42.3.1 illustrates the algorithmic interaction of the different components. The first Preprocessing
phase adjusts all breaker and tap positions according to their measured signals.
1036
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 optimisation problem. PowerFactory provides various ways for copying with nonobservable 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 socalled "Bad Data Detection": the error of every measurement device can be estimated by evaluating
the difference between calculated and measured quantity. Extremely distorted measurements (i.e.
the estimated error is much larger than the standard deviation of the 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.
42.3.1
Plausibility Check
In order to avoid any heavy distortion of the estimated network-state due to completely wrong measurements, the following Plausibility Checks can be made before the actual State Estimation is started.
DIgSILENT PowerFactory 15, User Manual
1037
42.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 verification can easily be made at the
beginning of every state estimation.
But it can also happen that only parts of the network are observable and some other parts of the system
are not observable even if the total number of measurements is sufficient. Hence, it is not only important
that there are enough measurements, but also that they are well distributed in the network.
Therefore, additional verifications are made checking for every load or generator injection whether it
is observable or not. The entire network is said to be observable if all load or generator injections
can be estimated based on the given measurements. PowerFactory does not only solve the decision
problem whether the given system is observable or not: If a network is not observable, it is still useful
to determine the islands in the network that are observable.
The Observability Analysis in PowerFactory is not purely based on topological 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, PowerFactory offers a very flexible colour representation both for observable and unobservable areas, and for
redundant and non-redundant measurements (see Section 42.6.4).
Observability of individual states
The Observability Analysis identifies 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,
whichUfor
the observability of the systemUdo
not provide any further information. During the Observability Analysis, PowerFactory determines redundant and non-redundant measurements. Moreover, it
1038
42.3.3
The non-linear optimisation is the core part of the State Estimator. As already mentioned in the
introduction, the objective is to minimise the weighted square sum of all deviations between calculated
and measured branch flows and bus bar voltages whilst fulfilling all load flow equations.
PowerFactory uses an extremely fast converging iterative approach to solve the 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 nonobservable states. A pseudo-measurement basically is a measurement with a very poor accuracy.
These pseudo-measurements force the algorithm to converge. At the same time, the resulting estimated
states will be of correct proportions within each equivalence-class.
In the remaining sections of this guide of use, the instructions related to Data Entry, Options and
Constraints, and Visualisation of Results are presented.
42.4
The main procedures to introduce and manipulate the State Estimator data are indicated in this section.
For applying the PowerFactory State Estimator, the following data are required additional to standard
load flow data:
Measurements
Active Power Branch Flow
Reactive Power Branch Flow
Branch Current (Magnitude)
Bus Bar Voltage (Magnitude)
Breaker Status
Transformer Tap Position
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, Qmeasurement, 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
1039
42.4.1
Measurements
All measurements are defined by placing a so-called External Measurement Device" inside a cubicle.
For this purpose, select the device in the single-line graphic and choose from the context menu (right
mouse button) "New Devices" and then External Measurements..." (see Figure 42.4.1). Then, the new
object dialogue pops up with a predefined list of external measurements. Please select the desired
measurement device among this list (see Figure 42.4.2).
1040
1041
The accuracy class and the rating are used for weighting the measurement element. In case of
redundant measurements, a more accurate measurement will be higher weighted than a less accurate
measurement.
Using the flag orientation", it is possible to define the meaning of the active or reactive power sign.
Load orientation means that a positively measured P or Q flows into the element, generator orientation
defines a positive flow as flowing out of an element. With the multiplicator", a measured quantity can
be re-rated. E.g., if a measurement instrument indicates 150kW (instead of 0.15MW), the multiplicator"
can be set to 0.001 and the measured value is set to 150 resulting in a correct value.
It is important to note, that External P- and Q-measurements have the additional feature to possibly
serve as a so-called (externally created) pseudo-measurement. This feature is activated by checking the
corresponding box (e:pseudo). Pseudo-measurements are special measurements which are ignored
during the regular calculation. They are activated in a selective manner only if the observability check
found unobservable states in the network (see Section 42.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 42.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).
1042
Figure 42.4.4: Second page "Status" of the dialogue for an external P-measurement
Internally, the measured current magnitude is then additionally transformed into two further measurements, namely an active and a reactive current. This is due to the fact that current magnitude does
on the other hand U
is essential to avoid
not provide information on the direction of the flow, which U
ambiguous solutions in the optimisation.
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 corresponding ratings for the used measurement types need to be specified. This is done (accordingly to the flow measurements) by entering the pairs of fields (e:SnomMagn,e:accuracyMagn),
(e:SnomAct,e:accuracyAct), and (e:SnomReact,e:accuracyReact), respectively).
Voltage Measurements
Voltage measurements (StaExvmea) need to be placed in cubicles as well. The measurement point
then is the adjacent terminal.
1043
A voltage measurement basically has the same properties as a flow measurement, except, for the
rating, only a single value for the accuracy needs to be specified. The corresponding internal reference
is the nominal voltage of the terminal which serves as measurement point.
Breaker and Tap Position Measurements
Both breaker and tap position measurements are assumed to measure the corresponding discrete
breaker status and tap position signal accurately. Hence, no ratings needs to be specified.
Tap position measurements have a conversion table as extra feature. The conversion table allows
any discrete translation mapping between external tap positions (Ext. Tap) and tap positions used by
PowerFactory (PF Tap).
42.4.2
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 42.4.6 will appear.
b) Enable the Display Function State Estimator" as shown below.
c) Exit the window clicking the OK button.
1044
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.
42.4.3
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 optimised whilst minimising the sum of the
error squares over all measurements are all active and/or reactive power injections at generators and
loads and all tap positions.
Loads
For each load (ElmLod), the user can specify whether its active and/or reactive power shall be estimated
by the state estimator. Alternatively, the state estimator is able to estimate the scaling factor (for a
given P and Q injection). The specification which parameter shall be estimated, is done by checking
corresponding boxes on the State Estimator" page of the load (see Figure 42.4.7). When these options
are disabled, the load is treated as in the conventional load flow calculation during the execution of the
SE.
1045
Synchronous Machines
Similarly, for synchronous machines (ElmSym), the active and reactive power can be selected as a
control variable for being estimated by the state estimator. Again, the user will find corresponding check
boxes on the State Estimator" page of the element.
If the corresponding check box(es) are disabled, the synchronous machine behaves as in the conventional load flow calculation.
Asynchronous Machines
For asynchronous machines (ElmAsm), the active power may serve as a state to be 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 flow 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
flow calculation.
Transformers
In the 2-winding transformer elements (ElmTr2), the tap position can be specified as a state to be
estimated by the State Estimator (see Figure 42.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 42.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
1046
42.5. RUNNING SE
load flow calculation.
42.5
Running SE
)
1047
Select the desired options for the State Estimator run (see below).
Select Execute.
42.5.1
Recall that the State Estimator in PowerFactory consists of three different parts (Plausibility Check,
Observability Analysis, State Estimation (non-linear optimisation)) and an additional precedent Preprocessing step (see Figure 42.3.1). This variation is reflected in the Basic Options dialogue (see
Figure 42.5.1).
42.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.
1048
42.5. RUNNING SE
42.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 42.6).
The following checks can be enabled by marking the corresponding check boxes.
Consistent active power flow direction at each branch
Checks for each passive branch, whether all connected P-measurements comply with a consistent
power flow direction. More precisely, if some flow out of a passive element is measured while, at the
same time, no flow into the element is measured, then all P-measurements connected to this element
fail this test. For this check, a P-measurement is said to measure a non-zero" flow if the measurement
value is beyond a value of , where and 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
1 , . . . , in each of its r connection
devices. The threshold , by which the nominal loss
shall not be exceeded, is given by: = =1 , where and are the accuracy and the
rating, respectively, of measurement .
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 1 , . .. , 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 ( =1 ).
Large branch flows on open ended branches
Checks for each connection of the element, whether the connection is an open end (i.e., switch is open,
or it is connected to only open detailed switches). If the connection is open and there exists a (P-, Q-,
or I-) measurement which measures a non-zero" flow, then the corresponding measurement fails the
test. Again, a measurement is said to measure a non-zero" flow if the measurement value is beyond a
value of .
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 1 ,
... , has magnitude below the threshold =1 (similarly for Q-measurements).
42.5.1.3
Observability Analysis
The Observability Analysis is an optional component of the State Estimator. If activated, it checks
whether the specified network is observable, i.e., whether the remaining valid P-, Q-, V-, and I-measurements
(which successfully passed the plausibility checks) suffice to estimate the selected P-, Q-, Scaling
Factor-, and Tap position-states. In addition, the Observability Analysis detects redundant measurements. Redundancy, in general, yields more accurate results for the following state estimation.
Moreover, if the Observability Analysis detects non-observable states, upon user selection, it tries to fix
DIgSILENT PowerFactory 15, User Manual
1049
Stop if unobservable regions exist: The algorithm terminates with the detection of unobservable
states. The Observability Analysis groups all non-observable states into different "equivalence
classes". Each 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 42.6 Results).
Use P-, Q-values as specified by model:: If this option is selected, the algorithm internally drops
the "to be estimated" flag of each non-observable state and uses the element specifications of the
load flow settings instead. For example, if a P-state of a load is unobservable, the algorithm will
use the P-value as entered on the load flow page. Hence, the network is made observable by
reducing the number of control variables.
Use predefined pseudo-measurements: Using this option, the algorithm "repairs" the unobservability of the network by increasing the degrees of freedom. For that purpose, at the location
of each non-observable state, the algorithm tries to activate a pseudo-measurement of the same
kind. Hence, if a P- (Q-)state is non-observable in some element, the algorithm searches for a P(Q-)pseudo-measurement in the cubicle of the element carrying the non-observable state. In case
of a non-observable scaling-factor both, a P- and a Q-pseudo-measurement are required. The
introduced pseudo-measurements remain active as long as needed to circumvent unobservable
areas.
Use internally created pseudo-measurements: This option is similar to the previous one,
except the algorithm automatically creates and activates a sufficient number of internal pseudomeasurements 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 elements
load flow specification. All internally created pseudo-measurements use a common setting for
their rating and accuracy, which can be specified on the advanced setup options page for the
observability check.
Use predefined and internally created meas: This mode can be considered as a mixture of
the latter two options. Here, in case of a non-observable state, the algorithm tries to activate a
predefined pseudo-measurement of the same kind. If no corresponding pseudo-measurement
has been defined, then the algorithm automatically creates an internal pseudo-measurement.
42.5.1.4
The non-linear optimisation is the central component of the State Estimator. The underlying numerical
algorithm to minimise the measurements overall error is the iterative Lagrange-Newton method.
Run state estimation algorithm
Check this box to enable the non-linear optimisation. Note that after convergence of the method,Uupon
42.5. RUNNING SE
42.5.2
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 thenode sum check for P" tests whether the active power sum at a node is below
a threshold of =
=1 . The user has the possibility to influence the strictness of this
threshold. Therefore, the settings provide to enter so-called exceeding factors" > 0 such that the
new threshold is instead of . E.g., in the case of the node sum check for P, the user may define
the corresponding factor fac_ndSumP.
The higher the exceeding factor, the less strict the plausibility test will be. Similar exceeding factors can
be specified for any of the given tests.
42.5.3
42.5.4
Recall that the state estimator loops Observability Analysis and State Estimation as long as no further
bad measurement is found (see Figure 42.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 specifies 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
100
(42.2)
where calVal and meaVal are the calculated value and the measured value, respectively. The user
DIgSILENT PowerFactory 15, User Manual
1051
42.5.5
Initialisation
The non-linear optimisation requires an initialisation step to generate an initial starting configuration.
Initialisation of non-linear optimisation
The user may specify whether the initialisation shall be performed by a load flow calculation or by some
flat start. If it is known in advance that the final solution of the optimisation part is close to a valid load
flow solution, initialising by a load flow calculation pays off in a faster convergence.
Load Flow
Specifies the settings of the load flow command which is taken for initialisation in case no flat start is
used.
Stopping criteria for the non-linear optimisation
The non-linear optimisation is implemented using an iterative Newton-Lagrange method. Recall that
the goal of the optimisation is to minimise the objective function f (i.e., the square sum of the weighted
measurements deviations) under the constraint that all load flow equations are fulfilled. Mathematically
speaking, the aim is to find
min ()
(42.3)
() = 0
(42.4)
where is the set of load flow equations that need to be fulfilled. By the Lagrange-Newton method, we
thus try to minimise the resulting Lagrange function
(, ) = () + ()
(42.5)
42.6. RESULTS
(a) all nodal equations are fulfilled.
(b) all model equations are fulfilled.
c) The Lagrange function (, ) 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
optimisation algorithm is urged to use the default settings here.
Iteration Control of non-linear optimisation
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 first case, the user is asked to enter an absolute maximum change in value of the objective
function. If the change in value between two consecutive iterations falls below this value, the Lagrangian
is assumed to be converged.
In the latter case, the user is asked to enter an absolute maximum value for the gradient of the
Lagrangian. If the gradient falls below this value, the Lagrangian is assumed to be converged.
42.6
Results
The presentation of the State Estimator results is integrated into the user interface. The solution of
the non-linear optimisation 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.
42.6.1
The PowerFactory State Estimator reports the main steps of the algorithm in the output window (see
Figure 42.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 additionUhow
1053
42.6.2
External Measurements
Deviations
Each branch flow measurement (StaExtpmea, StaExtqmea) and each voltage measurement (StaExtvmea)
offers parameters to view its individual deviation between measured value and computed value by the
State Estimation. The corresponding variables are:
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 measurement has the above listed variables (with X being replaced by I) for each of the three measurement
types. In order to distinguish between the three types, for a StaExtimea, the variables carry the suffixes
Magn (for magnitude measurement), Act (for active current measurement), and React (for reactive
current measurement).
1054
42.6. RESULTS
Figure 42.6.2:
StaExtvmea).
Error Status
All measurements (StaExt*meas) which possibly participate in the Plausibility Checks, the Observability Analysis, or the State Estimation provide a detailed error description page (see figures 42.6.2
and 42.6.3) with the following information:
General Errors:
Is unneeded pseudo-measurement (e:errUnneededPseudo)
Its input status disallows calculation, i.e., input status does not allow Read" or is already
marked as Wrong Measurement" (e:errStatus)
Measurement is out of service (e:errOutOfService)
Plausibility Check Errors:
Fails test: Consistent active power flow direction at each side of branch (e:errConsDir)
Fails test: Large branch losses
(e:errExcNomLoss)
Fails test: Negative losses on passive branches
(e:errNegLoss)
Fails test: Large branch flows on open ended branches
(e:errFlwIfOpn)
Fails test: Branch loadings exceed nominal values
(e:errExcNomLoading)
Fails test: Node sum check for P (e:errNdSumP)
Fails test: Node sum check for Q (e:errNdSumQ)
Observability Analysis Errors:
DIgSILENT PowerFactory 15, User Manual
1055
42.6.3
Estimated States
1056
42.6. RESULTS
Figure 42.6.3: Detailed error description page for external current measurements (StaExtimea).
For this purpose, the Observability Analysis uses the flags 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.
42.6.4
Colour Representation
In addition, PowerFactory provides a special colouring mode State Estimation" for the single line diagram which takes into account the individual measurement error statuses and the states to be estimated
(see Figure 42.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 specific type) and the location of
states (of a specific type) simultaneously.
1057
Estimated States
The user selects to colour states of a specific type (P-, Q-, Scaling factor-, or Tap position-states). Distinct 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 specific 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 specific error code can be highlighted separately using an extra colour.
To select such a specific error code press the Error Code button and choose from the detailed error
description list any "AND"-combination of possible errors.
1058
Part V
Appendix
Appendix A
Glossary
Appliance
A specific physical, installed, power system component: a specific generator, transformer, busbar, etc.
Example: a piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 metres 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 analysed. When working with system stages, the Base Case is considered
to be the highest level in a tree of hierarchical system stage designs.
Block Definition
A block definition is a mathematical model which may be used in other block definitions or in a composite
model. Examples are all default controllers (i.e. VCOs, PSSs, MDMs), and all additional user-defined
DSL models. A block definition is called primitive" when it is directly written in DSL, or complex" when
it is build from other block definitions, by drawing a block diagram.
Block Diagram
A block diagram is a graphical representation of a DSL model, i.e. a voltage controller, a motor driven
machine model or a water turbine model. Block diagrams combine DSL primitive elements and block
definitions created by drawing other block diagram. The block models thus created may (again) be used
in other block diagrams or to create a Composite Frame. See also: DSL primitive, Composite Frame
Branch Elements
A one port element connected to a node, such as a load or a machine. See also nodes, edge elements.
Busbars
Busbars are particular representations of nodes. Busbars are housed in a Station folder and several
busbars may be part of a station.
Class
A class is a template for an element, type or other kind of objects like controller block diagrams, object
filters, calculation settings, etc. Examples:
The TypLne class is the type model for all lines and cables
The ElmLne class is an element model for a specific line or cable
The ComLdf class is a load-flow command
DIgSILENT PowerFactory 15, User Manual
1061
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 defines a new stand-alone model, mostly without
in- or outputs. A composite frame is principally a circuit in which one or more slots are connected to
each other.
A composite frame is used to create composite models by filling the slots with appropriate objects. The
composite frame thus acts as template for a specific kind of composite models.
See also: Block Diagram, Slot
Composite Model
A composite model is a specific combination of mathematical models.These models may be power
system elements such as synchronous generators, or block definitions, such as voltage controllers,
primary mover models or power system stabilisers.
Composite models may be used to create new objects, such as protection devices, to dress-up power
system elements such as synchronous machines with controllers, prime movers models, etc., or for the
identification of model parameters on the basis of measurements.
Cubicle
A cubicle is the connection point between a edge or branch element and a node (represented by a
busbar or terminal). It may be visualised 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 find in reality.
DAQ
Abbreviation for Data Acquisition".
Device
A certain kind of physical power system components: certain synchronous machines, two-winding
transformers, busbars, or other kinds of equipment. Example: a NKBA 0.6/1kV 4 x 35sm cable.
DGS
Abbreviation for DIgSILENT Interface for Geographical Information Systems".
DOLE
Abbreviation for DIgSILENT Object Language for Data Exchange". DOLE was used in previous PowerFactory versions, but replaced by DGS meanwhile. Now, use DGS instead, please.
The DOLE import uses a header line with the parameter name. This header must have the following
structure:
The first header must be the class name of the listed objects.
The following headers must state a correct parameter name.
DPL
Abbreviation for DIgSILENT Programming Language". For further information, please refer to Chapter 19.1 (The DIgSILENT Programming Language - DPL).
Drag & Drop
1062
Drag&Drop" is a method for moving an object by left clicking it and subsequently moving the mouse
while holding the mouse button down (dragging"). Releasing the mouse button when the new location
is reached is called dropping". This will move the object to the new location.
DSL
Abbreviation for DIgSILENT Simulation Language". For further information, please refer to Chapter 26.12 (The DIgSILENT Simulation Language (DSL)).
DSL primitive
A DSL primitive is the same as a primitive block definition. A DSL primitive is written directly in DSL
without the use of a block diagram.
Examples are PID controllers, time lags, simple signal filters, integrators, limiters, etc. DSL primitives
are normally used to build more complex block definitions.
See also: Block Definition, 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 specific appliances. Most element models only hold the appliance-specific
data while the more general type-specific data comes from a type-reference. Example: a model of a
piece of NKBA 0.6/1kV 4 x 35sm cable, 12.4 metres long, named FC 1023.ElmLne".
Graphics Board Window
The graphics board window is a multi document window which contains one or more graphical pages.
These pages may be single line graphics, virtual instrument pages, block diagrams etc.
The graphics board shows page tabs when more than one page is present. These tabs may be used to
change the visible page or to change the page order by drag&drop on the page tab.
See also: Virtual Instrument, Block Diagram, Page Tab, Drag&Drop
Grid
A Grid is a collection of power system elements which are all stored in one so-called Grid Folder" in
the database. Normally, a grid forms a logical part of a power system design, like a the MV distribution
system in a province, or the HV transport system in a state.
Object
An object is a specific item stored in the database. Examples are specific type or element models which
have been edited to model specific devices or appliances. Examples: the element FC 1023.ElmLne",
the type NKBA_4x35.TypLne", the load-flow command 3Phase.ComLdf"
Node
The mathematical or generic description for what are commonly known as busbars in the electrical
world. In PowerFactory nodes may be represented by Busbars" or 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 inflexible. See also
Busbars, Edge Elements, Branch Elements.
Operation Scenario
DIgSILENT PowerFactory 15, User Manual
1063
APPENDIX A. GLOSSARY
An Operation Scenario defines a certain operation point of the system under analysis, such as different generation dispatch, low or high load, etc.Operation Scenarios are stored inside the Operation
Scenarios folder.
Page Tab
Page tabs are small indexes at the edge (mostly on the top or bottom) of a multi-page window. The tabs
show the titles of the pages. Left-clicking the page tab opens the corresponding page. Page tabs are
used in object dialogues, which often have different pages for different calculation functions, and in the
Graphics Board Window, when more than one graphical page is present.
Project
All power system definitions and calculations are stored and activated in a project. The project folder
therefore is a basic folder in the 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 defining a virtual instrument.
See also: Virtual Instrument
Slot
A slot is a place-holder for a block definition in a composite frame. A composite model is created from
a composite frame by filling one or more slots with an appropriate object.
See also: Block Definition, Composite Frame.
Study Case
A study case is a folder which stores a list of references or shortcuts to grid or system stage folders.
These folders are (de)activated when the calculation case folder is (de)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 analyse 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 transformers, busbars, etc. A type model only contains the non-specific data valid for whole groups of power
system elements. Example: a NKBA 0.6/1kV 4 x 35sm cable type, named NKBA_4x35.TypLne"
See also: System Stage, Grid
1064
Variation
A Variation defines an expansion plan composed of one or more expansion stages, and which are
chronologically activated. Variations, like all other network data, are stored inside the 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
1065
APPENDIX A. GLOSSARY
1066
Appendix B
Hotkeys Reference
B.1
Calculation Hotkeys
Combination
Description
F10
F11
Ctrl + F10
Ctrl + F11
F12
B.2
Where/When
Single Line Graphic,
Block Diagrams, Vis
Single Line Graphic,
Block Diagrams, Vis
Single Line Graphic,
Block Diagrams, Vis
Description
Zoom out
Zoom in
Zoom in/out
Busbar system
Alt + Rubberband
Alt + Left-click
Textbox
Alt + Left-click
(multiple times)
Element
Combination
Where/When
Description
Ctrl + A
Ctrl + Alt + Shift +
P
Element Dialogue
Marked Object
Marked Busbar
Block
Marked Terminal
Marked Node
Ctrl + C
Marked Element
Ctrl + L
Ctrl +Left-click
Element
Ctrl + Left-click
Ctrl + Left-click
1068
Inserting Loads/Generators
Inserting Busbars/Terminals
Ctrl + M
Element Dialogue
Ctrl + Q
Ctrl + X
Marked Element
Cut
Esc
Connecting Mode
Esc
Inserting Symbol
Esc
Animation Mode
S + Left-click
Element
S +Moving
Marked Element
Shift + Moving
Marked Element
Shift + Moving
Marked Textbox
Interrupt mode
Mark only the symbol of
the element
Move only the symbol of
the element
Element can only be
moved in the direction of
axes
After rotation, textbox can
be aligned in the direction
of axes
B.3
Combination
Where/When
Tab
Inserting Symbol
Left-click
Inserting Symbol
Description
Change connection side
of symbol
Place symbol,
press
mouse button and move
cursor in the direction
of rotation to rotate the
symbol in this direction
Where/When
Alt + F4
Alt + Return
Right; Link
Backspace
Pag (arrow: up)
Pag
(arrow:
down)
Right
Scroll a page up
Right
Ctrl +
down)
Ctrl + A
Mark all
Save screenshot of the
data manager as bitmap
under C:\Digsi\snapshots
Save
screenshot
of
the complete monitor
as
bitmap
under
C:\Digsi\snapshots
Detail-Modus
Marked
object,
marked symbol
Ctrl + C
Ctrl + C
Marked cell
Ctrl + D
Ctrl + F
Ctrl + G
Right
Ctrl + Alt + P
Ctrl + B
(arrow:
Description
Right
Go to line
1069
Combination
Ctrl + I
Where/When
Description
Right
Ctrl + Left-click
Ctrl + M
Ctrl + O
Ctrl + Q
Ctrl + Q
Ctrl + R
Project
Ctrl + R
Study case
Ctrl + R
Grid
Ctrl + R
Variant
Ctrl + Tab
Detail-Modus
Ctrl + V
Ctrl + W
Ctrl + X
Marked
object,
marked symbol
Ctrl + X
Marked cell
End
Right
Del
Right, symbol
Del
Right, cell
Esc
F2
Right; cell
F3
F4
F5
F8
1070
Cut object
Cut cell content
Jump to the last column of
the current row
Delete marked object
Delete the content of the
cell
Undo the change
Change to edit mode
Close all open dialogues
and return the selected
object from the top dialogue
Activate/Deactivate
Drag&Drop-Mode
Update
Right, Graphic
Combination
Where/When
Pos1
Right
Return
Right
Return
links
Return
Return
Right; link
Shift + Left-click
B.4
Dialogue Hotkeys
Combination
Where/When
Description
Ctrl + A
Input field
Ctrl + Alt + P
B.5
Description
Online help
Where/When
Description
Page up
Page down
Mark the content of the
output window
Like Ctrl + Pos1
Like Ctrl + End
Ctrl + C
Ctrl + E
1071
Combination
Where/When
Ctrl + End
Ctrl + F
Ctrl + F3
Cursor in a Word
Ctrl + O
Ctrl + P
Page up
Page down
Ctrl + Pos1
Ctrl + Shift + End
Ctrl +
home
Shift
Ctrl + Shift + F3
Cursor in a Word
End
F3
Cursor in a Word
Arrow (up)
Arrow (right)
Arrow (down)
Arrow (left)
home
Shift + Pag (arrow: up)
Shift + Pag (arrow: down)
Shift + F3
1072
Description
Cursor in a Word
Combination
B.6
Where/When
Description
Where/When
Description
Editor Hotkeys
Combination
Ctrl + O
Open file
Ctrl + S
Save
Ctrl + P
Ctrl + Z
Undo
Ctrl + C
Copy
Ctrl + V
Paste
Ctrl + X
Cut
Ctrl + A
Select all
Ctrl + R
Ctrl + T
Ctrl + F2
Del
Delete
F2
Go to next bookmark
Shift + F2
Go to previous bookmark
Jump to next same word
of the current searched
string
Jump to previous same
word of the current
searched string
Jump to next same word;
New searched string becomes the word on which
the cursor is currently positioned
F3
Cursor in a word
Shift + F3
Cursor in a Word
Ctrl + F3
Cursor in a Word
Ctrl + F
Ctrl + G
Open Go to dialogue
Open Find and Replace
dialogue
Ctrl + H
Ctrl + Y
Ctrl + Shift + T
Ctrl + Alt + T
Strg +
Space
Shift
Alt + Return
Combination
Where/When
Backspace
Insert
Arrow (right)
Shift + Arrow
(right)
Ctrl
+
Arrow
(right)
Ctrl + Shift + Arrow (right)
Arrow (left)
Arrow (up)
One line up
Extend selection one line
up
Shift
end
Ctrl + end
Shift + end
Ctrl + Shift + end
Pag
down)
1074
Description
(arrow:
Scroll down
Change selected text to
lower case
Scroll up
Change selected text to
upper case
Set cursor to first pos. in
line
Set cursor to beginning of
text
Extend selection to beginning of line
Extend selection to start
of text
Set cursor to last pos. in
line
Set cursor to end of text
Extend selection to end of
line
Extend selection to end of
text
Set cursor one page
down
Combination
Where/When
Description
F1
F9
1075
1076
Appendix C
Branch Elements
Device
2-Winding Transformer (ElmTr2)
3-Winding Transformer (ElmTr3)
Autotransformer
Booster Transformer (ElmTrb)
Overhead Line Systems
Cable Systems
Series Capacitor (ElmScap)
Series Reactor (ElmSind)
Series RLC-Filter (ElmSfilt)
Common Impedance (ElmZpu)
Asynchronous Machine (ElmAsm)
Doubly Fed Induction Machine (ElmAsmsc)
Static Generator (ElmGenstat)
PV System (ElmPvsys)
Synchronous Machine (ElmSym)
Loads (ElmLod)
Low Voltage Load (ElmLodlv )
Medium Voltage Load (ElmLodmv )
Partial Loads (ElmLodlvp)
Motor Driven Machine (ElmMdm__X )
DC Machine (ElmDcm)
External Grid (ElmXnet)
PWM AC/DC Converter
Rectifier/Inverter
Soft Starter (ElmVar )
DC/DC Converter (ElmDcdc)
Shunt/Filter Element (ElmShnt)
Static Var System (ElmSvs)
Station Controller (ElmStactrl)
Power Frequency Control (ElmSecctrl)
1077
Category
Device
C.1
C.1.1
Branch Elements
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 used for the 2-winding transformer changes depending upon the selected
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 ElmTr2 1Phase
C.1.2
The 3-winding transformer model in PowerFactory is a 3-phase element. It requires a 3-winding transformer type (TypTr3) where the user specifies the rated data, vector groups, tap changer, etc.
For a detailed description of the model the reader is referred to the Technical Reference TypTr3 for the
3-winding transformer type.
1078
C.1.3
Autotransformer
The autotransformer models in PowerFactory build on the 3- and 2-winding transformer models described in the previous sections. Hence an autotransformer is defined using the same elements (i.e.
the same icons in the toolbox) as those used for the standard 3- and 2-winding transformers.
If 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 such cases, the reader is referred to the technical
references for the 2-winding transformer C.1.1 and 3-winding transformer C.1.2.
C.1.4
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
PowerFactory handles both DC and AC lines, including all phase technologies (3-phase, 2-phase and
single phase), with/without neutral conductor and ground wires, for both single circuit and mutually
coupled parallel circuits.
All of these options are handled by a suitable selection of element-type combinations as summarised in
Table C.1.1. The technical reference document Overhead Line Models provides a detailed description
of all available line models for both steady-state and transient simulations.
System
Phase Technology
Element
Type
DC
unipolar
1-ph
2-ph
3-ph
1-ph with neutral
2-ph with neutral
3-ph with neutral
Any combination
ElmLne
ElmLne
ElmLne
ElmLne
ElmLne
ElmLne
ElmLne
ElmTow
TypLne
TypLne
TypLne
TypLne, TypTow, TypGeo
TypLne
TypLne
TypLne
TypTow, TypGeo
AC, single-circuits
The line element ElmLne is the constituent element of transmission lines. When referring to a type, the
line element can be used to define single-circuit lines of any phase technology 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 parameter models. ConDIgSILENT PowerFactory 15, User Manual
1079
C.1.5.1
Line (ElmLne)
The ElmLne is an element used to represent transmission lines/cables. It requires a reference to either
a line type TypLne, 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 (Defining Line Sections).
The line model is detailed in the technical reference: Overhead Line Models.
C.1.5.2
The line sub-section is used to represent sections of lines or cables. It can refer to any of the types
defined for transmission lines or cables.
C.1.5.3
The ElmTow is used to represent electromagnetic coupling between transmission lines. In order to
define a line coupling, a TypTow/TypGeo determining the geometrical characteristics is required, along
with the conductor type of the structure where the coupled lines are located.
The description of the line coupling model is provided in the following Technical Reference document:
Overhead Line Models.
C.1.5.4
This type is used to define transmission lines/cables, whose electrical parameters are known. It should
be noted that no electromagnetic coupling between conductors is calculated in this type.
The description of the line type model is provided in the following Technical Reference document:
Overhead Line Models.
C.1.5.5
Both types are used to define the tower structure of a transmission line. If TypTow or TypGeo are
referred in an ElmLne, the coupling impedances and admittances of the line are calculated according
to the given geometrical distribution of the conductors. The tower type additionally requires a reference
to the conductor type.
TypTow versus TypGeo
While a tower type TypTow completely defines the overhead transmission system (i.e. defines the tower
geometry and the conductors), a tower geometry type TypGeo only contains information about the
geometry of the tower.
1080
C.1.5.6
This type is used to define conductors. A reference to a conductor type is required in the tower types
TypTow/TypGeo to define the conductors of the transmission line.
The description of the conductor type model, presenting the relations among the input parameters is
given in the Technical Reference document: Overhead Line Constants.
C.1.6
Cable Systems
The model of a cable system in PowerFactory builds on two types: firstly, a single-core cable type
(TypCab) defines the cross-section geometry, conducting and insulating layers and properties of the
materials of the single-core cable and secondly, a cable system type (TypCabsys) specifies the total
number of single-core cables in the system, hence the number of coupled cables, and the installation
characteristics, either buried directly underground or laid in pipes (a pipe-type cable).
C.1.6.1
C.1.6.2
1081
C.1.7
This element represents series capacitances in PowerFactory . It can be used for various applications,
e.g.
Series compensation of transmission lines
Filter capacitance
The description of the series capacitor model is provided in the Technical Reference document: Series
Capacitor
C.1.8
C.1.9
C.1.10
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 is provided in the Technical Reference document:
Common Impedance.
C.2
C.2.1
Used to represent asynchronous machine models, and requires a reference to a TypAsmo or TypAsm
(obsolete) type.
The description of the asynchronous machine model is provided in the Technical Reference document:
Asynchronous Machine
Additionally the Asynchronous Machine model using the asynchronous machine type TypAsm1 which
supports only single-cage rotors is described in the Technical Reference document: Asynchronous
Machine (TypAsm1)
1082
C.2.2
This element represents doubly-fed induction machines and requires a reference to a TypAsmo type.
Input parameters
The description of the doubly-fed induction machine is provided in the Technical Reference document:
Doubly Fed Induction Machine
C.2.3
The static generator (ElmGenstat is an easy-to-use model to represent any kind of non-rotating generator. These generators are generally connected to the grid through a static converter, hence the name
static generator. Typical applications of this model include:
Photovoltaic generators
Fuel cells
Storage devices
HVDC terminals
Reactive power compensation
Wind generators that are connected to the grid using a full-size converter can also be modelled as static
generators, because the behaviour of the plant (as seen from the grid) is determined by the converter.
For a detailed description of the static generator model, please refer to the Technical Reference document: 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 PV system differs to the static generator in that the former
provides an option to automatically estimate the active power setpoint, given the geographical location,
date and time.
For a detailed description of the static generator model, please refer to the Technical Reference document: PV System
C.2.5
Used to represent synchronous machine models, and requires a reference to a TypSym type.
Synchronous Machine Type (TypSym)
This type is used to define synchronous machine elements (ElmSym).
The description of the synchronous machine model is provided in the Technical Reference document:
Synchronous Machine
1083
C.2.6
Loads (ElmLod)
The load element is used to model loads. Two different models are supported depending on the
selection of the type:
General loads: requires a reference to a TypLod type (see Technical Reference document: General Load Model)
Complex loads: requires a reference to a TypLodind type (see Technical Reference document:
Complex Load Model)
C.2.7
This element is used to model loads connected at the low voltage level.
The description of the low voltage load model is provided in the Technical Reference document: Low
Voltage Load
C.2.8
This element is used to model loads connected at the medium voltage level.
The description of the medium voltage load model is provided in the Technical Reference document:
Low Voltage Load
C.2.9
C.2.10
Used to represent motor-driven machines. Three types of driven machine models are defined in
PowerFactory :
ElmMdm__1 (Type 1)
ElmMdm__3 (Type 3)
ElmMdm__5 (Type 5)
All types of motor-driven machine models may be used in conjunction with a synchronous or an asynchronous motor.
The description of the motor-driven machine models, describing the relation between the parameters
and the connection to a motor, is provided in the Technical Reference document: Motor Driven Machine
1084
C.2.11
DC Machine (ElmDcm)
The DC machine element (ElmDcm) can be used to represent a dc generator or a dc motor. This oneport 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 please refer to the Technical Reference document:
DC Machine.
C.2.12
C.3
C.3.1
Used to model PWM converters. The model represents a self-commutated, voltage-sourced ac/dc
converter (capacitive dc circuit).
There are two rectifier/inverter models available in PowerFactory which differ from each other in the
number of dc connections:
PWM AC/DC Converter - 1 dc connection
PWM AC/DC Converter - 2 dc connections
The description of the PWM converter model is provided in the Technical Reference document: PWM
Converter
C.3.2
Rectifier/Inverter
There are two rectifier/inverter models available in PowerFactory which differ from each other in terms
of the number of dc connections:
Rectifier/Inverter - 1 dc connection (ElmRecmono)
Rectifier/Inverter - 2 dc connections (ElmRec)
Rectifier models with a single dc connection, require a reference to a rectifier type (TypRec) used to
define a 6-pulse bridge rectifier/inverter element with both 1 or 2 dc connections.
The description of the rectifier model is provided in the attached Technical Reference document: 6-Pulse
Bridge
1085
C.3.3
The ElmVar object is used to represent voltage control, soft starter devices for induction motors. The
ElmVar does not require a type.
The description of the soft starter model is provided in the attached Technical Reference document:
Soft Starter
C.3.4
The description of the dc/dc converter model is provided in the attached Technical Reference document:
DC/DC Converter
C.4
C.4.1
C.4.2
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 is provided in the attached Technical Reference document:
Static Var System
C.5
C.5.1
Controllers
Station Controller (ElmStactrl)
The station controller is used for steady-state analysis. The description of the station controller is given
in the attached Technical Reference document: Station Controller.
For time-domain simulation please use the common models described in Chapter 26: Stability and EMT
Simulations, Section 26.8 (Models for Stability Analysis).
C.5.2
The description of the power frequency control is provided in the Technical Reference document: Power
Frequency Control
1086
C.6. SOURCES
C.6
C.6.1
Sources
AC Voltage Source (ElmVac)
C.6.2
The ElmVacbi is used to represent ac voltage sources (single-phase or three-phase) connected between two terminals.
The description of the ac voltage source with two terminals model is provided in the Technical Reference
document: AC Voltage Source/two terminals
C.6.3
C.6.4
The ElmIac is used to represent ac current sources (a three-phase model is currently supported). The
description of the ac current source model is provided in the Technical Reference document: AC Current
Source
C.6.5
The ElmIacbi extends the functionality of the AC current source by being able to be connected between
different voltage levels. The description of the ac current source with two terminals model is provided in
the Technical Reference document: AC Current Source/two terminals
C.6.6
C.6.7
The impulse source element (ElmImpulse) is used to represent a lightning strike current waveform,
modelled in PowerFactory as a current impulse source. It is a single-phase, single-port element and it
1087
C.6.8
DC Battery (ElmBattery)
The dc battery element is based on the dc voltage source element and provides additional features
specific to dc batteries (i.e. support of dc short-circuit calculations, etc).
For a detailed description of the dc battery please refer to the technical reference: DC Battery.
C.6.9
The Fourier source element is used to generate periodic signals in the frequency domain.
The description of the Fourier source model is provided in the Technical Reference document: Fourier
Source
C.7
C.7.1
Measurement Devices
Current Measurement (StaImea)
The description of the current measurement model is provided in the Technical Reference document:
Current Measurement
C.7.2
The description of the power measurement model is provided in the Technical Reference document:
Power Measurement
C.7.3
The description of the voltage measurement model is provided in the Technical Reference document:
Voltage Measurement
C.7.4
The description of the phase measurement device model is provided in the Technical Reference document: Phase Measurement Device
C.7.5
This element is used to read data from a file during PowerFactory calculations.
1088
C.8
C.8.1
Digital Devices
Digital Clock (ElmClock)
C.8.2
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 provided in the Technical Reference document:
Register
C.8.3
The sample and hold model (ElmSamp) samples a signal, and sets the output at the rising edge of a
clock. The output value is constant until the next clock pulse.
The complete description of the sample and hold model is provided in the technical reference document:
Sample and Hold
C.8.4
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 provided in the Technical Reference document: Trigger
C.9
C.9.1
Analysis Functions
Fast Fourier Transform (ElmFft)
1089
C.10
Miscellaneous
C.10.1
The NEC/NER (Neutral Earthing Conductor/Neutral Earthing Reactor) is the grounding element in
PowerFactory , and does not require any type.
The description of the NEC/NER model is provided in the Technical Reference document: Neutral
Earthing Element
C.10.2
C.11
C.11.1
The complete description of the Wind Turbine Templates according to IEC 61400-27-1 are provided in
the model documentation: WTG Models
1090
Appendix D
AVR Models
Model Name
Full Name
Description
avr_AC7B
avr_AC8B
avr_AC8BnoPIDlimits
avr_BBSEX1
avr_BUDCZT
avr_CELIN
avr_CELIN no pss
avr_DC3A
avr_EMAC1T
1091
1092
Model Name
Full Name
Description
avr_ESAC1A
avr_ESAC2A
avr_ESAC3A
avr_ESAC4A
avr_ESAC5A
avr_ESAC6A
Model Name
Full Name
Description
avr_ESAC8B
avr_ESDC1A
avr_ESDC2A
avr_ESST1A
avr_ESST2A
avr_ESST3A
avr_ESST4B
avr_ESURRY
1093
1094
Model Name
Full Name
Description
avr_EX2000
avr_EXAC1
avr_EXAC1A
avr_EXAC2
avr_EXAC3
Model Name
Full Name
Description
avr_EXAC4
avr_EXBAS
avr_EXDC2
avr_EXELI
avr_EXELI no pss
avr_EXNEBB
avr_EXNI
1095
1096
Model Name
Full Name
Description
avr_EXPIC1
avr_EXPIC1 v1
avr_EXST1
avr_EXST2
avr_EXST2A
Model Name
Full Name
Description
avr_EXST3
avr_IEEET1
avr_IEEET1S
avr_IEEET2
avr_IEEET3
avr_IEEET4
avr_IEEET5
avr_IEEEX1
avr_IEEEX2
1097
Model Name
Full Name
Description
avr_IEEEX3
avr_IEEEX4
avr_IEET1A
avr_IEET1B
avr_IEET1S
avr_IEET5A
avr_IEEX2A
avr_IVOEX
avr_OEX12T
avr_OEX3T
avr_REXSY1
avr_REXSYS
1098
Model Name
avr_SCRX
avr_SEXS
avr_ST5B
avr_ST6B
avr_ST7B
avr_URHIDT
avr_URST5T
Full Name
Description
1099
D.2
Turbine-Governor Models
Model Name
Full Name
Description
gov_BBGOV1
Brown-Boveri governor
gov_BBGOV1 v1
Brown-Boveri governor
gov_BBGOV1B
Brown-Boveri governor
gov_CRCMGV
Cross compound
governor
gov_CRCMGVwd
gov_DEGOV
gov_DEGOV1
gov_GAST
1100
turbine-
Gas turbine-governor
Model Name
Full Name
Description
gov_GAST2A
Gas turbine-governor
gov_GASTWD
Gas turbine-governor
This model has a more detailed representation of gas turbine dynamics than
GAST. As with GAST, it is intended for
operation near rated speed. The speed
governor can be configured for droop or
isochronous modes of operation. The
temperature controller assumes control of
turbine power when exhaust gas temperature exceeds its rated value.
This model has the same level of detail in
its representation of gas turbine dynamics
as does the GAST2A. The governor system for this model is based on a Woodward governor consisting of an electric
speed sensor with proportional, integral,
and derivative control.
General purpose turbine-governor model.
gov_GGOV1
gov_HYGOV
gov_HYGOV2
Hydro turbine-governor
gov_HYGOVM
Hydro
turbine-governor
lumped parameter model
gov_HYGOVMmodif
Hydro
turbine-governor
lumped parameter model
gov_IEEEG1
gov_IEEEG2
gov_IEEEG3
Model Name
Full Name
Description
gov_IEESGO
gov_IVOGO
gov_PIDGOV
IVO turbine-governor
Hydro turbine-governor
gov_TGOV1
Steam turbine-governor
gov_TGOV2
gov_TGOV3
gov_TGOV4
gov_TGOV5
IEEE type 1
modified to
controls
IEEE type 1
modified to
controls
gov_TGOV5ntd
1102
speed-governor
include boiler
speed-governor
include boiler
Model Name
Full Name
Description
gov_TURCZT
Czech hydro or
turbine-governor
gov_TWDM1T
gov_TWDM1Tdgl
steam
gov_TWDM2T
Hydro turbine-governor
gov_URGS3T
gov_WEHGOV
gov_WESGOV
gov_WPIDHY
This is a general purpose hydro and thermal turbine-governor model. A hydro turbine or steam turbine dynamic model can
be selected by setting a flag to 1 for a
steam turbine and to 0 for a hydro turbine.
Penstock dynamic is not included in the
model.
The hydro turbine-governor model has
the same basic permanent and transient
droop elements as the HYGOV model, but
additionally includes a representation of a
tail water depression protection system.
In this model a different implementation
in the gate control loop of the TWDM1T
model is considered.
The hydro turbine-governor model has
the same basic turbine/penstock elements
as the HYGOV model but additionally includes a representation for a tail water
depression protection system and uses a
governor PID controller.
Specific gas turbine model.
This model represents a Woodward Electronic hydro-governor with proportional,
integral, and derivative control. The turbine is represented by a non-linear model
for the penstock dynamics in a similar
fashion to HYGOV, but the model includes
look-up tables to allow the user to represent non-linearities in the flow versus gate
position and mechanical power versus
flow during steady-state operation. The
model allows for the use of three feedback
signals for droop: Electrical power, Gate
position, and PID output.
Represents a model of a Woodward Electronic hydro-governor with proportional,
integral, and derivative control. The turbine is represented by a nonlinear model
for the penstock dynamics in a similar
fashion toas HYGOV, but the model includes look-up tables to allow the user to
represent non-linearities in the flow versus gate position and mechanical power
versus flow during steady-state operation.
The model allows for the use of three feedback signals for droop: Electrical power,
Gate position, and PID output.
This model represents a Woodward PID
hydro governor with proportional, integral
and derivative control. This electric governor has advantages over the hydraulic
governor with temporary droop which can
provide a faster response.
1103
Model Name
gov_WPIDHYnwu
Full Name
Description
1104
D.3
PSS Models
Model Name
Full Name
Description
pss_BEPSST
Manufacturer-specific model.
pss_IEE2ST
pss_IEEEST
pss_IVOST
pss_OSTB2T
IVO stabiliser
Ontario Hydro delta-omega
power system stabiliser
Ontario Hydro delta-omega
power system stabiliser
IEEE type PSS1A - P-Input
power system stabiliser
IEEE type PSS1A - P-Input
power system stabiliser
1992 IEEE type PSS2A dualinput signal stabiliser
pss_OSTB5T
pss_PSS1A
pss_PSS1A_old
pss_PSS2A
pss_PSS2B
pss_PSS3B
pss_PSS4B
1105
Model Name
pss_PSSIEEE2B
pss_PTIST1
pss_PTIST3
pss_ST2CUT
pss_STAB1
pss_STAB2A
pss_STAB3
pss_STAB4
pss_STABNI
ssc_STBSVC
1106
Full Name
Description
D.4
Excitation Models
Model Name
Full Name
uel_MNLEX1
Description
1107
D.5
svc_CHESVC
svc_CHESVC RB
svc_CSTATT
svc_CSTNCT
svc_CSTNCT noSTB
1108
Full Name
Static
compensator/condenser (STATCOM)
Static compensator (STATCOM)
Static compensator (STATCOM)
svc_CSVGN1
svc_CSVGN3
svc_CSVGN4
svc_CSVGN5
svc_CSVGN6
drp_COMP
Description
SVC control model.
SVC control model.
STATCOM control model.
This static compensator model requires
the base power as an input parameter.
In contrast to CSTNCT, this model representation of a static compensator does
not need the base to be defined as it is
automatically defined.
This model represents an SCR-controlled
shunt reactor and a parallel connected
capacitor, if present.
The model is intended to control an SVC
with TCR and fixed capacitors (no TSC)
but it can be made to control a regular
SVC with switchable capacitors. For this
model, if the voltage magnitude deviates
from nominal by Override Voltage" per
unit, the reactor will be gated either all the
way on or off.
This models an SCR-controlled shunt reactor and a parallel connected capacitor,
if present. This model allows the static var
source to try to regulate the voltage on a
remote bus.
The features of this model include a fast
override and remote bus voltage control.
The fast override is activated when the
voltage error exceeds a threshold value
during major disturbances, such as faults
near the SVC or switching.
The features of this model include a fast
override and remote bus voltage control.
The fast override is activated when the
voltage error exceeds a threshold value
during major disturbances, such as faults
near the SVC or switching. The controller
includes non-windup limits.
This model compensates generator terminal voltage in general accordance with
= . A positive value
of Xe causes the compensated voltage to
correspond to that at a point outside the
generator.
Model Name
Full Name
drp_IEEEVC
Description
1109
D.6
Description
All available frames in the standard library work with any standard control model from the library. The
droop block/function refers to voltage droop", not to frequency droop" which can be adjusted separately
in the governor model.
1110
D.7
Typical Arrangements
In case no specific information about the controllers is available, the following typical configurations for
the most common applications may be used.
Steam Plant Model In the standard library there are several models representing steam units turbine/governors, all TGOVs, IEEEG1, IEEESGO, and others.
The SYM Frame_no droop can be used to model thermal power plants (no combined cycle). For
combined cycle there is no standard frame, so it has to be created from information relating to
each specific unit. If no detailed information is available, the standard thermal model IEEG1 may
be used for the governor, enabling as many stages (HP, MP and/or LP) as required; for a more
generic and simplified model, TGOV1 can be also used. The AVR for this kind of application
strongly depends on the excitation system of the machine, predominantly AC or static systems,
except for old installations, where DC systems may be still in operation.
Hydro Turbine Model The most commonly-used hydro models are the HYGOV, IEEEG3, HYG3, GPWSCC, and HYGOV4 models, all of which are used to represent the principal dynamic effects of
the energy source and prime mover. Static excitation systems are commonly used for modern
hydro units such as ESST1A. Any of the standard SYM Frame or SYM frame_no droop can be
used.
Internal Combustion Model A diesel or gas unit synchronous generator is no different to any other
type of generator unit, only their total inertia is usually lower, and they are usually salient pole
machines. For the AVR, the ESAC8B, AC8B or EXAC1 and EXAC1A types from the library may
be used. The only diesel governor available in the standard library is the DEGOV1.
1111
1112
Appendix E
DPL Reference
E.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
ComEcho
ComImport
ComInc
ComLink
ComMerge
Execute
EchoOn
EchoOff
GetCreatedObjects
GetModificdObjects
Execute
ReciveData
SendData
CheckAssignments
Compare
CompareActive
ExecuteRecording
ExecuteWithActiveProject
GetCorrespondingObject
GetModification
GetModificationResult
GetmodifiedObjects
Merge
PrintComparisionReport
PrintModifications
Reset
SetAutoAssignmentForAll
SetObjectsToCompare
ShowBrowser
WereModificationsFound
1113
Class
ComNmink
ComOutage
ComRel3
ComRes
ComShc
ComSimoutage
1114
Method
AddRef
Clear
GetAll
GetObject
RemoveEvents
SetObjs
AnalyseElmRes
CreateFaultCase
RemoveEvents
RemoveOutage
Execute
ExportFullRange
FileNmResNm
Execute
AddCntcy
Execute
ExecuteCntcy
ReportObjs
Reset
SetLimits
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
BuildNodeNames
GetAvailableGenPower
GetAvailableGenPower
GetAll
IsSplitting
AddCubicle
Clear
GetInterior
Slotupd
ComUcteexp
ElmAsm
ElmAsmsc
ElmBay
ElmBoundary
ElmComp
1115
Class
ElmCoup
ElmFeeder
ElmLne
ElmNet
ElmRes
1116
Method
Close
GetRemoteBreakers
IsBreaker
IsClosed
IsOpen
Open
GetAll
GetBranches
GetBuses
GetNodesBranches
GetObjs
CreateFeederWithRoutes
FitParams
GetType
GetY0m
GetY1m
GetZ0m
GetZ1m
HasRoutes
HastFoutesOrSec
IsCable
IsNetCoupling
SetCorr
SetDetailed
Activate
CalculateInterchangeTo
Deactivate
AddVars
Clear
Draw
Flush
GetObj
GetResData
Init
LoadResData
ReleaseResData
ResFirstValidObject
ResFirstValidObjectVar
ResFirstValidVar
ResIndex
ResNextValidObject
ResNextValidObjectVar
ResNextValidVar
ResNval
ResNvars
SetAsDefault
Write
DIgSILENT PowerFactory 15, User Manual
Class
ElmStactrl
ElmSubstat
ElmSym
ElmTerm
ElmTow
ElmTr
ElmZone
IntCase
IntDplmap
Method
WriteDraw
GetControlledHVNode
GetControlledLVNode
GetSetupTransformer
GetSplit
GetSplitCal
GetSplitIndex
OverwriteRA
ResetRA
SaveAsRA
SetRA
Disconnect
GetAvailableGenPower
IsConnected
Reconnect
GetMinDistance
GetNextHVBus
IsElectrEquivalent
IsEquivalent
FitParams
PrintFreqDepParams
IsQuadBooster
GetAll
GetBranches
GetBuses
GetNodes
GetObjs
Activate
Deactivate
Reduce
Clear
Contains
First
GetValue
Insert
Next
Remove
Size
Update
1117
Class
IntDplvec
IntEvt
IntForm
IntMat
IntMon
IntPlot
IntPrj
IntPrjfolder
1118
Method
Clear
Get
IndexOf
Insert
Remove
Size
Sort
CreateCBEvents
SetText
WriteOut
ColLbl
Get
Init
Invert
Multiply
NCol
NRow
Resize
RowLbl
Set
SortToColumn
AddVar
ClearVars
GetVar
NVars
PrintAllVal
PrintVal
RemoveVar
SetAdaptY
SetAutoScaleY
SetScaleY
Activate
Deactivate
GetLatestVersion
HasExternalReferences
Migrate
Purge
UpdateStatistics
GetProjectFolderType
IsProjectFolderType
Class
IntScenario
IntSstage
IntThrating
IntUser
IntUseman
IntVariant
IntVec
IntVersion
Method
Activate
Apply
Deactivate
GetObjects
Save
Activate
GetCriticalTimePhase
GetRating
Purge
SetPassword
CreateGroup
CreateUser
GetGroups
GetUsers
Activate
Deactivate
Reduce
Get
Init
Resize
Set
Size
CreateDerivedProject
Rollback
1119
Class
Object
1120
Method
AddCopy
CreateObject
Delete
Edit
GetChildren
GetClass
GetConnectedElms
GetConnectionCount
GetContents
GetControlledNode
GetCubicle
GetFullName
GetNet
GetNode
GetOperator
GetOwner
GetParent
GetReferences
GetSize
GetUserAttribute
GetVal
HasResults
Inom
IsClass
IsEarthed
IsEnergized
IsInFeeder
IsNode
IsOutOfService
IsReducible
IsRelevant
lnm
MarkInGraphics
Move
PasteCopy
GetSystemGround
SetSize
SetVal
ShowFullName
ShowModalSelectTree
snm
StochEvt
unm
Unom
VarExists
Class
Set
SetDesktop
SetFeeder
SetFilt
SetLevelvis
Method
Add
Clear
Count
First
FirstFilt
Firstmatch
IsIn
MarkInGraphics
Next
NextFilt
Nextmatch
Obj
OutputFlexibleData
Remove
ShowModalBrowser
ShowModalSelectBrowser
ShowModelessBrowser
SortToClass
SortToName
SortToVar
AddPage
DoAutoScaleX
GetPage
SetAdaptX
SetAutoScaleX
SetResults
SetScaleX
SetXVar
Show
WriteWMF
GetAll
GetBranches
GetBuses
Get
AdaptWidth
Aling
ChangeFont
ChangeFrameAndWidth
ChangeLayer
ChangeRefPoints
Mark
Reset
1121
Class
SetPath
SetSelect
SetTime
SetVipage
StaCubic
StaSwitch
TypAsm
TypAsmo
1122
Method
AllBreakers
AllClosedBreakers
AllOpenBreakers
GetAll
GetBranches
GetBuses
AddRef
All
AllAsm
AllBars
AllBreakers
AllClosedBreakers
AllElm
AllLines
AllLoads
AllOpenBreakers
AllSym
AllTypLne
Clear
GetAll
Date
SetTime
SetTimeUTC
Time
DoAutoScaleX
DoAutoScaleY
GetScaleObjX
GetVI
SetAdaptX
SetAutoScaleX
SetDefScaleX
SetResults
SetScaleX
SetStyle
SetTile
SetXVar
AddBreaker
RemoveBreaker
GetAll
GetConnectedMajorNodes
Close
IsClosed
IsOpen
Open
CalcElParams
CalcElParams
Class
Method
TypLne
Variations
VisFft
VisPlot
VisPlot2
E.2
IsCable
SetNomCur
Activate
Deactivate
NewStage
CreateStageObject
GetActiveScheduler
DoAutoScaleX
AddResVar
AddVars
Clear
DoAutoScaleX
DoAutoScaleY
GetScaleObjX
GetScaleObjY
SetAdaptX
SetAdaptY
SetAutoScaleX
SetAutoScaleY
SetCrvDesc
SetDefScaleX
SetDefScaleY
SetScaleX
SetScaleY
SetXVar
DoAutoScaleY2
This is the list of all documented methods and global functions in DPL. Each method is linked to the
class or header file where it is documented.
DPL Methods & Functions
Activate
ActiveCase
AdaptWidth
Add
AddBreaker
ElmNet
IntCase
IntPrj
IntScenario
IntScheme
IntSstage
IntVariant
Global
SetLevelvis
Set
StaCubic
1123
Function
AddCntcy
AddColumn
AddCopy
AddCubicle
AddCurve
AddHeader
AddInvisibleFilter
AddListFilter
AddListFilterEntires
AddPage
AddPlot
AddRef
AddResVars
AddVars
AddXLabel
Aling
All
AllAsm
AllBars
AllBreakers
AllClosedBreakers
AllElm
AllLines
AllLoads
AllOpenBreakers
AllRelevant
AllSym
AllTypLne
AnalyseElmRes
Apply
BuildNodeNames
CalcElParams
CalculateInterchangeTo
ChangeFont
ChangeFrameAndWidth
ChangeLayer
ChangeRefPoints
CheckAssignments
1124
Class
ComSimoutage
ComTablereport
Object
ElmBoundary
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ActiveCase
ComTablereport
ComNmink
SetSelect
VisPlot
ElmRes
VisPlot
ComTablereport
SetLevelvis
SetSelect
SetSelect
SetSelect
SetPath
SetSelect
SetPath
SetSelect
SetSelect
SetSelect
SetSelect
SetPath
SetSelect
AllRelevant
SetSelect
SetSelect
ComRel3
IntScenario
ComUcteexp
TypAsm
TypAsmo
ElmNet
SetLevelvis
SetLevelvis
SetLevelvis
SetLevelvis
SetLevelvis
Function
Clear
ClearCommands
ClearOutput
ClearVars
Close
ColLbl
Compare
CompareActive
Contains
Count
CreateCBEvents
CreateDerivedProject
CreateFaultCase
CreateFeederWithRoutes
CreateGroup
CreateObject
CreateStageObject
CreateUser
Date
Deactivate
Delete
DisableAutomaticRowNumbering
Disconnect
DoAutoScaleX
DoAutoScaleY
DoAutoScaleY2
Draw
EnableAutomaticRowNumbering
Error
Exe
Class
ComNmink
ElmRes
IntDplmap
IntDplvec
Set
SetSelect
VisPlot
ElmBoundary
Global
Global
IntMon
ElmCoup
StaSwitch
IntMat
ComMerge
ComMerge
IntDplmap
Set
IntEvt
IntVersion
ComRel3
ElmLne
IntUserman
Object
Variations
IntUserman
SetTime
ElmNet
IntCase
IntPrj
IntScenario
IntScheme
IntVariant
Object
ComTablereport
ElmSym
SetDesktop
SetVisPage
VisFft
VisPlot
SetVisPage
VisPlot
VisPlot2
ElmRes
ComTablereport
Global
Global
1125
Function
Execute
ExecuteCntcy
ExecuteRecording
ExecuteWithActiveProject
Exit
ExportFullRange
fclose
fflush
FileNmResNm
First
FirstFilt
Firstmatch
FitParams
Flush
fopen
FormatDateLT
FormatDateUCT
fprintf
fRand
fscanf
fscanfsep
fWrite
Get
GetActiveNetworkVariations
GetActiveProject
GetActiveScenario
GetActiveScheduler
GetActiveStages
GetActiveStudyCase
1126
Class
ComDpl
ComInc
ComLdf
ComRel3
ComShc
ComSimoutage
ComSimoutage
ComMerge
ComMerge
Global
ComRes
Global
Global
ComRes
IntDplmap
Set
Set
Set
ElmLne
ElmTow
ElmRes
Global
FormatDateLT
FormatDateUCT
fprintf
Global
Global
Global
Global
IntDplvec
IntMat
IntVec
SetFilt
GetActiveNetworkVariations
GetActiveProject
GetActiveScenario
Variations
GetActiveStages
GetActiveStudyCase
Function
GetAll
GetAvailableGenPower
GetBorderCubicles
GetBranches
GetBuses
GetCaseCommand
GetCaseObject
GetChildren
GetClass
GetConnectedElms
GetConnectedMajorNodes
GetConnectionCount
GetContents
GetControlledHVNode
GetControlledLVNode
GetControlledNode
GetCorrespondingObject
GetCreatedObjects
GetCriticalTimePhase
GetCubicle
GetDataFolder
GetFlowOrientation
GetFullName
GetGlobalLib
GetGraphBoard
GetGroups
GetInterior
GetLanguage
GetLatestVersion
GetLocalLib
GetMinDistance
GetModification
Class
ComNmink
ElmBay
ElmFeeder
ElmZone
SetFeeder
SetPath
SetSelect
StaCubic
ElmAsm
ElmAsmsc
ElmSym
GetBorderCubicles
ElmFeeder
ElmZone
SetFeeder
SetPath
ElmFeeder
ElmZone
SetFeeder
SetPath
Global
Global
Object
Object
Object
StaCubic
Object
Object
ElmStactrl
ElmStactrl
Object
ComMerge
ComImport
IntThrating
Object
GetDataFolder
Global
Object
Global
GetGraphBoard
IntUserman
ElmBoundary
Global
IntPrj
Global
ElmTerm
ComMerge
1127
Function
GetModificationResult
GetModifiedObjects
GetNet
GetNextHVBus
GetNode
GetNodes
GetNodesBranches
GetObj
GetObject
GetObjects
GetObjs
GetOperator
GetOwner
GetPage
GetPageLen
GetParent
GetPFVersion
GetProjectFolder
GetProjectFolderType
GetRating
GetRecordingStage
GetReferences
GetRemoteBreakers
GetResData
GetScaleObjX
GetScaleObjY
GetSettings
GetSystemGround
GetSize
GetSplit
GetSplitCal
GetSplitIndex
GetSetupTransformer
GetSystemTime
GetTime
GetType
GetUserAttribute
GetUserManager
GetUsers
GetVal
GetValue
GetVar
GetVersions
GetVI
1128
Class
ComMerge
ComImport
ComMerge
Object
ElmTerm
Object
ElmZone
ElmFeeder
ElmRes
ComOutage
InScenario
ElmFeeder
ElmZone
Object
Object
SetDesktop
Global
Object
Global
Global
IntPrjfolder
IntThrating
Global
Object
ElmCoup
ElmRes
SetVisPage
VisPlot
VisPlot
Global
Object
Object
ElmSubstat
ElmSubstat
ElmSubstat
ElmStactrl
Global
Global
ElmLne
Object
Global
IntUserman
Object
IntDplmap
IntMon
IntPrj
SetVisPage
Function
GetY0m
GetY1m
GetZ0m
GetZ1m
HasExternalReferences
HasResults
HasRoutes
HastFoutesOrSec
IndexOf
Info
Init
Inom
Insert
Invert
IsBreaker
IsCable
IsClass
IsClosed
IsConnected
IsEarthed
IsElectrEquivalent
IsEnergized
IsEquivalent
IsIn
IsInFeeder
IsNetCoupling
IsNode
IsOpen
IsOutOfService
IsProjectFolderType
IsQuadBooster
IsReducible
IsRelevant
IsSplitting
Inm
LoadResData
Mark
MarkInGraphics
Merge
Migrate
Class
ElmLne
ElmLne
ElmLne
ElmLne
IntPrj
Object
ElmLne
ElmLne
IntDplvec
Global
ElmRes
IntMat
IntVec
Object
IntDplmap
IntDplvec
IntMat
ElmCoup
ElmLne
TypLne
Object
ElmCoup
StaSwitch
ElmSym
Object
ElmTerm
Object
ElmTerm
Set
Object
ElmLne
Object
ElmCoup
StaSwitch
Object
IntPrjfolder
ElmTr
Object
Object
ElmBoundary
Object
ElmRes
SetLevelvis
Object
Set
ComMerge
IntPrj
1129
Function
Class
Move
Multiply
NCol
Object
IntMat
IntMat
IntDplmap
Set
IntScheme
Set
Set
NoFinalUpdate
IntMat
IntMon
Set
ElmCoup
StaSwitch
Set
ElmSubstat
Global
Global
Object
Global
IntMon
ComMerge
Global
ElmTow
ComMerge
IntMon
IntPrj
IntUser
Random
Rebuild
ComLink
ElmSym
IntCase
IntVariant
ElmRes
IntDplmap
IntDplvec
Set
ComOutage
ComRel3
StaCubic
ComRel3
IntMon
ComSimoutage
ComMerge
ComSimoutage
SetLevelvis
Next
NewStage
NextFilt
NextMatch
NoFinalUpdate
NRow
NVars
Obj
Open
OutputFlexibleData
OverwriteRA
ParseDateLT
ParseDateUTC
PasteCopy
PostCommand
PrintAllVal
PrintComparisionReport
printf
PrintFreqDepParams
PrintModifications
PrintVal
Purge
Random
Rebuild
ReceiveData
Reconnect
Reduce
ReleaseResData
Remove
RemoveEvents
RemoveBreaker
RemoveOutages
RemoveVar
ReportObjs
Reset
1130
Function
ResetCalculation
ResetRA
ResFirstValidObject
ResFirstValidObjectVar
ResFirstValidVar
ResIndex
Resize
ResNextValidObject
ResNextValidObjectVar
ResNextValidVar
ResNvar
ResNvars
Rollback
RowLbl
Save
SaveAsRA
SaveScenarioAs
SearchObjectByForeignKey
SendData
Set
SetAdaptX
SetAdaptY
SetAsDefault
SetAutoAssignmentForAll
SetAutoScaleX
SetAutoScaleY
SetBarLimits
SetCellAccess
SetCellEdit
SetCellValueToBar
SetCellValueToCheckbox
SetCellValueToDate
SetCellValueToDouble
SetCellValueToInt
SetCellValueToObject
SetCellValueToString
SetColumnHeader
SetConsistencyCheck
SetCorr
Class
Global
ElmSubstat
ElmRes
ElmRes
ElmRes
ElmRes
IntMat
IntVec
ElmRes
ElmRes
ElmRes
ElmRes
ElmRes
IntVersion
IntMat
IntScenario
ElmSubstat
Global
Global
ComLink
IntMat
IntVec
SetDesktop
SetVisPage
VisPlot
IntPlot
VisPlot
ComRes
ComMerge
SetDesktop
SetVisPage
VisPlot
IntPlot
VisPlot
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
ComTablereport
SetConsistencyCheck
ElmLne
1131
Function
SetCrvDesc
SetCurvevalue
SetDefScaleX
SetDefScaleY
SetDetailed
SetDialogSize
SetDiffMode
SetGraphicUpdate
SetLimits
SetLineFeed
SetListFilterSelection
SetNomCurr
SetNumberFormatForPlot
SetObjectsToCompare
SetObjs
SetOutputWindowState
SetPassword
SetRA
SetRandSeed
SetResults
SetScaleX
SetScaleY
SetShowAllUsers
SetSize
SetSorting
SetStatusText
SetStyle
SetText
SetTextAxisDistForPlot
SetTicksForPlot
SetTile
SetTime
SetTimeUTC
SetTitle
SetVal
SetXVar
Show
ShowBrowser
ShowFullName
ShowModalBrowser
1132
Class
VisPlot
ComTablereport
SetVisPage
VisPlot
VisPlot
ElmLne
ComTablereport
Global
Global
ComSimoutage
Global
ComTablereport
TypLne
ComTablereport
ComMerge
ComOutage
Global
IntUser
ElmSubstat
Global
SetDesktop
SetVisPage
SetDesktop
SetVisPage
VisPlot
IntPlot
VisPlot
Global
Object
ComTablereport
ComTablereport
SetVisPage
IntForm
ComTablereport
ComTablereport
SetVisPage
Global
SetTime
ComTablereport
Object
SetDesktop
SetVisPage
VisPlot
SetDesktop
ComMerge
Object
Set
Function
ShowModalSelectBrowser
ShowModalSelectTree
ShowModelessBrowser
Size
Slotupd
snm
Sort
SortToClass
SortToColumn
SortToName
SortToVar
sprintf
sscanf
sscanfsep
StochEvt
strchg
strcmp
strcpy
strftime
strlen
strstr
strtok
SummaryGrid
SetTime
ToStr
unm
Unom
Update
UpdateStatistics
validLDF
validLDF
validRMS
validSHC
validSIM
VarExists
Warn
WereModificationsFound
Write
WriteDraw
WriteOut
WriteWMF
Class
Set
Object
Set
IntDplmap
IntDplvec
IntVec
ComMerge
Object
IntDplvec
Set
IntMat
Set
Set
Global
Global
Global
Object
Global
Global
Global
Global
Global
Global
Global
SummaryGrid
Time
Global
Object
Object
IntDplmap
IntPrj
Global
Global
Global
Global
Global
Object
Global
ComMerge
ElmRes
Output Window
ElmRes
IntForm
SetDesktop
1133
E.3
E.3.1
Object
The following list is an overview of all functions and methods which are available for all objects.
AddCopy
CreateObject
Delete
Edit
SearchObjectByForeignKey
GetCaseObject
GetChildren
GetClass
GetConnectionCount
GetConnectedElms
GetContents
GetControlledNode
GetCubicle
GetFullName
GetNet
GetNode
GetOperator
GetOwner
GetParent
GetReferences
GetSystemGround
GetSize
GetUserAttribute
GetVal
HasResults
IsClass
IsEarthed
IsEnergized
IsInFeeder
IsNode
IsOutOfService
IsReducible
IsRelevant
1134
E.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 successful. A NULL" object is returned otherwise.
Copying a set of objects will respect all internal references between those objects. Copying a set of
lines and their types, for example, will result in a set of copied lines and line types, where the copied
lines will use the copied line types.
Arguments:
set aSet (obligatory) : The set of objects to copy
or
object aObj (obligatory) : The object to copy
string | int NM1 (optional) : The first part of the new name
string | int NM2 (optional) : The next part of the new name
...
Return value:
Returns the copy that has been created.
Example:
The following example copies a fuse to a set of cubicles. The copies will be named Fuse Nr.0", Fuse
Nr.1", etc.
object target, copy;
set Cubs;
Cubs = SEL.GetAll('StaCubic');
target = Cubs.First();
1135
E.3.1.2
object.CreateObject
E.3.1.3
Delete
1136
E.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 flow.
MyLine.Edit(); Ldf.Execute();
E.3.1.5
GetCaseObject
1137
E.3.1.6
SearchObjectByForeignKey
object obj;
obj = SearchObjectByForeignKey('fkey ');
printf('Object found: %o ', obj);
E.3.1.7
object.GetChildren
1138
string filter (optional) : Name filter, possibly containing '*'and '?'characters (see also GetContents E.3.1.11)
int subfolder (optional)
0
1
Return value:
Set of objects that are stored in the called object.
Example:
The following example lists all contained terminals for each substation:
E.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
1139
E.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();
}
}
}
}
E.3.1.10
object.GetConnectedElms
1140
object.GetContents
E.3.1.12
object.GetControlledNode
1141
double targetVoltage (obligatory) : The output parameter will be set to the target voltage
int check (optional) :
0
1
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();
E.3.1.13
object.GetCubicle
1142
object.GetFullName
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); !
E.3.1.15
print again:
object.GetNet
object object.GetNet()
Returns the grid in which the object is located.
Arguments:
DIgSILENT PowerFactory 15, User Manual
1143
E.3.1.16
object.GetNode
E.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
E.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
1144
object.GetParent
E.3.1.20
object.GetReferences
refs = obj1.GetReferences();
1145
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 defined by network components separating the zero sequence system (e.g. stardelta 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
E.3.1.22
object.GetSize
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;
1146
0.016594
0.016445
0.016851
0.016408
0.016701
0.016851
0.016408
0.016576
0.016869
0.066738
0.016576
0.016594
0.016372
0.066832
0.016372
0.016701
0.067073
0.016701
0.016869
0.066738
0.016869
0.016372
0.066832
0.016372
0.016594
0.016408
E.3.1.23
object.GetUserAttribute
set objs;
object obj;
string sval;
DIgSILENT PowerFactory 15, User Manual
1147
E.3.1.24
object.GetVal
E.3.1.25
object.HasResults
1148
Return value:
0: no results available
1: results exist
E.3.1.26
object.IsClass
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();
}
E.3.1.27
object.IsEarthed
int object.IsEarthed ()
Checks if a network component is topologically connected to any earthed component. Earthing compoDIgSILENT PowerFactory 15, User Manual
1149
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);
}
}
E.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;
1150
E.3.1.29
object.IsInFeeder
E.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
E.3.1.31
object.IsOutOfService
int object.IsOutOfService ()
Returns 1 if the object is currently out of service. Returns 0 otherwise.
Arguments:
none
1151
E.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;
}
}
1152
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();
}
E.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();
}
E.3.1.35
object.Move
1153
object targetobj,pObj;
set AllObjs;
! move pObj to targetobj
targetobj.Move(pObj);
! move all objects inside AllObjs to targetobj
targetobj.Move(AllObjs);
E.3.1.36
object.PasteCopy
E.3.1.37
object.SetSize
E.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) {
1155
E.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 finished.
Example:
The following example writes all overloaded lines from the selection to the output window.
set S;
object O;
S = SEL.AllLines();
O = S.First();
while (O) {
if (O:c:loading>100.0) {
O.ShowFullName();
}
O = S.Next();
}
E.3.1.40
object.ShowModalSelectTree
1156
E.3.1.41
object.StochEvt
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
E.3.1.42
object.VarExists
1157
E.3.1.43
object.lnm
E.3.1.44
object.Inom
double object.Inom ()
1158
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 E.3.1.46
E.3.1.45
object.unm
E.3.1.46
object.Unom
double object.Unom ()
Returns the nominal voltage of the object.
Arguments:
1159
E.3.1.47
object.snm
E.3.2
General Set
AllRelevant
Add
Clear
Count
First
FirstFilt
Firstmatch
1160
E.3.2.1
AllRelevant
1161
E.3.2.2
set.Add
set S, Sbig;
object O;
Sbig = SEL.AllLines();
S = SEL.AllLoads();
Sbig.Add(S);
S = SEL.AllBreakers();
O = S.First();
Sbig.Add(O);
1162
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();
E.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();
}
E.3.2.5
set.First
object set.First()
Returns the first object in the set.
Arguments:
DIgSILENT PowerFactory 15, User Manual
1163
E.3.2.6
set.FirstFilt
E.3.2.7
set.Firstmatch
1164
E.3.2.8
set.IsIn
E.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();
1165
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 E.3.2.5 .
E.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 E.3.2.6
1166
set.Nextmatch
int set.Nextmatch ()
set.Nextmatch () is obsolete. Use set.NextFilt () instead.
E.3.2.13
set.Obj
E.3.2.14
set.OutputFlexibleData
void set.OutputFlexibleData()
Has identical functionality to that implemented in the Object Filter dialogue, whereby the user can rightclick 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 defined a Flexible Data page for the
objects in the set. Upon execution of this function, all Flexible Data defined for the objects in the set is
output to the PowerFactory output window in a tabular format.
Arguments:
none
Return value:
none
Example:
The following example collects all elements of classes ElmLne and (lines and terminals, respectively)
which are relevant to the calculation and output their defined Flexible Data to the output window:
set sElms;
sElms = AllRelevant('*.ElmLne,*.');
sElms.OutputFlexibleData();
E.3.2.15
set.Remove
1167
E.3.2.16
set.ShowModalBrowser
E.3.2.17
set.ShowModalSelectBrowser
E.3.2.18
set.ShowModelessBrowser
E.3.2.19
set.SortToClass
1169
set.SortToName
E.3.2.21
set.SortToVar
E.3.3
String
E.3.3.1
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 specifiers:
'd'or 'i'
'e'
'E'
'f'
'g'
'G'
1171
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
b
c
d
e
f
g
h
black
black
red
green
blue
brown
cyan
magenta
i
j
k
l
m
n
o
p
gray
light gray
bordeaux
dark red
dark green
light green
marine
dark blue
Table E.3.11
Example:
sprintf
Since version 13.1 there is an easier way of writing an string to a file by using fprintf .
The output format is defined by the format string. The passed arguments and the passed format string
must match. An error message will be produced when, for instance, a format string for two strings is
used together with three doubles.
See the format string syntax for more information.
See also printf E.3.5.4.
See also fprintf E.3.6.4.
See also Error E.3.5.2.
See also Warn E.3.5.7.
See also Info E.3.5.3.
See also Write E.3.5.8.
E.3.3.3
ToStr
ToStr
The command ToStr is obsolete and has been replaced by the sprintf command. See sprintf E.3.3.2 for
more information.
1173
sscanf
int sscanf (string Source, string Format, string T | double X | int I, ...)
Returns the number of fields successfully converted and assigned; the return value does not include
fields that were read but not assigned.
Arguments:
string Source (obligatory) : The string
string Format (obligatory) : Defines a format of variable types (int/string/double) to which the fields are
assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an error or if the
end of the string is reached before the first conversion.
Example:
The following example assignes the first two fields of string sStr to the string sRes and the double rVal
iPos = 0;
sStr = 'Test 23';
iRet = sscanf(sStr,'%s %d',sRes,iPos);
printf('%s %d iRet = %d',sRes,iPos,iRet);
Output of the script above:
Test 23 iRet = 0
E.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) : Defines a format of variable types (int/string/double) to which the fields are
assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
string separator (optional): Character that separates tokens in given input string.
Return value:
Number of assigned variables
Example:
1174
E.3.3.6
strstr
E.3.3.7
strcpy
1175
E.3.3.8
strcmp
E.3.3.9
! gives as result: i = 1
! gives as result: i = -1
! gives as result: i = 0
strchg
1176
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);
}
E.3.3.10
strlen
E.3.3.11
strtok
string strtok (string Source, string Delimiter, int Pos, int Num)
Splits the string Source into tokens separated by the characters defined in the Delimiter. The function
returns the token between separator (Num-1) and (Num) as a string and the position of the token in the
Source.
Arguments:
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;
1177
E.3.3.12
Das iPos = 0
ist nur iPos = 4
555 iPos = 32
strftime
Return value:
1178
E.3.4
ParseDateUTC
E.3.4.1
FormatDateLT
1179
E.3.4.2
FormatDateUTC
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:
2010-06-08T06:12:15+02:00
E.3.4.3
1970-01-01T00:00:00+00:00 seconds;
GetTime
E.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
1181
E.3.4.5
ParseDateLT
%d
%H
%m
%M
%S
%Y
E.3.4.6
1180703210
ParseDateUTC
1182
3600
E.3.5
1153828740
Output Window
ClearOutput
Error
Info
printf
SetLineFeed
SetOutputWindowState
Warn
Write
E.3.5.1
ClearOutput
void ClearOutput ()
1183
E.3.5.2
Error
E.3.5.3
Info
1184
E.3.5.4
printf
'b'
'[width]F'
1185
E.3.5.5
SetLineFeed
E.3.5.6
SetOutputWindowState
E.3.5.7
Warn
1187
using approximation.');
The output format is defined by the format string. The passed arguments and the passed format string
must match. An error message will be produced when, for instance, a format string for two strings is
used together with three doubles.
See the Format String Syntax E.3.3.1 for more information.
E.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 defining reports and result-boxes. See Section for more information.
Because data or parameters of more than object is often written out, the DIgSILENT output 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 first line only contains normal text.
The second line writes the name and loading of two lines. In this example, ACC(1)" refers to the object
LineA", and ACC(2)" to LineB"
Write('The following results are found');
Write('# : #.## # , # : #.## # $N,
ACC(1):loc_name,ACC(1):c:loading,[ACC(1):c:loading,
ACC(2):loc_name,ACC(2):c:loading,[ACC(2):c:loading', LineA, LineB);
See also printf E.3.5.4
1188
E.3.6
File
fclose
fflush
fopen
fprintf
fscanf
fscanfsep
E.3.6.1
fclose
E.3.6.2
fflush
1189
E.3.6.3
fopen
int fopen (string Path, string Mode, int iFH, int iRet)
Opens file with attribute Mode and assigns an ID iFH of the file handler to the open file.
Arguments:
string Path (obligatory): Path of file to open. Path must exist. File could be created depending on the
Mode
string Mode (obligatory): The attribute for opening the file (r,w,a,r+,w+,a+,b,t)
int iFH (obligatory): Number of file handler (0,1,...,9)
int iRet (optional): If it is set to 0 or no value is given, the function does not return any value. If different
that 0, value is returned
Return value:
0 on success, 1 on error
Example:
The following example opens a file and closes it again.
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
printf('%s %.1f iRet = %d',sRes,rVal,iRet);
fclose(0);
E.3.6.4
fprintf
string fprintf (int iFH, string Format [, string T | double X | int I, ...])
Writes a formatted string to a file. The fprintf() command uses the C++ printf() formatting syntax.
Arguments:
int iFH (obligatory): Number of file handler (0,1,...,9)
string Format (obligatory): Defines a format of variable types (int/string/double) to which the fields are
assigned
string T (optional): Return of the result string
double X (optional): Return of the result double
int I (optional): Return of the result integer
Return value:
The printed string
Example:
1190
E.3.6.5
fWrite
The command fWrite is obsolete and has been replaced by the printf command. See printf E.3.5.4 for
more information.
E.3.6.6
fscanf
int fscanf (int iFH, string Format, string T | double X | int I, ...)
Returns the number of fields successfully converted and assigned; the return value does not include
fields that were read but not assigned.
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
string Format (obligatory) : Defines a format of variable types (int/string/double) to which the fields are
assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an error or if the
end of the string is reached before the first conversion.
Example:
The following example assignes the first to fields of the text file 'test.txt'(contents: 'Name 12.333') to the
string sRes and the double rVal
fopen('d:\tmp\test.txt','r',0);
iRet = fscanf(0,'%s %d',sRes,rVal);
DIgSILENT PowerFactory 15, User Manual
1191
E.3.6.7
fscanfsep
int fscanfsep(int iFH, string Ft, string T | double X | int I, ..., string sSep, int iLine)
Functionality like fscanf. Returns the number of fields successfully converted and assigned; the return
value does not include fields that were read but not assigned. This function additionally considers a
special character to separate the values, instead of the standard separators like blanks and tabs. It also
can be instructed to stop after the line read.
Arguments:
int iFH (obligatory) : Number of file handler (0,1,...,9)
string Ft (obligatory) : Defines a format of variable types (int/string/double) to which the fields are
assigned
string T (optional) : Return of the result string
double X (optional) : Return of the result double
int I (optional) : Return of the result integer
string sSep : separator character
int iLine (obligatory) : 1 if the interpretation of the line will be stopped after the current line. 0 for
continued interpretation.
Return value:
A return value of 0 indicates that no fields were assigned. The return value is -1 for an error or if the
end of the string is reached before the first conversion.
Example:
int iRet;
string sRes;
fopen('c:\test1.txt','r',0);
SetLineFeed(0);
while (iRet > -1){
iRet = fscanfsep(0,'%s',sRes,';',1);
if (iRet = -1){
break;
}
printf('%s\n',sRes);
}
fclose(0);
E.3.7
1192
Miscellaneous
E.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(); ..
EchoOn();
E.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
1193
E.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;
}
E.3.7.4
fRand
uniform distribution
normal distribution
weibull distribution
returns 0.0
Table E.3.21
double p1 (optional) :
double p2 (optional) :
p1
p2
uniform
min
max
normal
mean
stdvar
weibull
shape
scale
Table E.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:
1195
E.3.7.5
20.225048
31.371372
15.313008
17.908476
35.265549
44.846884
24.725714
17.020344
47.127992
11.819403
20.364702
11.501229
14.782988
-6.831869
6.403110
20.024787
-6.099016
13.658290
0.749566
-6.716297
32.294429
28.380458
23.883499
28.314934
25.233148
35.297444
28.535867
32.858903
28.616229
37.955694
15.165993
26.404837
34.911052
20.706127
16.437912
22.190684
27.149573
30.625329
21.187893
29.645523
GetBorderCubicles
E.3.7.6
1196
GetLanguage
E.3.7.7
GetPageLen
E.3.7.8
GetSettings
Return type
string
string
string
integer
string
Description
Name of logged-in user (IntLogon:usernm)
Fully qualified path of installation directory of PowerFactory (IntLogon:ptdig)
Fully qualified path of working directory of PowerFactory (IntLogon:ptwrk)
ID of current session
Name of used database driver (IntLogon:db_driver)
Table E.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
1197
E.3.7.9
GetUserManager
object GetUserManager ()
Offers access to the user manager object (IntUserman) stored in the configuration folder.
Arguments:
none
Return value:
The user manager object
E.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 first an input box to enter a number and then to enter a text:
double dval;
1198
E.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()E.3.7.2.
See also EchoOn()E.3.7.1.
E.3.7.12
Random
1199
Rebuild
Rebuild(1);
E.3.7.14
SetConsistencyCheck
E.3.7.15
SetDiffMode
E.3.7.16
SetRandSeed
1201
E.3.7.17
SetShowAllUsers
E.3.7.18
string GetPFVersion ()
Return value:
Version of the software
Example:
!string strVersion;
dVersion=GetPFVersion();
printf(%s, strVersion);
E.4
E.4.1
Project Structure
Functions
GetActiveProject
GetFlowOrientation
GetGlobalLib
GetLocalLib
1202
E.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();
E.4.1.2
GetFlowOrientation
int GetFlowOrientation ()
This function returns the flow 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"
E.4.1.3
GetGlobalLib
1203
E.4.1.4
GetLocalLib
1204
E.4.1.5
GetDataFolder
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();
E.4.1.6
GetProjectFolder
1205
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();
E.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();
1206
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();
E.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-flow and returns the total grid active power losses.
object SumGrid;
SumGrid = SummaryGrid();
if (SumGrid) {
Ldf.Execute();
output('Active Power Losses=SumGrid:c:LossP');
}
E.4.1.10
GetActiveNetworkVariations
set GetActiveNetworkVariations ()
Returns all active variations for the 'Network Data'folder.
Arguments:
1207
E.4.1.11
GetActiveStages
E.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.
1208
E.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();
E.4.1.14
SaveScenarioAs
1209
E.4.2
E.4.2.1
Activate
int IntPrj.Activate ()
Activates the project. Deactivates other projects first.
Arguments:
none
Return value:
0 on success, 1 on error.
E.4.2.2
Deactivate
int IntPrj.Deactivate ()
De-activates the project.
Arguments:
none
Return value:
0 on success, 1 on error.
E.4.2.3
GetLatestVersion
E.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:
E.4.2.5
HasExternalReferences
1211
E.4.2.6
Migrate
E.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:
1212
E.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:
E.4.3
1213
CreateDerivedProject
derivedProject = version.CreateDerivedProject('DerivedProject');
E.4.3.2
Rollback
1214
E.4.4
E.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 GetProjectFolder
Example:
The following example returns the project folder type and checks if the returned project folder is of type
'study':
object projectFolder;
string type;
int tmp;
type = projectFolder.GetProjectFolderType();
tmp = strcmp(type, 'study');
E.4.4.2
IsProjectFolderType
1215
E.4.5
StudyCaseMethods
Activate
Deactivate
Date
Reduce
SetTime
Time
E.4.5.1
Activate
int IntCase.Activate ()
Activates the study case. Deactivates other study cases first.
Arguments:
none
Return value:
0 on success, 1 on error.
E.4.5.2
Deactivate
int IntCase.Deactivate ()
De-activates the study case.
Arguments:
none
Return value:
0 on success, 1 on error.
E.4.5.3
Date
void SetTime.Date ()
Sets the current date.
Arguments:
none
Return value:
1216
E.4.5.4
Reduce
E.4.5.5
SetTime
1217
E.4.5.6
SetTimeUTC
E.4.5.7
Time
void SetTime.Time ()
Sets the current time.
Arguments:
none
Return value:
none
Example:
The following example executes a load-flow for the current time and date (the computer's system time).
object Time, Com;
Time = GetCaseObject('SetTime');
Com = GetCaseCommand('ComLdf');
Time.Date();
Time.Time();
1218
E.4.6
E.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.
E.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.
E.4.6.3
Reduce
1219
E.4.7
Variation Methods
Activate
Deactivate
NewStage
CreateStageObject
GetActiveScheduler
E.4.7.1
IntScheme.Activate
int IntScheme.Activate()
Activates a scheme and insert a scheme reference in a Scheme Configuration Folder" stored in the
study case.
Return value: 0 = successfully activated
1 = error, e.g. already activate, no project and study case active
E.4.7.2
IntScheme.Deactivate
int IntScheme.Deactivate()
Deactivates a scheme and remove the scheme reference in a Scheme Configuration Folder" stored in
the study case.
Return value: 0 = successfully deactivated
1 = error, e.g. already deactivated, no project and study case active
E.4.7.3
IntScheme.NewStage
CreateStageObject
E.4.7.5
GetActiveScheduler
object IntScheme.CreateStageObject ()
This function returns the corresponding active scheduler or NULL if no scheduler is active for this
variations (IntScheme).
Arguments:
none
Return value:
An 'IntScheme'object; NULL if no scheduler is active for this variation.
Example:
1221
E.4.7.6
IntSstage.Activate
E.4.8
E.4.8.1
Activates a scenario.
Deactivates the currently active scenario.
Applies a scenario.
Returns a set of all objects for which operational data are
stored in scenario.
Saves a modified scenario.
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
E.4.8.2
Deactivate
E.4.8.3
Apply
E.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
E.4.8.5
Save
int IntScenario.Save ()
Saves a modified scenario.
Arguments:
none
Return value:
DIgSILENT PowerFactory 15, User Manual
1223
E.5
E.5.1
Functions
GetGraphBoard
SetGraphicUpdate
E.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
E.5.1.2
SetGraphicUpdate
E.5.2
E.5.2.1
GetVI
1225
E.5.2.2
SetStyle
E.5.2.3
SetTile
1226
E.5.2.4
SetResults
1227
SetXVar
E.5.2.6
SetScaleX
1228
scale
1229
E.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*)
E.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.
1230
E.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
in the toolbar of the graphic.
by pressing the icon
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
E.5.2.10
SetAutoScaleX
1231
E.5.2.11
SetAdaptX
E.5.2.12
GetScaleObjX
object SetVipage.GetScaleObjX ()
Returns used object defining x-scale. The returned object is either the Virtual Instrument Panel itself or
the Graphics Board.
Arguments:
1233
E.5.3
E.5.3.1
AddVars
1235
E.5.3.2
AddResVars
E.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
1237
E.5.3.4
SetXVar
E.5.3.5
SetScaleX
1239
E.5.3.6
SetScaleY
1240
scale
1241
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*)
E.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
1242
E.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
1243
E.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');
}
}
}
1244
E.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
E.5.3.12
SetAutoScaleX
1245
E.5.3.13
SetAutoScaleY
1247
SetAdaptX
1248
E.5.3.15
SetAdaptY
1249
E.5.3.16
GetScaleObjX
object VisPlot.GetScaleObjX ()
Returns used object defining x-scale. The returned object is the Subplot itself, the Virtual Instrument
Panel or the Graphics Board.
Arguments:
none
Return value:
Object defining the x-scale.
Example:
The following examples look for a Subplot named 'RST'and get the used x-scale object. There are three
different examples.
1. Example: Used scale is Graphics Board 2. Example: Used scale is Virtual Instrument Panel 3.
Example: Used scale is Subplot itself.
! Used scale is Graphics Board
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.aGrf=GetGraphBoard();
if (aGrf) {
! Get Virtual Instrument Panel named Voltage
aPage=aGrf.GetPage('Voltage',1);
if (aPage) {
! Reset option 'Use local x-Axis'of Virtual Instrument Panel
aPage.SetDefScaleX();
! Get subplot named 'RST'
aPlot=aPage.GetVI('RST','VisPlot',1);
1250
1251
E.5.3.17
GetScaleObjY
object VisPlot.GetScaleObjY ()
Returns used object defining y-scale. The returned object is either the Subplot itself or the Plot Type
(IntPlot).
Arguments:
none
Return value:
Object defining the y-scale.
Example:
The following examples look for a Subplot named 'RST'and get the used y-scale object. There are three
different examples.
1. Example: Used scale is Plot Type.
2. Example: Used scale is Subplot itself.
! Used scale is Plot Type
object aPage;
object aGrf;
object aPlot;
object aScale;
! Look for opened graphics board.
aGrf=GetGraphBoard();
1252
E.5.3.18
SetCrvDesc
1253
E.5.4
DoAutoScaleX
E.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:
1254
E.5.5
E.5.5.1
SetScaleY
1255
1256
E.5.5.2
SetAutoScaleY
1257
E.5.5.3
SetAdaptY
E.5.6
E.5.6.1
AddPage
it to
page) to
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
1259
!
!
! graphic board
! page created by
AddPage
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');
}
E.5.6.2
GetPage
1260
E.5.6.3
DoAutoScaleX
int SetDesktop.DoAutoScaleX ()
Scales the x-axes of all plots in the graphics board which use the x-axis scale defined in the graphics
board. The same can be achieved by pressing the Scale button on the x-Axis page of the graphics
board.
Arguments:
none
Return value:
none
Example:
The following example looks for a page named voltage and performs an automatic scaling of the x-axes.
! 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
1261
SetAdaptX
E.5.6.5
SetAutoScaleX
E.5.6.6
SetResults
E.5.6.7
SetScaleX
1263
E.5.6.8
SetXVar
E.5.6.9
Show
E.5.6.10
WriteWMF
1265
E.5.7
The following functions must have a pre-selected group of text boxes on which these functions shall be
applied. This set of text boxes is defined by the SetLevelvis-variables aLevList, iForWhat and aSymList:
aLevList:
iForWhat:
dent)
Defines the type of the graphic object (0=all, 1=nodes, 2=branches, 3= symbol depen-
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
Align
ChangeFont
ChangeFrameAndWith
ChangeLayer
ChangeRefPoints
Mark
Reset
E.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
E.5.7.2
Align
E.5.7.3
ChangeFont
E.5.7.4
ChangeFrameAndWidth
E.5.7.5
ChangeLayer
1267
E.5.7.6
ChangeRefPoints
E.5.7.7
Mark
void SetLevelvis.Mark ()
Marks the selected group of text boxes in the currently shown diagram.
Arguments:
none
Return value:
none
E.5.7.8
Reset
1268
E.5.8
AddColumn
AddCurve
AddHeader
AddInvisibleFilter
AddListFilter
AddListFilterEntries
AddPlot
AddRow
AddTable
AddTextFilter
AddXLabel
DisableAutomaticRowNumbering
EnableAutomaticRowNumbering
SetBarLimits
SetCellAccess
SetCellEdit
SetCellValueToBar
SetCellValueToCheckbox
SetCellValueToDate
SetCellValueToDouble
SetCellValueToInt
SetCellValueToString
SetCellValueToObject
SetColumnHeader
SetCurveValue
SetDialogSize
SetListFilterSelection
SetNumberFormatForPlot
SetSorting
SetStatusText
SetTextAxisDistForPlot
SetTicksForPlot
SetTitle
E.5.8.1
ComTablereport.AddColumn
void ComTablereport.AddColumn (string tableId, string columnId, string caption[, int columnWidth, 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
1269
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', 'Scenario', 100, 1, 1, 0);
E.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
1270
ComTablereport.AddHeader
E.5.8.4
ComTablereport.AddInvisibleFilter
E.5.8.5
ComTablereport.AddListFilter
int ComTablereport.AddListFilter (string id, string label, string captions[, set filterObjects, string
selEntry, int showObjects])
or alternative
int ComTablereport.AddListFilter (string id, string label[, int showObjects])
Adds a list filter to the report.
Arguments:
string id (obligatory): Identifier
string label (obligatory): Label text
string captions (obligatory): Captions for list entries ('\n'separated)
set filterObjects (optional): Objects for list entries (default: empty)
string selEntry (optional):Selected list entry (default: empty)
int showObjects (optional):
DIgSILENT PowerFactory 15, User Manual
1271
E.5.8.6
ComTablereport.AddListFilterEntries
E.5.8.7
ComTablereport.AddPlot
void ComTablereport.AddPlot (string plotId, string xText[, string xUnit, string header, int textLabels, 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
1272
E.5.8.8
ComTablereport.AddRow
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', 'Scenario', 100, 1, 1, 0);
report.AddRow('table', 'peak', 'Peak Load');
E.5.8.9
ComTablereport.AddTable
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
1273
ComTablereport.AddTextFilter
int ComTablereport.AddTextFilter (string id, string label[, string unit, string text])
Adds a text filter to the report.
Arguments:
string id (obligatory): Identifier
string label (obligatory): Label text
string unit (optional): Unit text (default: empty)
string text (optional): Text for text field
Return value:
0: Error (filter with given id already exists)
1: Filter was added to report
E.5.8.11
ComTablereport.AddXLabel
E.5.8.12
ComTablereport.DisableAutomaticRowNumbering
object report;
1274
E.5.8.13
ComTablereport.EnableAutomaticRowNumbering
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.EnableAutomaticRowNumbering('table');
E.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
1275
ComTablereport.SetCellAccess
void ComTablereport.SetCellAccess (string tableId, string columnId, string rowId, object accessObject[, 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
E.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
E.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
1276
E.5.8.18
ComTablereport.SetCellValueToCheckbox
E.5.8.19
ComTablereport.SetCellValueToDate
void ComTablereport.SetCellValueToDate (string tableId, string columnId, string rowId, int timeStamp[, 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
1277
E.5.8.20
ComTablereport.SetCellValueToDouble
E.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:
1278
E.5.8.22
ComTablereport.SetCellValueToObject
1279
ComTablereport.SetCellValueToString
E.5.8.24
ComTablereport.SetColumnHeader
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.AddTable('table');
report.AddColumn('table', 'scenario', '', 100, 1, 1, 0);
report.SetColumnHeader('table', 'scenario', 'Scenario');
E.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 DefineCurve(); 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
E.5.8.26
ComTablereport.SetDialogSize
1281
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.SetDialogSize(700, 860);
E.5.8.27
ComTablereport.SetListFilterSelection
E.5.8.28
ComTablereport.SetNumberFormatForPlot
void ComTablereport.SetNumberFormatForPlot (string plotid, string axis, int characters, int precision)
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
E.5.8.29
ComTablereport.SetSorting
E.5.8.30
ComTablereport.SetStatusText
E.5.8.31
ComTablereport.SetTextAxisDistForPlot
E.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
1283
E.5.8.33
ComTablereport.SetTitle
object report;
report = this.GetParent();
if (!report) {
exit();
}
report.SetTitle('Input Data Summary');
E.6
Data Container
E.6.1
SetFilt Methods
E.6.1.1
SetFilt.Get
Set SetFilt.Get ()
Returns a container with the filtered objects.
Arguments:
none
Return value:
The set of filtered objects
Example:
1284
E.6.2
SetSelect Methods
All
GetAll
AddRef
Clear
AllElm
AllLines
AllBars
AllLoads
AllAsm
AllSym
AllTypLne
AllBreakers
AllClosedBreakers
AllOpenBreakers
E.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
1285
SetSelect.GetAll
E.6.2.3
SetSelect.AddRef
1286
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);
E.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();
}
E.6.2.6
SetSelect.AllLines
set SetSelect.AllLines ()
Returns all lines and line routes in the selection.
1287
E.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();
}
E.6.2.8
SetSelect.AllLoads
set SetSelect.AllLoads ()
Returns all loads in the selection.
Arguments:
1288
E.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();
}
E.6.2.10
SetSelect.AllSym
set SetSelect.AllSym ()
Returns all synchronous machines in the selection.
Arguments:
none
DIgSILENT PowerFactory 15, User Manual
1289
E.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();
}
E.6.2.12
SetSelect.AllBreakers
set SetSelect.AllBreakers ()
Returns all breakers in the selection.
Arguments:
none
Return value:
1290
E.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();
}
E.6.2.14
SetSelect.AllOpenBreakers
set SetSelect.AllOpenBreakers ()
Returns all open breakers in the selection.
Arguments:
none
Return value:
The set of objects
1291
E.6.3
E.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();
E.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
1292
E.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();
E.6.4
E.6.4.1
SetPath.GetAll
set SetPath.GetAll ()
Returns all objects in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
1293
E.6.4.2
SetPath.GetBusses
set SetPath.GetBusses ()
Returns all busbars and terminals in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all busbars and terminals in the path definition to the output window.
set S;
object O;
S = aPath.GetBusses();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
E.6.4.3
SetPath.GetBranches
set SetPath.GetBranches ()
Returns all branches in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all branches in the path definition to the output window.
1294
E.6.4.4
SetPath.AllBreakers
set SetPath.AllBreakers ()
Returns all breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all breakers in the path definition to the output window.
set S;
object O;
S = aPath.AllBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
E.6.4.5
SetPath.AllClosedBreakers
set SetPath.AllClosedBreakers ()
Returns all closed breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all closed breakers in the path definition to the output window.
set S;
object O;
DIgSILENT PowerFactory 15, User Manual
1295
E.6.4.6
SetPath.AllOpenBreakers
set SetPath.AllOpenBreakers ()
Returns all open breakers in the path definition.
Arguments:
none
Return value:
The set of objects
Example:
The following example writes all open breakers in the path definition to the output window.
set S;
object O;
S = aPath.AllOpenBreakers();
O = S.First();
while (O) {
O.ShowFullName();
O = S.Next();
}
E.6.5
IntDplmap Methods
Objects of class IntDplmap offer the functionality of associative containers (storing key-value pairs).
Clear
Contains
First
GetValue
Insert
Next
Remove
Size
Update
1296
IntDplmap.Clear
void IntDplmap.Clear ()
Empties referenced container and resets typing information.
Arguments:
none
Return value:
none
Example:
See Examples for IntDplmap Methods E.6.5.10
E.6.5.2
IntDplmap.Contains
E.6.5.3
IntDplmap.First
int IntDplmap.First (int |double |string |object |set key, int |double |string |object |set value)
The First command returns the first key/value pair stored in the container. Note:
- The sequence of the returned entries is determined by internal criteria and cannot be changed.
- It is not allowed to modify a container while iterating over it. If doing so, the next call of the Next
command will return a value of 1.
Exception: Function Update does not invalidate current position.
Arguments:
int | double |string |object |set key (obligatory): Key of the associated pair in the container
int |double |string |object |set value (obligatory): Value of the associated pair in the container
Return value:
0: on success; returned data are stored in the parameters key and value
DIgSILENT PowerFactory 15, User Manual
1297
E.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 find. int error (optional):
1: Failure, key was not found in container. The returned value is undefined 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 undefined 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 E.6.5.10
E.6.5.5
IntDplmap.Insert
void IntDplmap.Insert (int | double | string | object | set key, int | double | string | object | set value)
Inserts given key" and value" as an associated pair into the container.
If this is the first insertion of an element, the container is (automatically) typed by given data types of
key" and value". From now on, only keys and values of that type are accepted. (This typing is removed
when clear() is called.)
If given key" already exists in the container, its associated value will be overwritten. (Each key can only
be contained once in a map (no multi-map support).) (Type of key" and value" can be different, of
course.)
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
1298
E.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 E.6.5.10
E.6.5.7
IntDplmap.Remove
E.6.5.8
IntDplmap.Size
int IntDplmap.Size ()
1299
E.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 E.6.5.10
E.6.5.10
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
1300
1301
some elements
'one');
'two');
'three');
'four');
'five');
E.6.6
IntDplvector Methods
1303
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 E.6.6.8
E.6.6.2
IntDplvec.Get
E.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
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:
1304
E.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 E.6.6.8
E.6.6.5
IntDplvec.Remove
E.6.6.6
IntDplvec.Size
int IntDplvec.Size ()
Returns the number of elements stored in the container
Arguments:
DIgSILENT PowerFactory 15, User Manual
1305
E.6.6.7
IntDplvec.Sort
E.6.6.8
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);
1306
1307
E.7.1.1
Execute
E.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();
E.7.1.3
GetCaseCommand
1308
Exe
E.7.1.5
PostCommand
E.7.1.6
ClearCommands
1309
E.7.2
validLDF
Execute
E.7.2.1
validLDF
int validLDF ()
Checks to see if the last load-flow results are still valid and available.
Arguments:
none
Return value:
0 if no load-flow results are available
Example:
The following example checks if a load-flow is available, and performs one when not.
int valid;
valid = validLDF();
if (.not.valid) {
Ldf.Execute();
}
E.7.2.2
ComLdf.Execute
int ComLdf.Execute ()
Execute a load-flow calculation.
Arguments:
1310
E.7.3
validSHC
Execute
E.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();
}
E.7.3.2
ComShc.Execute
int ComShc.Execute ()
Executes a short-circuit calculation.
Arguments:
none
Return value:
0 on success
1311
E.7.4
Time-Domain Simulation
validRMS
validSIM
Execute
E.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();
}
E.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.
1312
E.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();
E.7.5
ExportFullRange
FileNmResNm
E.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
1313
E.7.5.2
ComRes.FileNmResNm
int ComRes.FileNmResNm ()
Sets the filename for the data export.
Arguments:
none
Return value:
1
E.7.6
SetObjs
GetObject
RemoveEvents
E.7.6.1
ComOutage.SetObjs
E.7.6.2
ComOutage.GetObject
1314
E.7.6.3
ComOutage.RemoveEvents
Return value:
none
Example:
The following example shows how to remove events from ComOutage
object aCmd,
aOutage;
set
Outages;
DIgSILENT PowerFactory 15, User Manual
1315
E.7.7
E.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.
E.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.
E.7.7.3
ComSimoutage.Reset
E.7.7.4
ComSimoutage.AddCntcy
E.7.7.5
ComSimoutage.SetLimits
1317
E.7.7.6
ComSimoutage.ReportObjs
E.7.8
E.7.8.1
Adds shortcuts.
Empties the selection.
Returns all objects of class 'ClassName'.
ComNmink.AddRef
E.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();
E.7.8.3
ComNmink.GetAll
1319
E.7.9
E.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();
E.7.9.2
ComRel3.RemoveOutages
void ComRel3.RemoveOutages ()
Removes all contingency definitions (*.ComOutage) stored inside the command. This is exactly the
same like pressing the button named Delete Contingencies" in the dialogue box of the command.
Arguments:
int msg (optional) :
1
0
Return value:
none
Example:
1320
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
}
E.7.9.3
ComRel3.RemoveEvents
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
}
E.7.9.4
ComRel3.AnalyseElmRes
1321
Return value:
0 on success, !=0 on error.
Example:
The following example shows how to call the evaluation of the results.
object
int
aCmd,
aResFile;
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);
}
}
}
E.7.9.5
ComRel3.CreateFaultCase
1322
E.7.10
E.7.10.1
ComDpl.Execute
E.7.11
ComImport Methods
GetCreatedObjects
GetModifiedObjects
E.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
1323
E.7.11.2
ComImport.GetModifiedObjects
set ComImport.GetModifiedObjects ()
Returns the modified 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 modified during DGS import.
Example:
The following example returns the modified 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);
}
E.7.12
ComMerge Methods
ExecuteWithActiveProject
Compare
CompareActive
ExecuteRecording
PrintComparisonReport
1324
E.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
E.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
E.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
1325
E.7.12.4
ComMerge.ExecuteRecording
int ComMerge.ExecuteRecording ()
Compares objects according to settings in ComMerge object and shows merge browser. Sets recording
mode" to record modifications in the active scenario and/or expansion stage.
Arguments:
none
Return value:
none
E.7.12.5
ComMerge.PrintComparisonReport
E.7.12.6
ComMerge.SetAutoAssignmentForAll
E.7.12.7
1326
ComMerge.CheckAssignments
ok,
canceled by user,
missing assignments found,
conflicts found,
error
E.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
E.7.12.9
ComMerge.Merge
E.7.12.10
ComMerge.Reset
void ComMerge.Reset ()
Resets/clears and deletes all temp. object sets, created internally for the comparison.
Arguments:
1327
E.7.12.11
ComMerge.WereModificationsFound
int ComMerge.WereModificationsFound ()
Checks, if modifications were found in comparison.
Arguments:
none
Return value:
1: Modifications found in comparison,
0: All objects in comparison are equal
E.7.12.12
ComMerge.PrintModifications
E.7.12.13
ComMerge.SetObjectsToCompare
E.7.12.14
1328
ComMerge.GetCorrespondingObject
E.7.12.15
ComMerge.GetModification
error,
equal (no modifications),
modified,
added in Mod1/Mod2,
removed in Mod1/Mod2
E.7.12.16
ComMerge.GetModificationResult
error,
equal (no modifications),
same modifications in 'Mod1'and 'Mod2'(no conflict)
different modifications in 'Mod1'and 'Mod2'(conflict)
1329
ComMerge.GetModifiedObjects
E.7.13
ComLink Methods
SendData
ReceiveData
E.7.13.1
ComLink.SendData
object Mea;
set MeaSet;
!Set temp status for all measurement objects
MeaSet = AllRelevant('*.StaExt*');
1330
E.7.13.2
ComLink.ReceiveData
E.7.14
ComUcteexp Methods
E.7.14.1
ComUcteexp.BuildNodeNames
int ComUcteexp.BuildNodeNames ()
Builds the node names as used in UCTE export and makes them accessible via :UcteNodeName
attribute. The node names will only be available as long as topology has not been changed. They
must be re-build after any topology relevant modification.
Arguments:
none
Return value:
0: on success
1: on error (e.g. load flow calculation failed)
Example:
1331
E.8
Elements
Some object methods are specific for a type of object class. A result file object (ElmRes), for instance,
has a Write" method, which would not make sense for a load-flow command object. The general syntax
for an object method is the same as that for a set method:
object .
[OBJMETHOD] (arguments) ;
For Feeder Methods please refer to Section E.6.3 Feeder (SetFeeder) Methods.
For Path Methods please refer to Section E.6.4 Path (SetPath) Methods.
E.8.1
Grid (ElmNet)
Activate
Deactivate
CalculateInterchangeTo
E.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.
E.8.1.2
ElmNet.Deactivate
int ElmNet.Deactivate ()
Removes a grid from the active study case.Can only be applied if there are is no currently active
calculation.
1332
E.8. ELEMENTS
See also:
ResetCalculation
Arguments:
none
Return value:
0 on success, 1 on error.
E.8.1.3
ElmNet.CalculateInterchangeTo
input:
int res;
res = from.CalculateInterchangeTo(to);
if (res > 0){
printf('Pinter:
printf('Qinter:
printf('ExportP:
printf('ExportQ:
printf('ImportP:
printf('ImportQ:
}
%d',
%d',
%d',
%d',
%d',
%d',
from:c:Pinter);
from:c:Qinter);
from:c:ExportP);
from:c:ExportQ);
from:c:ImportP);
from:c:ImportQ);
E.8.2
E.8.2.1
ElmAsm.GetAvailableGenPower
double ElmAsm.GetAvailableGenPower ()
DIgSILENT PowerFactory 15, User Manual
1333
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant('ElmAsm');
totpwr = 0; !
!
E.8.3
E.8.3.1
ElmAsmsc.GetAvailableGenPower
double ElmAsmsc.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study time .
For the case of conventional generators (no wind generation selected), the available power is equal to
the nominal power specified.
1334
E.8. ELEMENTS
For wind generators, the available power will depend on the wind model specified:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specified mean wind speed, the available power is 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 specified 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 specified time characteristics. A power value for any time
characteristic is calculated by obtaining the wind speed for the current study time, and then calculating
the power from the specified Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the power value. In the other hand, if the units are in PU, the returned value is multiplied by
the nominal power of the generator to return the power value.
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; !
!
E.8.4
Feeder (ElmFeeder)
GetAll
GetBuses
GetBranches
GetNodesBranches
GetObjs
E.8.4.1
ElmFeeder.GetAll
1335
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
E.8.4.2
ElmFeeder.GetBuses
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');
1336
E.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
E.8.4.3
ElmFeeder.GetBranches
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
E.8.4.4
ElmFeeder.GetNodesBranches
1337
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);
}
}
}
E.8.4.5
ElmFeeder.GetObjs
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()) {
1338
E.8. ELEMENTS
printf('%s\\%s',pObj:r:fold_id:loc_name,pObj:loc_name);
}
}
}
E.8.5
Boundary (ElmBoundary)
E.8.5.1
ElmBoundary.IsSplitting
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();
}
}
E.8.5.2
ElmBoundary.AddCubicle
E.8.5.3
ElmBoundary.Clear
void ElmBoundary.Clear()
This method removes all boundary cubicles from an existing boundary.
DIgSILENT PowerFactory 15, User Manual
1339
ElmBoundary.GetInterior
set ElmBoundary.GetInterior()
Returns a all elements that are contained in the interior region of the boundary.
E.8.6
Cubicles (StaCubic)
AddBreaker
RemoveBreaker
GetConnectedMajorNodes
GetAll
E.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();
}
}
E.8.6.2
StaCubic.RemoveBreaker
object StaCubic.RemoveBreaker ()
1340
E.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();
}
E.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 first major node in every direction is collected).
First, the internally executed search does not pass any open switch. Only if this search does not find
any major node, a second is executed ignoring all switches.
Addition:
If no major node has been found all reached pseudo" major nodes are returned. A pseudo major node
is a terminal of priority 1000. Terminals of that priority are not considered to be major nodes. They are
only used as a replacement for real major nodes if no real major node could be found.
Arguments:
none
Return value:
A set of all major nodes that can be reached starting a topology search from the cubicle in direction of
the referenced branch element.
Example:
1341
E.8.6.4
StaCubic.GetAll
1342
E.8. ELEMENTS
Walk in opposite direction and ignore switch states:
s = cubic.GetAll(-1, 1);
E.8.7
E.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
E.8.8
Breaker/Switch (ElmCoup)
Close
Open
IsOpen
IsClosed
IsBreaker
GetRemoteBreakers
E.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
1343
E.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);
};
}
E.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:
1344
E.8. ELEMENTS
E.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
E.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
E.8.8.6
ElmCoup.GetRemoteBreakers
1345
E.8.9
Line (ElmLne)
HasRoutes
HasRoutesOrSec
GetType
IsCable
IsNetCoupling
SetCorr
CreateFeederWithRoutes
SetDetailed
GetZ0m
GetZ1m
GetY0m
GetY1m
FitParams
E.8.9.1
ElmLne.HasRoutes
int ElmLne.HasRoutes ()
Checks if the line is subdivided into routes.
Arguments:
none
Return value:
1346
E.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();
}
E.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();
}
E.8.9.3
ElmLne.GetType
int ElmLne.GetType ()
Returns the line type object.
Arguments:
none
1347
E.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();
}
E.8.9.5
ElmLne.IsNetCoupling
int ElmLne.IsNetCoupling ()
Checks if the line connects two grids.
1348
E.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();
}
E.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();
E.8.9.7
ElmLne.CreateFeederWithRoutes
1349
E.8.9.8
ElmLne.SetDetailed
void ElmLne.SetDetailed ()
The function can be used to prevent the automatically reduction of a line e.g. if the line is a line dropper
(length = 0). The function should be called when no calculation method is valid (before first load flow).
The internal flag is automatically reset after the first calculation is executed.
Arguments:
none
Return value:
none
Example:
!
!
ResetCalculation(); !
Line.SetDetailed(); !
Ldf.Execute();
!
! line is not reduced
E.8.9.9
ElmLne.GetZ0m
1350
E.8. ELEMENTS
E.8.9.10
ElmLne.GetZ1m
E.8.9.11
ElmLne.GetY0m
E.8.9.12
ElmLne.GetY1m
E.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:
constant parameters; i_model=1: frequency dependent parameters.
1351
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();
}
E.8.10
AddVars
Clear
Draw
Flush
GetObj
GetResData
Init
LoadResData
ReleaseResData
ResIndex
ResFirstValidObject
ResFirstValidObjectVar
ResFirstValidVar
ResNextValidObject
ResNextValidObjectVar
ResNextValidVar
ResNval
ResNvars
SetAsDefault
Write
WriteDraw
1352
E.8. ELEMENTS
E.8.10.1
ElmRes.AddVars
object Res;
Res = MyResults();
Res.AddVars(MyLine,'m:Ikss:busshc','m:I:busshc');
E.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();
E.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
1353
E.8.10.4
ElmRes.Flush
void ElmRes.Flush ()
This function is required in DPL scripts which perform both file writing and reading operations. While
writing to a results object (ElmRes), a small portion of this data is buffered in memory. This is required
for performance reasons. Therefore, all data must be written to the disk before attemting to read the
file. 'Flush'copies all data buffered in memory to the disk. After calling 'Flush'all data is available to be
read from the file.
Arguments:
none
Return value:
none
Example:
The following example writes a result object and prints the data written to the file. The DPL command
contains to variables on the advanced options page:
double x
double y
x-value
y-value
These variables were selected in the variable definitions inside the result object which itself is stored in
the DPL command. The DPL script code is as follows:
int iNotOk, iX,iY,iRow;
double dX,dY;
! write the data
for (x=-16; x<16; x=x+0.1) {
y= x*x;
1354
E.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
iNotOk = GetResData(dY,res,iRow,iY); ! get the y-value in the first
while (iNotOk=0) {
printf('%6.2f / %6.2f',dX,dY);! print the values to the output
iRow = iRow+1; ! next row
iNotOk = GetResData(dX,res,iRow,iX); ! get the x-value in line
iNotOk = GetResData(dY,res,iRow,iY); ! get the z-value in line
}
ReleaseResData(res); ! release the result file data from memory
E.8.10.5
line
line
window
iRow
iRow
ElmRes.GetObj
E.8.10.6
ElmRes.GetResData
1355
E.8.10.7
ElmRes.Init
int ElmRes.Init ()
Initializes the result object. This is required for all result files that are not stored in the DPL command
object.
Arguments:
none
Return value:
0 on success
Example:
The following example initializes the result object.
Res.Init();
E.8.10.8
ElmRes.LoadResData
E.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.030000 :
-0.020000 :
-0.010000 :
-0.000000 :
0.010000 :
0.020000 :
0.030000 :
0.040000 :
0.050000 :
E.8.10.9
0.12676
0.12676
0.12676
0.12676
0.12676
0.12676
0.12676
0.12676
0.12676
0.12676
30.73286
30.73286
30.73286
30.73286
30.73286
30.73286
30.73286
30.73286
30.73286
30.73286
12.91360
12.91360
12.91360
12.91360
12.91360
12.91360
12.91360
12.91360
12.91360
12.91360
ElmRes.ReleaseResData
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
1357
E.8.10.10
ElmRes.ResIndex
1358
E.8. ELEMENTS
iCol = ResIndex(oRes, oLine, 'c:loading'); iCol = ResIndex(oRes, oLine, iColIndex); iCol = ResIndex(oRes, 'c:loading', iColIndex);
See also LoadResData() E.8.10.8
GetResData() E.8.10.6
GetObject E.7.6.2
E.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 first valid variable in the given line. Starts at the beginning of the
given line and sets the internal iterator of the result file to the found position.
Arguments:
object resultFile (obligatory) : Result file
int row (obligatory) : Result file 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: first OR second criterion must match,
>0: first AND second criterion must match,
0: all values are valid (default)
1/-1: valid values must be < limit2
2/-2: valid values must be <= limit2
3/-3: valid values must be > limit2
4/-4: valid values must be >= limit2
set objects (obligatory) : Valid objects
Return value:
>=0: column index
<0: no valid column found
Example:
1359
E.8.10.12
ElmRes.ResFirstValidObjectVar
E.8.10.13
ElmRes.ResFirstValidVar
E.8.10.14
1360
ElmRes.ResNextValidObject
E.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 first valid variable in the given line. Starts at the beginning of the
given line and sets the internal iterator of the result file to the found position.
Arguments:
object resultFile (obligatory) : Result file
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: first OR second criterion must match,
>0: first AND second criterion must match,
0: all values are valid (default)
1/-1: valid values must be < limit2
2/-2: valid values must be <= limit2
3/-3: valid values must be > limit2
4/-4: valid values must be >= limit2
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);
E.8.10.15
ElmRes.ResNextValidObjectVar
1361
E.8.10.16
ElmRes.ResNextValidVar
E.8.10.17
ElmRes.ResNval
1362
E.8. ELEMENTS
E.8.10.18
ElmRes.ResNvars
E.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() E.8.10.8 .
E.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-flows for a number of load levels and writes the results to the result
object
double P;
double i;
P = LoadMin;
i = 1;
while (P<LoadMax.and.i) {
i = Ldf.Execute();
if (i) {
Res.Write();
P += LoadStep;
DIgSILENT PowerFactory 15, User Manual
1363
E.8.10.21
ElmRes.WriteDraw
int ElmRes.WriteDraw ()
Writes current results to the result objects and updates all plots that display values from the result object.
Arguments:
none
Return value:
0 on success
Example:
The following example performs load-flows for a number of load levels and writes the results to the result
object
double P;
double i;
P = LoadMin;
i = 1;
while (P<LoadMax.and.i) {
i = Ldf.Execute();
if (i) {
Res.WriteDraw();
P += LoadStep;
}
}
E.8.11
GetStepupTransformer
GetControlledHVNode
GetControlledLVNode
E.8.11.1
ElmStactrl.GetStepupTransformer
E.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);
}
}
}
E.8.11.2
ElmStactrl.GetControlledHVNode
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){
1365
E.8.11.3
ElmStactrl.GetControlledLVNode
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);
}
}
}
E.8.12
Substation (ElmSubstat)
GetSplit
GetSplitIndex
GetSplitCal
1366
E.8. ELEMENTS
SaveAsRA
OverwriteRA
SetRA
ResetRA
E.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 filled into given sets and returned.
Arguments:
int index (obligatory) : Index of the split that is used to get access to the elements of the corresponding
split.
set majorNodes (obligatory) : All major nodes (priority is greater than -1) of the split are filled in the set
majorNodes.
set connectionCubicles (obligatory) : All cubicles (of terminals inside the substation) that point to an
element that sits outside the substation or to an element that is connected to a terminal outside the
substation are filled into the set connectionCubicles.
(The connection element (branch) can be accessed by calling 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 filled 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
1367
E.8.12.2
ElmSubstat.GetSplitIndex
set s, terms;
object substation, term;
int index;
string name;
!iterates over all substations and checks belonging
!of terminals to splits of each substation
1368
E.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);
}
}
}
E.8.12.3
ElmSubstat.GetSplitCal
int ElmSubstat.GetSplitCal (int index, set nodes [, set connectionCubicles, set elements])
A split of a substation is a group of connected elements. These splits are ordered according to the
count of major nodes contained and according to their priority. So each split becomes a unique index.
Each split consists of one or more calculation node. A calculation node contains all elements that are
electrical equivalent (determined IsEquivalent).
This function offers access to such a split.
Note: As this function relies on calculation nodes it can only be executed after a calculation has been
performed (e.g. load flow calculation).
Arguments:
int index : Indicates the index of the split. This index is zero based.
set nodes : A set that is filled with terminals. There is one terminal returned for each calculation node
in the split. The returned terminal is either the major node with highest priority or a tie node (if there is
no major node).
set connectionCubicles : This set is filled with all cubicles that point from a calculation node of current
split to another calculation node that does not belong to that split. The connecting element can be
accessed by calling GetBranch() on such a cubicle.
set elements : This set is filled with network elements that are connected to a calculation node of current
split and have exactly one connection, i.e. these elements are completely contained in the split.
Return value:
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:
1369
E.8.12.4
ElmSubstat.SaveAsRA
1370
E.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.');
}
E.8.12.5
ElmSubstat.OverwriteRA
int res;
res = objsubstation.OverwriteRA(objra);
if (res = 1){
printf('%o was successfully overwritten', objra);
}else{
printf('%o was not overwritten', objra);
}
E.8.12.6
ElmSubstat.SetRA
1371
E.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();
E.8.13
Disconnect
Reconnect
IsConnected
GetAvailableGenPower
E.8.13.1
ElmSym.Disconnect
int ElmSym.Disconnect ()
Disconnects a generator by opening the first circuit breaker. The search stops at any busbar. (Same
functionality as used in BMU algorithm.)
Arguments:
none
Return value:
1: on error (no breaker found, open action not possible (earthing / RA))
0: else (breaker already open or successfully opened)
Example:
1372
E.8. ELEMENTS
set objs;
object obj;
int err;
objs = AllRelevant('ElmSym');
!
E.8.13.2
ElmSym.Reconnect
int ElmSym.Reconnect ()
Connects a generator by closing all switches (breakers and isolators) up to first breaker on hv side
of a transformer. The closing action also stops at any busbar. (Same functionality as used in BMU
algorithm.)
Arguments:
none
Return value:
1: on error (generator could not be connected to any busbar)
0: on success
Example:
set objs;
object obj;
int err;
objs = AllRelevant('ElmSym');
!
E.8.13.3
ElmSym.IsConnected
int ElmSym.IsConnected ()
1373
set objs;
object obj;
int status;
objs = AllRelevant('ElmSym');
!
E.8.13.4
ElmSym.GetAvailableGenPower
double ElmSym.GetAvailableGenPower ()
Returns the available power that can be dispatched from the generator, for the particular study time .
For the case of conventional generators (no wind generation selected), the available power is equal to
the nominal power specified.
For wind generators, the available power will depend on the wind model specified:
1. No Wind Model: No available power
2.Stochastic Wind Model: Given the specified mean wind speed, the available power is 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 specified 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 specified time characteristics. A power value for any time
characteristic is calculated by obtaining the wind speed for the current study time, and then calculating
the power from the specified Power Curve. If the units of the Power Curve are in MW, the returned value
is directly the power value. In the other hand, if the units are in PU, the returned value is multiplied by
the nominal power of the generator to return the power value.
For motors, the available power is zero.
1374
E.8. ELEMENTS
Arguments:
none
Return value:
Available generation power
Example:
set objs;
object obj;
double totpwr, pwr;
objs = AllRelevant('ElmSym');
totpwr = 0; !
!
E.8.14
Terminal (ElmTerm)
GetNextHVBus
IsEquivalent
IsElectrEquivalent
GetMinDistance
E.8.14.1
GetNextHVBus
object GetNextHVBus ()
This function returns the nearest connected bus bar that has a higher voltage level. To detect this bus,
a breath-first search on the net topology is executed. The traversal stops on each element that is out of
service and on each opened switch device. The criterion for higher voltage level is passing a transformer
to HV side.
Arguments:
none
Return value:
object: First bus bar found.
NULL: If no bus bar was found.
Example:
1375
E.8.14.2
IsEquivalent
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);
}
1376
E.8. ELEMENTS
E.8.14.3
IsElectrEquivalent
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
1377
GetMinDistance
double GetMinDistance (object term [, int considerSwitches, set path, set limitToNodes])
This function determines the shortest path between the terminal the function was called on and the
terminal that was passed as first argument. The distance is determined on network topology regarding
the length of the traversed component (i.e. only lines have an influence on distance).
Arguments:
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:
%f', distance);
E.8.15
Tower (ElmTow)
FitParams
PrintFreqDepParams
E.8.15.1
ElmTow.FitParams
int ElmTow.FitParams ()
Calculates distributed parameters for tower elements. Whether this function calculates constant parameters or frequency dependent parameters depends on the user setting of the parameter 'i_model'in the
ElmTow dialogue. The settings are as follows: i_model=0: constant parameters; i_model=1: frequency
1378
E.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();
}
E.8.15.2
ElmTow.PrintFreqDepParams
void ElmTow.PrintFreqDepParams ()
Prints the calculated frequency dependent parameters for tower elements in a tabular format to the output window. This table includes for each mode, the surge impedance, wave propagation, travel time and
the number of poles and zeros of Z and A. It can only be called after the function oElmTow.FitParams()
has been executed; either in DPL or via the ElmTow dialogue.
Arguments:
none
Return value:
none
Example:
object oElmTow;
set sElmTows;
int err;
sElmTows = AllRelevant('*.ElmTow');
oElmTow = sElmTows.First();
err = oElmTow.FitParams();
if (err) {
Error('Could not calculate line parameters for %s.', oElmTow);
exit();
}
oElmTow.PrintFreqDepParams();
1379
E.8.16
E.8.16.1
ElmTr2.IsQuadBooster
E.8. ELEMENTS
}
}
E.8.17
Zone (ElmZone)
GetAll
GetBuses
GetNodes
GetBranches
GetObjs
E.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);
}
}
}
E.8.17.2
ElmZone.GetBuses
set ElmZone.GetBuses ()
Returns all buses which belong to this zone.
Arguments:
none
1381
E.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);
}
}
}
E.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();
1382
E.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);
}
}
}
E.8.17.5
ElmZone.GetObjs
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);
}
}
}
E.8.18
Switch (StaSwitch)
Close
Open
IsOpen
IsClosed
E.8.18.1
StaSwitch.Close
int StaSwitch.Close ()
DIgSILENT PowerFactory 15, User Manual
1383
E.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);
};
}
1384
E.8. ELEMENTS
E.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 E.8.18.2 for an example.
E.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 E.8.18.1 for an example.
E.8.19
Bay (ElmBay)
E.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
1385
E.9
Types
Some object methods are specific for a type of object class. The general syntax for an object method is
the same as that used for a set method:
object .
[OBJMETHOD] (arguments) ;
For Feeder Methods please refer to Section E.6.3 Feeder (SetFeeder) Methods.
For Path Methods please refer to Section E.6.4 Path (SetPath) Methods.
E.9.1
E.9.1.1
TypAsm.Disconnect
int TypAsm.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
E.9.2
E.9.2.1
TypAsmo.CalcElParams
int TypAsmo.CalcElParams ()
Calculates the electrical parameters from the input data.
Arguments:
none
E.9.3
IsCable
SetNomCurr
1386
E.9. TYPES
E.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();
}
E.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();
1387
E.10
E.10.1
IntEvt Methods
E.10.1.1
IntEvt.CreateCBEvents
E.10.2
IntForm Methods
SetText
WriteOut
E.10.2.1
IntForm.SetText
IntForm.WriteOut
|$H,DEF:loc_name
|$H| #
#.# |$H,ACC(2):loc_name,ACC(2):plini
|$H,ACC(3):loc_name,ACC(3):plini
|$H
|$N,loc_name,loading
|
|
1389
|
|
|
|
|
|
|
|
|
|
|
E.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
Get
Init
Invert
Multiply
NCol
NRow
Resize
RowLbl
Set
SortToColumn
E.10.3.1
IntMat.ColLbl
E.10.3.2
IntMat.Get
1391
IntMat.Init
E.10.3.4
IntMat.Invert
int IntMat.Invert ()
Inverts a matrix. This operation is performed in memory only and therefore the modified matrix is not
updated in the database.
Arguments:
none
Return value:
0: success, the original matrix will be overwritten by its inversion
1: error, inversion not possible. Original matrix was not changed.
Example:
int err;
err = Matrix.Invert();
if (err){
printf('Matrix %o is not invertible', Matrix);
}
else{
printf('Matrix %o successfully inverted', Matrix);
}
E.10.3.5
IntMat.Multiply
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.');
}
E.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 E.10.3.2 for an example.
E.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:
1393
E.10.3.8
IntMat.Resize
E.10.3.9
IntMat.RowLbl
1394
E.10.3.10
IntMat.Set
E.10.3.11
IntMat.SortToColumn
int err;
int column;
column = 0;
err = mtrx.SortToColumn(column);
DIgSILENT PowerFactory 15, User Manual
1395
E.10.4
IntMon Methods
PrintVal
PrintAllVal
NVars
GetVar
RemoveVar
ClearVars
AddVar
E.10.4.1
%d\n.', column);
IntMon.PrintVal
void IntMon.PrintVal ()
Prints the values of the selected variables to the output window.
Arguments:
none
Return value:
none
E.10.4.2
IntMon.PrintAllVal
void IntMon.PrintAllVal ()
Prints a description for all available variables to the output window.
Arguments:
none
Return value:
none
E.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:
1396
E.10.4.4
IntMon.GetVar
E.10.4.5
IntMon.RemoveVar
E.10.4.6
IntMon.ClearVars
int IntMon.ClearVars ()
Clears the list of selected variable names.
Arguments:
none
Return value:
none
E.10.4.7
IntMon.AddVar
1397
E.10.5
IntThrating Methods
GetRating
GetCrticalTimePhase
E.10.5.1
IntThrating.GetRating
E.10.5.2
IntThrating.GetCriticalTimePhase
1398
E.10.6
IntUser Methods
Purge
SetPassword
E.10.6.1
IntUser.Purge
void IntUser.Purge ()
Purges the storage of all projects that need purging.
Arguments:
none
Return value:
none
E.10.6.2
IntUser.SetPassword
1399
E.10.7
IntUserman Methods
GetGroups
GetUsers
CreateGroup
CreateUser
E.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:
E.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:
E.10.7.3
IntUserman.CreateGroup
1401
E.10.7.4
IntUserman.CreateUser
E.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
Set
Init
Resize
Size
E.10.8.1
IntVec.Get
1403
E.10.8.2
IntVec.Set
E.10.8.3
IntVec.Init
E.10.8.4
IntVec.Resize
1404
E.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 E.10.8.1 for an example.
E.11
DDE Functions
ddeOpen
ddeClose
ddeExe
ddePoke
ddeRequest
Note: DDE interface is no longer supported by Microsoft and cannot be used in PowerFactory , use
DPL Extension for MS Office instead
1405
E.12
E.12.1
Application Functions
xlSetDebug
xlStart
xlTerminate
xlSetVisible
xlGetDecimalSeparator
xlGetThousandsSeparator
xlGetDateSeparator
Workbook Functions
xlNewWorkbook
xlOpenWorkbook
xlSaveWorkbookAs
xlSaveWorkbook
xlCloseWorkbook
Worksheet Functions
xlAddWorksheet
xlDeleteWorksheet
xlGetWorksheetCount
xlGetWorksheetName
xlSetWorksheetName
xlGetActiveWorksheetIndex
xlActivateWorksheet
Format Functions
xlSetTextStyle
xlResetTextStyle
xlSetTextColor
xlSetFillColor
xlSetColumnWidth
xlSetRowHeight
xlSetHorizontalAlignment
1406
Misc Functions
xlSetPrintTitleRows
xlRunMacro
E.12.1.1
xlSetDebug
E.12.1.2
xlStart
int xlStart ( )
Creates a new MS Excel instance. This function must be called once at the beginning of any communication with MS Excel.
Returns:
0 on success, 1 on error
Example:
See section E.12.2 for examples.
E.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 finished.
Returns:
0 on success, 1 on error
Example:
See section E.12.2 for examples.
1407
xlSetVisible
E.12.1.5
xlGetDecimalSeparator
string xlGetDecimalSeparator ( )
Returns currently used decimal separator.
Returns:
decimal separator, e.g. ,"
Example:
See section E.12.2 for examples.
E.12.1.6
xlGetThousandsSeparator
string xlGetThousandsSeparator ( )
Returns currently used thousands separator.
Returns:
thousands separator, e.g. ."
Example:
See section E.12.2 for examples.
E.12.1.7
xlGetDateSeparator
string xlGetDateSeparator ( )
Returns currently used date separator.
Returns:
date separator, e.g. /"
Example:
See section E.12.2 for examples.
E.12.1.8
xlNewWorkbook
int xlNewWorkbook ( )
Creates a new Workbook.
1408
E.12.1.9
xlOpenWorkbook
E.12.1.10
xlSaveWorkbookAs
E.12.1.11
xlSaveWorkbook
int xlSaveWorkbook ( )
Saves a modified workbook. The existing file 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 E.12.2 for examples.
E.12.1.12
xlCloseWorkbook
int xlCloseWorkbook ( )
Closes currently opened workbook. Any unsaved modifications will be lost.
1409
E.12.1.13
xlAddWorksheet
E.12.1.14
xlDeleteWorksheet
E.12.1.15
xlGetWorksheetCount
int xlGetWorksheetCount ( )
1410
E.12.1.16
xlGetWorksheetName
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;
}
E.12.1.17
xlSetWorksheetName
E.12.1.18
xlGetActiveWorksheetIndex
int xlGetActiveWorksheetIndex ( )
1411
E.12.1.19
xlActivateWorksheet
E.12.1.20
xlGetValue
E.12.1.21
xlSetValue
1412
E.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 first cell, >= 1
row : row index of first cell, >= 1
value : new values separated by 'sep'
sep : used separator
Returns:
0 on success, 1 on error
Example:
See section E.12.2 for examples.
E.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 E.12.2 for examples.
DIgSILENT PowerFactory 15, User Manual
1413
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 E.12.2 for examples.
E.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
1414
E.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 E.12.2 for examples.
E.12.1.27
xlSetColumnWidth
E.12.1.28
xlSetRowHeight
1415
E.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 E.12.2 for examples.
E.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
1416
E.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 E.12.2 for examples.
E.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 E.12.2 for examples.
E.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
1417
E.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 : identfier 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 E.12.2 for examples.
E.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
1418
E.12.1.36
xlSetPrintTitleRows
E.12.1.37
xlRunMacro
E.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
1419
! 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);
1420
1421
E.12.3
General Functions
mdbSetDebug
mdbOpen
mdbClose
Statements
mdbExecuteSqlStatement
Queries
mdbExecuteSqlQuery
mdbFetchResult
mdbGetResultColumnCount
mdbGetResultColumnValue
mdbGetResultColumnName
mdbGetResultColumnType
E.12.3.1
mdbSetDebug
Returns:
0 on success, 1 on error.
Example:
See section E.12.4 for examples.
E.12.3.2
mdbOpen
E.12.3.3
mdbClose
void mdbClose ( )
Closes currently opened MS Access file.
Returns:
0 on success, 1 on error.
Example:
See section E.12.4 for examples.
E.12.3.4
mdbExecuteSqlStatement
1423
E.12.3.5
mdbExecuteSqlQuery
E.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 E.12.4 for examples.
E.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 sufficient 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 E.12.4 for examples.
E.12.3.8
mdbGetResultColumnValue
1424
E.12.3.9
mdbGetResultColumnName
E.12.3.10
mdbGetResultColumnType
E.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
1425
! close database
mdbClose();
Example 2
This example demonstrates how to access information about available tables.
int error, colcount, i, t;
string sql, s;
1426
! close database
mdbClose();
Example 3
This example demonstrates how to get information about the columns of a specific table.
int error, colcount, i, t;
string sql, s;
1427
SetLineFeed(1);
close database
1428
Example 4
This example demonstrates how to read data from an existing table.
int error, colcount, i, t;
string sql, s;
1429
SetLineFeed(1);
! close database
mdbClose();
1430
Appendix F
Almost all textual output that is produced in PowerFactory , is defined by a report form. The use of
report forms range from the simple and small result forms that specify the contents of the single line
result boxes to large and complex forms that are used to print out complete system reports.
In all cases, the text in the editor field of a IntForm object specifies the report that is to be generated. For
result boxes, that text is normally created automatically in the IntForm dialogue by selecting Predefined
Variables", or any other set of variables, and some 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 F.0.1, where report
format is changed such that the variable name of the loading factor is deleted and replaced by the fixed
DIgSILENT PowerFactory 15, User Manual
1431
F.1
F.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 defines the number of decimals. The #-sign
itself can be included in user-defined text by typing \#.
1432
F.3
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 first number can be omitted for text: %.6
will reserve 6 characters for the text field. 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 defined by use of the format
{E|a text;G|ein Text}. This will produce a text when the user has selected the English language (see
the user settings dialogue), and ein Text when the language has been chosen to be German.
Special commands for access of Elements
OBJECT(cls)
Gets Element of class cls. Used to access a variable name or unit without actually accessing
such an object. Used in header lines.
argument
cls (obligatory): The name of the class
example:
[OBJECT(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
1433
1434
F.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
calculation modules
example:
RES:e:desc
writes the first line of the description of the results object
F.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 single item can be coloured by using the _COLOR(Variable name; color code).
F.5
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.
1435
F.6
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
$H
$F
$T
$C
$R
Normal line
Header on the top of each page
Footer on the bottom of each page
Title line, only appears on top of the first page
Comment line (not used for output)
Marker that make that the line will only be used when the specified results are valid
The line type $H, $F and $T will be treated as normal ($N) line types when used inside a loop
command. Line type codes may be made language dependent by adding a E, for English lines or a G
for German lines, i.e. $HG specifies a German header line.
A report format must at least contain one normal ($N) line.
The following commands are used for page and line controls. They can only be used 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 (first passage)
_NFIRST The current line will only be used when the loop index is not 0 (all but the first passages)
_IF(boolean expression) The current line will only be written when the expression is true. Example:
_IF(m:u:bus1>0.95)
_IFNOT(boolean expression) The current line will only be written when the expression is false. Example: \IF(m:u:bus1<0.95)
Example:
| #.## # #.## # #.## |$R,_NOBREAK, ..
F.7
F.8
To create a report that creates a table with the voltages for all busbars, command are needed to filter the
busbar objects and to create a loop that outputs a line of text for each busbar. A loop or filter command
consists of the following parts:
the keyword "$LOOP" or "$CLOOP"
the filter or loop name
the format text
the keyword "$END"
1437
1438
Appendix G
Introduction
The symbols used in the graphic windows of PowerFactory are defined by the so called Symbol objects
(IntSym). DIgSILENT provides a complete set of symbols to represent any of the defined network
components; additionally the users have the possibility to define their own symbols and use them in the
graphical windows of their projects.
In the proceeding sections the variables used to define symbol objects are presented.
G.2
The general definitions 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 "Configuration"
Object Type
Class name of the element which shall be represented.
Type of Representation
Branch or node object
ID
The icon ID of the icons from the graphic toolbar. If this value is set the symbol will be used when
a new element is inserted. In case of 0 the symbol will not be used as default.
Width/Height
The width and height is defines the range of the fang. The marking of an element in the graphic
makes this range visible.
Visible
Visibility of the symbol
Mirror
Defines if the symbol can be mirror (right mouse button entry)
Allow Moving
Allows moving in graphic
DIgSILENT PowerFactory 15, User Manual
1439
G.3
Geometrical Description
The geometrical description of the symbol is given in the Geometry page of the dialogue. The geometry
can be specified by means of geometrical primitives in the Geometrical Components and Attributes
field.
Circle (C,iStyle,rWidth,iFill,iColor,iRsz,nPts,rMx,rMy,rPx,rPy)
Defines a Circle by the centre (rMx, rMy) and a point on the edge (rPx,rPy). Parameter nPts must
be 2.
Arc (A,iStyle,rWidth,iFill,iColor,iRsz,nPts,rMx,rMy,rPx1,rPy1,rPx2,rPy2)
Defines an arc by the centre (rMx,rMy) and 2 points (rPx1,rPy1) (rPx2,rPy2) on the edge, drawn
clockwise. nPts must be set to 3.
Polyline (L, iStyle,rWidth,iFill,iColor,iRsz,iRot,nPts,rPx,rPy)
Defines an open polygonal line with nPts points. rPx andrPy are the coordinates of peg points.
iRot can be defined as:
n random
y only rotatable to the bottom and the right (used in symbols)
Polygon (G, iStyle,rWidth,iFill,iColor,iRsz,nPts {,rPx,rPy})
Defines a closed polygonal line with nPts points. rPx and rPy are coordinates of peg points
Text (T, iColor,iRsz,iFont,iAlign,rHeight,iOri,iRot,sString,rPx,rPy)
Defines a text with the following attributes:
1440
sString
rPx,rPy
iRsz
1441
G.4
Graphic files in WMF and bitmap format can be selected as "Symbol File". The definitions of the
geometrical primitives are not used if a "Symbol File" is defined.The picture will be adapted to the size
of symbol in the single line diagram. After selection of a WMF file in the top entry field for the Symbol
File (not rotated) a button "Create all other files" appears which allows to create automatically WMF files
in the same folder with a rotation of 90, 180 and 270 degrees. Additionally pictures for open devices
with the same angles can be entered in the bottom lines.
1442
Appendix H
description
example
sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
atan2(x,y)
sinh(x)
cosh(x)
tanh(x)
exp(x)
ln(x)
log(x)
sqrt(x)
sqr(x)
pow (x,y)
abs(x)
min(x,y)
max(x,y)
modulo(x,y)
trunc(x)
frac(x)
round(x)
ceil(x)
floor(x)
time()
pi()
twopi()
e()
sine
cosine
tangent
arcsine
arccosine
arctangent
arctangent
hyperbolic sine
hyperbolic cosine
hyperbolic tangent
exponential value
natural logarithm
log10
square root
power of 2
power of y
absolute value
smaller value
larger value
remainder of x/y
integral part
fractional part
closest integer
smallest larger integer
largest smaller integer
current simulation time
3.141592...
6.283185...
2,718281...
sin(1.2)=0.93203
cos(1.2)=0.36236
tan(1.2)=2.57215
asin(0.93203)=1.2
acos(0.36236)=1.2
atan(2.57215)=1.2
atan2(-2.57215,-1)=-1.9416
sinh(1.5708)=2.3013
cosh(1.5708)=2.5092
tanh(0.7616)=1.0000
exp(1.0)=2.718281
ln(2.718281)=1.0
log(100)=2
sqrt(9.5)=3.0822
sqr(3.0822)=9.5
pow(2.5, 3.4)=22.5422
abs(-2.34)=2.34
min(6.4, 1.5)=1.5
max(6.4, 1.5)=6.4
modulo(15.6,3.4)=2
trunc(-4.58823)=-4.0000
frac(-4.58823)=-0.58823
round(1.65)=2.000
ceil(1.15)=2.000
floor(1.78)=1.000
time()=0.1234
pi()=3.141592...
twopi()=6.283185...
e()=2,718281...
These functions are present in both DPL and DSL, click on the link to go to the corresponding chapter.
1443
1444
Bibliography
[1] IEEE std. c37.010 IEEE Application Guide for AC High-Voltage Circuit Breakers Rated on a
Symmetrical Current Basis, 1979.
[2] IEEE std. c37.5 IEEE Guide for calculation of Fault Currents for Application of AC High-Voltage
Circuit Breakers Rated on a Total Current Basis, 1979.
[3] IEEE std. 242. IEEE Recommended Practice for Protection and Coordination of Industrial and
Comercial Power Systems. Buff Book, 1986.
[4] IEEE std. c37.13 IEEE Standard for Low Voltage Power Circuit Breakers Used in 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 Short-circuit currents in d.c. auxiliary installations in power plants and substations,
1997.
[9] IEC 61363-1 Electrical installations of ships and mobile and fixed offshore units - Part 1:
Procedures for calculating short-circuit currents in three-phase a.c., 1998.
[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 techniques - Section 15: Flickemeter - Functional and desing specifications, 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 characteristics of grid connected wind turbines, 2008.
[15] D-A-CH-CZ Technical Rules for the Assessment of Network Disturbances - Extension Document,
2012.
[16] DGUV. Thermische Gefdhrdung durch Sturlichtb
ugen
1445
BIBLIOGRAPHY
[21] IEEE Power Engineering Society. Recommended practice for excitation system models for power
system stability studies (421.5 - 2005), 2005.
[22] G. Ziegler. Numerical Distance Protection. Publicis Corporate Publishing, 1999.
1446
Index
PowerFactory Configuration, 34
Advanced, 35
Database, 34
Licence, 34
Map Server, 35
Workspace, 35
DSL, 624
ASUI (Reliability Analysis), 728
atan
DPL, 351
DSL, 624
Autotransformer, 1079
C Interface, 629
Cable Size Optimization
Advanced Options, 884
Laying Methods, 890
Line Element Parameters, 889
Line Parameters, 888
Line Type Parameters, 888
Objective Function, 761
Technology Check, 889
Type Parameters, 887
Cable Sizing, 877
CAIDI (Reliability Analysis), 728
CAIFI (Reliability Analysis), 728
Calculated Results, 298
Calculation
Compare Results, 272
Update Database, 273
Calculation Time, 168
CASE
DIg Output Language, 1434
ceil
DPL, 351
DSL, 624
ChaMat, 249
ChaPol, 526
ChaProfile, 246
CharacteristicViewer, 250
1447
INDEX
ChaRef, 250
ChaScalar, 247
ChaScale, 246
ChaTime, 244
ChaVec, 247
ChaVecfile, 249
CIM Interface, 391
Circuit, 203
Class, 1061
ClearCommands, 1309
ClearOutput, 1183
CMD
DIg Output Language, 1434
ComCabsize, 877
Objective Function, 761
Optimization Procedure, 853
ComCapo, 866
Available Capacitors, 871
Basic Options, 869
Load Characteristics, 872
ComCheck, 23
ComCimExp, 392
ComCimimp, 391
ComConreq, 535
ComContingency
Contingency analysis with multiple time phases,
687
ComDbupd, 273
ComDiff, 272
ComDocu, 266
ComDpl, 346
ComDpl (DPL Methods), 1323
Execute, 1323
ComEd, 155
ComElektra, 382
ComExport, 374
ComExppsse, 381
ComFlickermeter, 544
ComFsweep, 512
ComGenrel, 784
ComGenrelinc, 781
ComHeatmap, 133
ComHldf, 510
ComIdent, 677
ComImport, 373
ComImport (DPL Methods), 1323
GetCreatedObjects, 1323
GetModifiedObjects, 1324
ComInc, 564
ComInc (DPL Methods)
Execute, 1313
ComIntegral, 388
ComLdf, 444
ComLdf (DPL Methods), 1310
Execute, 1310
ComLink (DPL Methods), 1330
ReceiveData, 1331
SendData, 1330
1448
ComLoadstate, 254
ComMerge, 332
ComMerge (DPL Methods), 1324
ComMerge (DPl Methods)
CheckAssignments, 1326
Compare, 1325
CompareActive, 1325
ExecuteRecording, 1326
ExecuteWithActiveProject, 1325
GetCorrespondingObject, 1328
GetModification, 1329
GetModificationResult, 1329
GetModifiedObjects, 1330
Merge, 1327
PrintComparisonReport, 1326
PrintModifications, 1328
Reset, 1327
SetAutoAssignmentForAll, 1326
SetObjectsToCompare, 1328
ShowBrowser, 1327
WereModificationsFound, 1328
ComMod, 656
Advanced Options, 659
How to Complete a Modal Analysis, 656
Output Options, 661
ComModres, 671
Common Mode Failure, 736
Common Model, 592
Structure, 592
ComNeplan, 385
ComNew, 99
ComNmink, 713
ComNmink (DPL Methods), 1318
AddRef, 1318
Clear, 1319
GetAll, 1319
ComOp, 155
ComOpf, 793
ComOutage, 702
ComOutage (DPL Methods), 1314
GetObject, 1314
RemoveEvents, 1315
SetObjs, 1314
ComPause, 155, 156
Composit Frame, 588
Composite Block Definition, 597
Composite Block Definitions (DSL), 611
Composite Frame, 1062
Additional Equations, 604
Block Definition, 590
Drawing, 599
Multi Signal Connection, 602
Signal Connection, 602
Signals, 592
Composite Model, 580, 585, 1062
Slot Update, 587
Step Response, 587
ComPr, 155
DIgSILENT PowerFactory 15, User Manual
INDEX
ComProtassist, 992
ComPsse, 376
ComPtdf, 834
ComPvcurves, 830
ComPython, 361
ComRd, 155
ComRed, 1023
ComRel3
Network reliability assessment, 743
ComRel3 (DPL Methods), 1320
AnalyseElmRes, 1321
CreateFaultCase, 1322
Execute, 1320
RemoveEvents, 1321
RemoveOutages, 1320
ComRes, 271, 319
ComRes (DPL Methods), 1313
ExportFullRange, 1313
FileNmResNm, 1314
ComSe, 1048
ComSeteval, 673
ComSh, 268, 514
ComShc, 489
ComShc (DPL Methods), 1311
Execute, 1311
ComSim, 578
ComSimoutage, 693
ComSimoutage (DPL Methods), 1316
AddCntcy, 1317
Execute, 1316
ExecuteCntcy, 1316
ReportObjs, 1318
Reset, 1316
SetLimits, 1317
ComStationware, 395
ComStatsim, 556
ComStepres, 587
ComStop, 155
ComTablereport (DPL Methods), 1269
AddColumn, 1269
AddCurve, 1270
AddHeader, 1271
AddInvisibleFilter, 1271
AddListFilter, 1271
AddListFilterEntries, 1272
AddPlot, 1272
AddRow, 1273
AddTable, 1273
AddTextFilter, 1274
AddXLabel, 1274
DisableAutomaticRowNumbering, 1274
EnableAutomaticRowNumbering, 1275
SetBarLimits, 1275
SetCellAccess, 1276
SetCellEdit, 1276
SetCellValueToBar, 1276
SetCellValueToCheckbox, 1277
SetCellValueToDate, 1277
DIgSILENT PowerFactory 15, User Manual
SetCellValueToDouble, 1278
SetCellValueToInt, 1278
SetCellValueToObject, 1279
SetCellValueToString, 1280
SetColumnHeader, 1280
SetCurveValue, 1281
SetDialogSize, 1281
SetListFilterSelection, 1282
SetNumberFormatForPlot, 1282
SetSorting, 1282
SetStatusText, 1283
SetTextAxisDistForPlot, 1283
SetTicksForPlot, 1283
SetTitle, 1284
ComTieopt, 858
ComUcte, 388
ComUcteexp, 390
ComUcteexp (DPL Methods), 1331
BuildNodeNames, 1331
ComVsag, 847
ComVstab, 464
ComWr, 155
Connection Request, 535
Connection Request Assessment
Basic Options, 536
Outputs, 537
Connection Request Element
Basic Data, 537
D-A-CH-CZ, 537
Contact, 5
Contingency Analysis, 687
Comparing Results, 715
Contingency Cases, 702
Creating Contingencies using Contingency Definitions, 713
Creating Contingencies using Fault Cases and
Fault Groups, 710
Executing Contingency Analyses, 691
Reslut Analysis, 717
Single Time Phase, 693
Technical Background, 687
Contingency Case, 702
Contingency Constrained DC OPF, 819
Advanced Options, 826
Basic Options, 820
Initialization, 826
Iteration Control, 826
Output, 826
Reports, 827
Contingency Definition, 713
Contingency OPF, 819
continue
DPL, 353
Convergence
Iteration Control, 451
LF Troubleshooting, 457
cos
DPL, 351
1449
INDEX
DSL, 624
cosh
DPL, 351
DSL, 624
Cost Functions, 795
CSSL, 606
CUBIC
DIg Output Language, 1434
Cubicle, 1062
Curve Input
Context-sensitive Menu, 309
Create Diagram, 308
D-A-CH-CZ, 535, 537
DAQ, 1062
Data Management, 325
Data Manager, 135
Database Browser, 135
Database Tree, 137
Settings, 59
Database
Multi-User, 49
Single-User, 48
DC OPF, 811
Advanced Options, 817
Basic Options, 812
Initialization, 816
Iteration Control, 818
DDE Functions, 1405
DEF
DIg Output Language, 1435
Defining Element Symbols, 1439
delay
DSL, 626
Device, 1062
DGS Interface, 371
Diagram Colouring, 118
DiaGrfopts, 109
DiaPagetyp, 99
DIg Output Language, 1431
Color, 1435
Format, 1432
Includes, 1437
Line Types, 1436
Loops, 1437
Page Breaks, 1436
Placeholder, 1432
Text Macros, 1436
Variables, 1433
DIgSILENT Programming Language, 345
Distribution Network Tools, 847
do() while{}
DPL, 352
Documentation, 7
DPL, 345
Access to Objects, 354
Assignments, 351
break, 353
coninue, 353
1450
INDEX
DSL Primitive, 1063
DSL Reference, 624
DSL Structure, 616
DSL Variables, 616
e
DPL, 352
DSL, 624
EchoOff, 1193
EchoOn, 1193
EDGE
DIg Output Language, 1433
Edge Elements, 1063
EditCharDialogue, 250
EIC (Reliability Analysis), 731
Eigenvalue Bar Plot, 284
Eigenvalue Calculation, 653
Eigenvalue Plot, 665
Elektra Interface, 382
Element, 1063
ElmAsm, 1082
ElmAsm (DPL Methods), 1333
GetAvailableGenPower, 1333
ElmAsmsc, 1083
ElmAsmsc (DPL Methods), 1334
GetAvailableGenPower, 1334
ElmBattery, 1088
ElmBay (DPL Methods), 1385
GetAll, 1385
ElmBoundary, 202
ElmBoundary (DPL Methods), 1339
AddCubicle, 1339
Clear, 1339
GetInterior, 1340
IsSplitting, 1339
ElmCabsys, 1081
ElmClock, 1089
ElmComp, 585
ElmComp (DPL Methods), 1343
Slotupd, 1343
ElmCompare, 678
ElmConreq, 535, 537
ElmCoup (DPL Methods), 1343
Close, 1343
GetRemoteBreakers, 1345
IsBreaker, 1345
IsClosed, 1345
IsOpen, 1344
Open, 1344
ElmDcdc, 1086
ElmDci, 1087
ElmDcm, 1085
ElmDsl, 592
ElmFeeder, 204
GetObjs, 1338
ElmFeeder (DPL Methods), 1335
GetAll, 1335
GetBranches, 1337
GetBuses, 1336
DIgSILENT PowerFactory 15, User Manual
GetNodesBranches, 1337
ElmFft, 1089
ElmFile, 1088
ElmFsrc, 1088
ElmFuse, 935
ElmGenstat, 1083
ElmIac, 1087
ElmIacbi, 1087
ElmImpulse, 1087
ElmLne, 1080
ElmLne (DPL Methods), 1346
CreateFeederWithRoutes, 1349
FitParams, 1351
GetType, 1347
GetY0m, 1351
GetY1m, 1351
GetZ0m, 1350
GetZ1m, 1351
HasRoutes, 1346
HasRoutesOrSec, 1347
IsCable, 1348
IsNetCoupling, 1348
SetCorr, 1349
SetDetailed, 1350
ElmLnesec, 1080
ElmLod, 1084
ElmLodlv, 1084
ElmLodlvp, 1084
ElmLodmv, 1084
ElmMdm, 1084
ElmMeteostat, 776
ElmNec, 1090
ElmNet (DPL Methods), 1332
Activate, 1332
CalculateInterchangeTo, 1333
Deactivate, 1332
ElmPhi, 1088
ElmPvsys, 1083
ElmRec, 1085
ElmRecmono, 1085
ElmReg, 1089
ElmRelay, 918, 925
ElmRes, 269
ElmRes (DPL Methods), 1352
AddVars, 1353
Clear, 1353
Draw, 1353
Flush, 1354
GetObj, 1355
GetResData, 1355
Init, 1356
LoadResData, 1356
ReleaseResData, 1357
ResFirstValidObject, 1359
ResFirstValidObjectVar, 1360
ResFirstValidVar, 1360
ResIndex, 1358
ResNextValidObject, 1360
1451
INDEX
ResNextValidObjectVar, 1361
ResNextValidVar, 1362
ResNval, 1362
ResNvars, 1363
SetAsDefault, 1363
Write, 1363
WriteDraw, 1364
ElmSamp, 1089
ElmScap, 1082
ElmSecctrl, 1086
ElmSfilt, 1082
ElmShnt, 1086
ElmSind, 1082
ElmStactrl, 438, 1086
ElmStactrl (DPL Methods), 1364
GetControlledHVNode, 1365
GetControlledLVNode, 1366
GetStepupTransformer, 1364
ElmSubstat (DPL Methods), 1366
GetSplit, 1367, 1372
GetSplitCal, 1369
GetSplitIndex, 1368
OverwriteRA, 1371
SaveAsRA, 1370
SetRA, 1371
ElmSvs, 1086
ElmSym, 1083
ElmSym (DPL Methods), 1372
Disconnect, 1372
GetAvailableGenPower, 1374
IsConnected, 1373
Reconnect, 1373
ElmTerm (DPL Methods), 1375
GetMinDistance, 1378
GetNextHVBus, 1375
IsElectrEquivalent, 1377
IsEquivalent, 1376
ElmTow, 1080
ElmTow (DPL Methods), 1378
FitParams, 1378
PrintFreqDepParams, 1379
ElmTr (DPL Methods), 1380
IsQuadBooster, 1380
ElmTr2, 1078
ElmTr3, 1078
ElmTrb, 1079
ElmTrigger, 1089
ElmVac, 1030, 1087
ElmVacbi, 1087
ElmVar, 1086
ElmVdc, 1087
ElmVsc, 1085
ElmVscmono, 1085
ElmWindzone, 776
ElmXnet, 1085
psik, 535
Sk, 535
ElmZone (DPL Methods), 1381
1452
GetAll, 1381
GetBranches, 1382
GetBuses, 1381
GetNodes, 1382
GetObjs, 1383
ElmZpu, 1030, 1082
EMT Simulation, 561
EMT Simulations, 561
ENS (Reliability Analysis), 730
Equipment Type Library, 179
Equivalent Network, 1023
Error, 1184
Event, 577
Inter-Circuit, 172
Load, 172
Outage, 173
Parameter, 173
Short-Circuit, 173
Switching, 174
Synchronuos Machine, 174
event
DSL, 628
Events, 577
EvtLod
Data Model, 171
EvtOutage
Data Model, 171
EvtParam
Data Model, 171
EvtShc
Data Model, 171
EvtShcll
Data Model, 171
EvtSym
Data Model, 171
Excel Functions
xlActivateWorksheet, 1412
xlAddWorksheet, 1410
xlCloseWorkbook, 1409
xlDeleteWorksheet, 1410
xlGetActiveWorksheetIndex, 1411
xlGetDateSeparator, 1408
xlGetDecimalSeparator, 1408
xlGetThousandsSeparator, 1408
xlGetValue, 1412
xlGetWorksheetCount, 1410
xlGetWorksheetName, 1411
xlNewWorkbook, 1408
xlOpenWorkbook, 1409
xlResetTextStyle, 1414
xlRunMacro, 1419
xlSaveWorkbook, 1409
xlSaveWorkbookAs, 1409
xlSetBorder, 1418
xlSetColumnWidth, 1415
xlSetDebug, 1407
xlSetFillColor, 1415
xlSetFontName, 1417
DIgSILENT PowerFactory 15, User Manual
INDEX
xlSetFontSize, 1417
xlSetHorizontalAlignment, 1416
xlSetNumberFormat, 1417
xlSetPrintTitleRows, 1419
xlSetRowHeight, 1415
xlSetTextColor, 1414
xlSetTextStyle, 1413
xlSetValue, 1412
xlSetValues, 1413
xlSetVerticalAlignment, 1416
xlSetVisible, 1408
xlSetWorksheetName, 1411
xlSetWrapText, 1418
xlStart, 1407
xlTerminate, 1407
Exe, 1309
Execute, 1308
exit, 1194
exp
DPL, 351
DSL, 624
Expansion Stages, 227
Export
Curve Data, 319
to Spreadsheet Programs, 157
Failure Effect Analysis, 755
fault
DSL, 622
Fault Case, 711
Fault Clearing (Optimal Power Restoration), 756
Fault Group, 712
Fault Isolation (Optimal Power Restoration), 756
fclose, 1189
FEA (Failure Effect Analysis), 755
Feeder, 204
Feeder Tool Command, 207
Feeder Tools, 206
fflush, 1189
file
DSL, 627
Filter Analysis, 514
Flexible Data Page, 153
Flicker Analysis (IEC 61400-21), 529
Assignment of Flicker Coefficients, 532
Continuous Operation, 530
Definition of Flicker Coefficients, 531
Flicker Contribution of Wind Turbines, 531
Result Variables, 533
Switching Operations, 530
Flickermeter, 543
Advanced Options, 546
Calculation of Long-Term Flicker, 544
Calculation of Short-Term Flicker, 543
Data Source, 545
Flickermeter Command, 544
Signal Settings, 545
flipflop
DSL, 627
DIgSILENT PowerFactory 15, User Manual
floor
DPL, 351
DSL, 624
fopen, 1190
Format Editor, 263
Predefined Variables, 263
Text Editor, 263
User Selection, 263
Format String Syntax, 1171
FormatDateLT, 1179
FormatDateUTC, 1180
fprintf, 1190
frac
DPL, 351
DSL, 624
fRand, 1194
Frequency Dependent Parameters, 526
Frequency Sweep, 512
Advanced Options, 514
Basic Options, 513
fscanf, 1191
fscanfsep, 1192
fWrite, 1191
General Selection (DPL), 356
Geographical Diagrams, 129
External map provider, 130
Local maps, 132
GetActiveNetworkVariations, 1207
GetActiveProject, 1203
GetActiveScenario, 1209
GetActiveStages, 1208
GetActiveStudyCase, 1207
GetBorderCubicles, 1196
GetCaseCommand, 1308
GetDataFolder, 1205
GetFlowOrientation, 1203
GetGlobalLib, 1203
GetGraphBoard, 1224
GetLanguage, 1196
GetLocalLib, 1204
GetPageLen, 1197
GetPFVersion, 1202
GetProjectFolder, 1205
GetRecordingStage, 1208
GetSettings, 1197
GetSystemTime, 1181
GetTime, 1181
GetUserManager, 1198
Glossary, 1061
Graphic
Already Existing Network Elements, 101
Attributes, 109
Balloon Help, 123
Colour, 118
Edit Result Box, 124
Imported Data, 103
Insert, 108
Interconnect, 80
1453
INDEX
Layers, 111
Legend Block, 122
Mark Element, 78
Neutral winding connection, 92
Options, 109
Print, 107
Rebuild, 108
Reference Point, 124
Remove Page, 108
Rename Page, 109
Result Box, 123
Result Boxes, 110
Title Block, 121
Toolboxes, 100
Zoom, 105
Graphic Board Window, 1063
Graphic Window
New, 99
Page Tab, 100
Graphic Windows
Settings, 58
Graphics Board, 96
Grid, 1063
Grouping Objects, 199
Harmonic Calculation
Definition of Result Variables, 540
Modeling
Assignment of Harmonic Injections, 523
Background Harmonics, 520
Definition of Harmonic Injections, 517
Frequency Dependent Parameters, 526
Harmonics Indices, 524
IEC 61000 Harmonic Sources, 519
Magnitudes and Phase Values, 520
Phase Correct Harmonic Sources, 517
Waveform Plot, 528
Modeling Harmonic Sources, 516
Waveform Plot, 528
Harmonic Impedance, 512
Harmonic Load Flow, 510
Advanced Options, 512
Basic Options, 511
IEC 61000-3-6, 512
Result Variables, 512
Harmonic Sources, 516
Harmonics Analysis, 509
Definition of Result Variables, 540
Filter Analysis, 514
Flicker Analysis (IEC 61400-21), 529
Frequency Sweep, 512
Harmonic Load Flow, 510
Modeling Harmonic Sources, 516
psik, 533
Balanced Harmonics Analysis, 534
Unbalanced Harmonics Analysis, 534
Sk, 533
Balanced Harmonics Analysis, 534
Result Variables, 534
1454
INDEX
Get, 1304
IndexOf, 1304
Insert, 1305
Remove, 1305
Size, 1305
Sort, 1306
Integral Interface, 388
Interconnect, 80
Interface
Elektra General settings, 383
Interfaces, 371
API, 423
CIM, 391
CIM Data Export, 392
CIM Data Export General Settings, 392
CIM Data Import, 391
CIM Data Import General Settings, 391
DGS, 371
DGS Export, 374
DGS Export General Settings, 375
DGS Import, 373
DGS Import General Settings, 374
DGS Structure, 373
Elektra, 382
Importing Elektra, 385
Importing Elektra type, 385
Integral, 388
MATLAB, 393
NEPLAN, 385
NEPLAN Import, 386
NEPLAN Import General Settings, 386
OPC, 393
Output window log, 385
PSS/E, 376
PSS/E Dyn.Data Import, 379
PSS/E Dyn.Data Import General Settings, 380
PSS/E Dyn.Data Import Options, 381
PSS/E Export, 381
PSS/E Export General Settings, 381
PSS/E Export Options, 382
PSS/E Import, 376
PSS/E Import General Settings, 376
PSS/E Import Graphical Options, 378
PSS/E Import Options, 377
StationWare, 395
UCTE-DEF, 388
UCTE-DEF Data Export, 390
UCTE-DEF Data Export General Settings, 390
UCTE-DEF Data Import, 388
UCTE-DEF Data Import General Settings, 389
interfaces
Elektra Advanced settings, 384
Interfaces:Integral Import, 388
Interior Point Method, 793
intervalinc
DSL, 618
IntEvt (DPL Methods), 1388
CreateCBEvents, 1388
DIgSILENT PowerFactory 15, User Manual
IntEvtshc, 487
IntForm, 263
IntForm (DPL Methods), 1388
SetText, 1388
WriteOut, 1389
IntGrfnet, 108
Options, 108
IntMat (DPL Methods), 1390
ColLbl, 1390
Get, 1391
Init, 1392
Invert, 1392
Multiply, 1392
NCol, 1393
NRow, 1393
Resize, 1394
RowLbl, 1394
Set, 1395
SortToColumn, 1395
IntMon, 176, 274
IntMon (DPL Methods), 1396
AddVar, 1397
ClearVars, 1397
GetVar, 1397
NVars, 1396
PrintAllVal, 1396
PrintVal, 1396
RemoveVar, 1397
IntMonsel, 153
IntNewobj, 138
IntPlot (DPL Methods), 1255
SetAdaptY, 1258
SetAutoScaleY, 1257
SetScaleY, 1255
IntPrj, 67
IntPrj (DPL Methods), 1210
Activate, 1210
Deactivate, 1210
GetLatestVersion, 1210
GetVersions, 1211
HasExternalReferences, 1211
Migrate, 1212
Purge, 1212
UpdateStatistics, 1213
IntPrjfolder (DPL Methods), 1215
GetProjectFolderType, 1215
IsProjectFolderType, 1215
IntScenario, 215
IntScenario (DPL Methods), 1222
Activate, 1222
Apply, 1223
Deactivate, 1222
GetObjects, 1223
Save, 1223
IntScensched, 223
IntScheme, 227
IntScheme (DPL Methods), 1221
IntScn, 574
1455
INDEX
IntSscheduler, 230
IntSstage, 227
IntSstage (DPL Methods), 1221
IntSstage.Activate, 1222
IntSubset, 225
IntSym, 1439
IntTemplate, 194
IntThrating (DPL Methods), 1398
GetCriticalTimePhase, 1398
GetRating, 1398
IntUser (DPL Methods), 1399
Purge, 1399
SetPassword, 1399
IntUserman (DPL Methods), 1400
CreateGroup, 1401
CreateUser, 1402
GetGroups, 1400
GetUsers, 1401
IntVariant (DPL Methods), 1219
Activate, 1219
Deactivate, 1219
Reduce, 1219
IntVec (DPL Methods), 1403
Get, 1403
Init, 1404
Resize, 1404
Set, 1404
Size, 1405
IntVersion, 325
IntVersion (DPL Methods), 1213
CreateDerivedProject, 1214
Rollback, 1214
invlapprox
DSL, 627
Iterations
Iteration Control, 451
LF Troubleshooting, 457
lapprox
DSL, 627
lapprox2
DSL, 627
lim
DSL, 625
limfix
DSL, 626
limits
DSL, 625
Limits (Active and Reactive Power), 803
limstate
DSL, 626
Linear Programming, 811
LMPs, 815
ln
DPL, 351
DSL, 624
Load Flow Analysis, 427
Active Power Control, 446
Advanced Load Options, 438
1456
INDEX
Advanced Options, 659
Basic Options, 656
Output Options, 661
Mode Bar Plot, 667
Mode Phasor Plot, 669
Model Parameter Identification, 677
Modelling and Simulation Tools, 606
modulo
DPL, 351
DSL, 624
Motor Starting, 897
Navigation Pane, 129
NEPLAN Interface, 385
NET
DIg Output Language, 1434
Network Model
Variations, 227
Network Reduction, 1023
Example, 1030
Handling, 1024
Options, 1027
Network Variations, 227
newtoninc
DSL, 618
Node, 1063
NoFinalUpdate, 1199
NULL, 350
OBJECT
DIg Output Language, 1433
Object, 1063
object (DPL Methods), 1134
AddCopy, 1135
CreateObject, 1136
Delete, 1136
Edit, 1137
GetCaseObject, 1137
GetChildren, 1138
GetClass, 1139
GetConnectedElms, 1140
GetConnectionCount, 1140
GetContents, 1141
GetControlledNode, 1141
GetCubicle, 1142
GetFullName, 1143
GetNet, 1143
GetNode, 1144
GetOperator, 1144
GetOwner, 1144
GetParent, 1145
GetReferences, 1145
GetSize, 1146
GetSystemGround, 1146
GetUserAttribute, 1147
GetVal, 1148
HasResults, 1148
Inom, 1158
IsClass, 1149
DIgSILENT PowerFactory 15, User Manual
IsEarthed, 1149
IsEnergized, 1150
IsInFeeder, 1151
IsNode, 1151
IsOutOfService, 1151
IsReducible, 1152
IsRelevant, 1153
lnm, 1158
MarkInGraphics, 1153
Move, 1153
PasteCopy, 1154
SetSize, 1154
SetVal, 1155
ShowFullName, 1156
ShowModalSelectTree, 1156
snm, 1160
StochEvt, 1157
unm, 1159
Unom, 1159
VarExists, 1157
Objects
Edit, 98
Filtering, 145
Search, 144
Sorting, 145
Offline Mode, 37
OPC Interfaces, 393
Open Tie Optimisation, 858
Operation Scenario, 215, 1063
Operation Scenarios
Scenario Scheduler, 223
Operational Data, 181
Operator, 211
OPF, 793
OPR, 755
Opt.Capacitor Placement
Avaible Capacitors, 871
Basic Options, 869
Load Characteristics, 872
Objective Function, 867
Optimization Procedure, 869
Voltage Violation Cost, 867
Optimal Power Flow, 793
Optimal Power Restoration, 755
Optimisation Procedure, 853
output
DPL, 353
DSL, 622
Output of Device Data, 266
Documentation, 267
Filter/Annex, 267
Output of Results, 268
Output Window, 26
Context Sensitive Menu, 27
Copy, 29
Legend, 28
Settings, 60
1457
INDEX
Overload Alleviation (Optimal Power Restoration),
757
Owner, 211
INDEX
SAIDI (Reliability Analysis), 728
SAIDI_P (Reliability Analysis), 728
SAIFI (Reliability Analysis), 728
SAIFI_P (Reliability Analysis), 728
sapprox
DSL, 628
sapprox2
DSL, 628
SaveScenarioAs, 1209
ScnFreq, 574
ScnSpeed, 574
ScnSync, 575
ScnVar, 575
ScnVolt, 575
Scripting, 345
DIgSILENT Programming Language, 345
Python, 361
SearchObjectByForeignKey, 1138
SEL, 350
select
DSL, 626
selfix
DSL, 626
Sensitivity Analysis, 464
SES (Reliability Analysis), 730
Set (DPl Methods), 1160
Add, 1162
Clear, 1163
Count, 1163
First, 1163
FirstFilt, 1164
Firstmatch, 1164
IsIn, 1165
MarkInGraphics, 1165
Next, 1166
NextFilt, 1166
Nextmatch, 1167
Obj, 1167
OutputFlexibleData, 1167
Remove, 1167
ShowModalBrowser, 1168
ShowModalSelectBrowser, 1168
ShowModelessBrowser, 1169
SortToClass, 1169
SortToName, 1170
SortToVar, 1170
SetColscheme, 118
SetCondmg, 959
SetConfig, 34
SetConsistencyCheck, 1200
SetCrvfilt, 318
SetDesktop (DPL Methods), 1259
AddPage, 1259
DoAutoScaleX, 1261
GetPage, 1260
SetAdaptX, 1262
SetAutoScaleX, 1262
SetResults, 1263
DIgSILENT PowerFactory 15, User Manual
SetScaleX, 1263
SetXVar, 1264
Show, 1265
WriteWMF, 1265
SetDiffMode, 1200
SetDisplt, 981
SetFeeder (DPL Methods), 1292
GetAll, 1292
GetBranches, 1293
GetBuses, 1292
SetFilt, 144
SetFilt (DPL Methods), 1284
Get, 1284
SetGraphicUpdate, 1224
SetGrfpage, 111
SetLevelVis, 111
SetLevelvis (DPL Methods), 1266
AdaptWidth, 1266
Align, 1266
ChangeFont, 1267
ChangeFrameAndWidth, 1267
ChangeLayer, 1267
ChangeRefPoints, 1268
Mark, 1268
Reset, 1268
SetLineFeed, 1186
SetMotorst, 963
SetOcplt, 948
SetOutputWindowState, 1187
SetPath (DPL Methods), 1293
AllBreakers, 1295
AllClosedBreakers, 1295
AllOpenBreakers, 1296
GetAll, 1293
GetBranches, 1294
GetBusses, 1294
SetPrj, 70
SetRandSeed, 1201
SetSelect (DPL Methods), 1285
AddRef, 1286
All, 1285
AllAsm, 1289
AllBars, 1288
AllBreakers, 1290
AllClosedBreakers, 1291
AllElm, 1287
AllLines, 1287
AllLoads, 1288
AllOpenBreakers, 1291
AllSym, 1289
AllTypLne, 1290
Clear, 1287
GetAll, 1286
SetShowAllUsers, 1202
SetTime, 168
SetTime (DPL Methods), 1216
Date, 1216
SetTime, 1217
1459
INDEX
SetTimeUTC, 1218
Time, 1218
Settings
Data Manager, 59
Directories, 61
Editor, 61
Functions, 60
General, 57
Graphic Windows, 58
Output Window, 60
SetTitm, 121
SetTrfdmg, 954
SetTrigger, 177
SetUser, 57
SetValue, 144
SetVilytaxis, 321
SetVilytpage, 321
SetVilytplot, 323
SetViPage, 284
SetVipage (DPL Methods), 1225
DoAutoScaleX, 1230
DoAutoScaleY, 1231
GetScaleObjX, 1233
GetVI, 1225
SetAdaptX, 1232
SetAutoScaleX, 1231
SetDefScaleX, 1230
SetResults, 1227
SetScaleX, 1228
SetStyle, 1226
SetTile, 1226
SetXVar, 1228
Shadow Prices, 815
Short-Circuit Analysis, 469
Adv.Options ANSI, 498
Adv.Options Complete M., 500
Advanced Options IEC/VDE, 494
Advanced Options IEC61660, 504
Advanced Options IEEE946, 505
Basic Options (All Methods), 489
Basic Options ANSI, 496
Basic Options Complete M., 499
Basic Options IEC 61363, 502
Basic Options IEC/VDE, 493
Basic Options IEC61660, 503
Basic Options IEEE946, 504
Calculation Method, 489
Calculation Options, 489
Capacitive Earth-Fault Current, 507
Executing SC, 484
Explanation ANSI Method, 477
Explanation ANSI/IEEE 946 (DC) Method, 484
Explanation Complete Method, 479
Explanation IEC 61660 (DC) Method, 482
Explanation IEC/VDE Method, 473
Fault Type, 490
IEC Correction Factors, 475
Line Faults, 486
1460
INDEX
StaVmea, 1088
StaVt, 931
StaVtsec, 934
Step Size Adaptation, 567
Step-Size Adaption, 566
Stochastic Models, 733
Busbar, 733
Cable, 734
Common Mode, 736
Distribution Transformer, 735
Generator, 735
Line, 734
MV Load, 735
Terminal, 733
Transformer, 735
StoCommon, 736
StoGen, 774
Stop Command, 156
StoTypbar, 733
StoTyplne, 734
StoTyptrf, 735
strchg, 1176
strcmp, 1176
strcpy, 1175
strftime, 1178
strlen, 1177
strstr, 1175
strtok, 1177
Study Case, 165, 1064
Study Time, 168
Study Cases, 165
Study Time, 168
Subplot (VI), 282
SummaryGrid, 1207
Support, 5
Symbols, 1439
Symbols of Elements
Editing and Changing, 122
System Stage, 1064
Converting into Variations, 236
tan
DPL, 351
DSL, 624
tanh
DPL, 351
DSL, 624
Tariff Systems for External Grids, 795
Techno Economical Calculation, 839
TechRef, 1077, 1091
The DIgSILENT Output Language, 1431
The Graphics Editor, 75
this, 350
time
DSL, 624
Time Domain
Reference System, 569
Time Domain Simulation
3 phase EMT Simulation, 564
DIgSILENT PowerFactory 15, User Manual
INDEX
TypLod, 1084
TypLodind, 1084
TypPowercurve, 775
TypRec, 1085
TypRelay, 917
TypSym, 1083
TypTow, 1080
TypVt, 932
TypVtsec, 933
UCTE-DEF Interface, 388
User Accounts, 47
User Groups, 47
User Interface, 20
User Settings, 57
Vadility Period, 70
validLDF, 1310
validRMS, 1312
validSHC, 1311
validSIM, 1312
Variable Selection, 274
VARIANT
DIg Output Language, 1434
Variation, 227, 1065
Variations (DPL Methods), 1220
Activate, 1220
CreateStageObject, 1221
Deactivate, 1220
GetActiveScheduler, 1221
NewStage, 1220
Vector Diagram
Changing the object, 302
Changing the Variables, 302
Coordinates, 301
Editing the Unit/Tick, 301
Label of Vectors, 302
Origin, 301
X and Y Axes, 301
VecVis, 300
Version, 325
VI
Constant Value, 316
Curve Filter, 318
Curve Input, 308
Defining Styles, 321
Edit Dialogues, 312
Embedded Graphic Windows, 311
Export Curve Data, 319
Export Curve Graphic, 318
FFT Plot, 298
Format Label, 314
Labelling Plots, 313
Plot Style, 323
Pre-defined Style, 324
Status Bar, 312
Straight Line, 317
Styles, 321
Text Label, 313
1462
INDEX
DoAutoScaleX, 1243
DoAutoScaleY, 1244
DoAutoScaleY2, 1245
GetScaleObjX, 1250
GetScaleObjY, 1252
SetAdaptX, 1248
SetAdaptY, 1249
SetAutoScaleX, 1245
SetAutoScaleY, 1246
SetCrvDesc, 1253
SetDefScaleX, 1242
SetDefScaleY, 1242
SetScaleX, 1239
SetScaleY, 1240
SetXVar, 1238
VisPlot2, 296
VisPlottz, 983
VisValue, 313
VisXvalue, 316
VisXZPlot, 297
Voltage Profile Optimisation, 852
Voltage Profile Plot
Creating a Voltage Profile Plot, 303
Customising a Voltage Profile Plot, 304
Interpreting a Voltage Profile Plot, 303
Voltage Sag, 847
Advanced Options, 849
Basic Options, 848
Results, 850
Warn, 1187
Waveform Plot, 528
while(){}
DPL, 352
Wr Command, 156
Write, 1188
Zone, 213
1463
INDEX
1464
DIgSILENT
Company Profile
access to relay manuals, interfaces with manufacturer specific relay settings and integrates
with PowerFactory software, allowing for
powerful and easy-to-use settings co-ordination
studies.
PowerFactory Monitor is a flexible performance
recording and monitoring system that copes
easily and efficiently with the special requirements for system test implementation, system
DIgSILENT is a consulting and software company
DIgSILENT PowerFactory
Wide-Area-Measurement-System (WAMS).
PowerFactory software.
DIgSILENT Consulting
performance.
DIgSILENT GmbH
72810 Gomaringen
mail@digsilent.de
Heinrich-Hertz-Strae 9
Germany
www.digsilent.de