Agenda CIM Lecture 2017-04-04 by Lars-Ola Österlund
Standards development – CIM Standards development – Driving forces and network codes Standards development – CIM and CGMES specifications Standards development – Data Exchange and partitioning Standards development – Profile development UML overview CIM UML Data examples CIMXML exchange format
April 26, 2017 Slide 1 Standards Development Some Abbreviations
CIM Common Information Model (for power systems) ISO Independent System Operator, exist in US TSO Transmission System Operator DSO Distribution System Operator EPRI Electric Power Research Institute, an ISO/TSO sponsored research institute in US CCAPI Control Center API CME CIM for Market data Exchange IOP Interoperability Test IEC International Electrotechnical Committee TCxx Technical Committee xx WGxx Working Group xx ENTSO-E European Network of TSOs of electricity, formed by merging UCTE and ETSO CGMES Common Grid Model Exchange Standard UCTE Union for the Coordination of the Transmission of Electricity ETSO European Transmission System Operators
April 26, 2017 Slide 2 Standards Development How CIM Started
EPRI had a need to integrate software developed for them by contractors Power utilities (ISO, TSO, DSO…) has an increasing need to exchange data
1994-1996 CCAPI EPRI project 3654-01 published the report TR-106324 1996 IEC work started, IEC 61970 for transmission and IEC 61968 for distribution 1998 Move to UML 2000 First IOP, annual IOPs from then on, NERC mandate the use of CIM - many US users still on CIM10 2003 CME EPRI ISO/RTO sponsored market extension project, resulted in IEC 62325 2005 First edition of IEC 61970-301 CIM base document 2008 UCTE start to use CIM (IEC 61970) for DACF 2009 NIST identifies CIM as a Smart Grid standard 2010 First ENTSO-E IOP 2014 ENTSO-E Conformance test published
April 26, 2017 Slide 3 Standards Development What CIM Is
An information model in UML An agreed canonical information model The information model is large • Not practical to use as is • Subsets or profiles used for actual exchanges Data is exchanged as XML documents • XML Schema based documents • RDF/XML documents • RDF is described by RDFS and OWL • RDF and OWL designed for the semantic web
April 26, 2017 Slide 4 Standards Development IEC TC57
Working groups and standards WG3 and WG7 Communication protocols WG10 – IEC 61850 Substation control interfaces WG13 – IEC 61970 CIM - EMS API * WG14 – IEC 61968 CIM - System interfaces for electrical distribution * WG15 – IEC 62210 Data and communication security WG16 – IEC 62325 CIM - Deregulated energy market communications WG17 Communication system for distributed energy resources (DER) WG18 Hydro electric power plants WG19 coordination of TC57 standards, in particular CIM and IEC 61850
* Scope is currently changing for CIM 61970 – network model for both transmission and distribution 61968 – utility related IT/OT work processes
April 26, 2017 Slide 5 Standards Development Current Drivers Resulting In Standardization In Europe
Drivers
. Common energy markets
. Increased trade increase flows across market boundaries
. Large increase in renewable power generation
. Increasing difficulty in predicting power flows
. Huge power flows over congested network boundaries
. Old generation units being decommissioned
. Decreasing system stability
Results in increased need for network model exchange between TSOs and DSOs
In Europe legislation, the Network Codes (NC), push TSOs to increase data exchange
. Legislation developed by ACER (Agency for Cooperation of Energy Regulators)
. ENTSO-E implement the Network Codes and developed CGMES CIM profiles to support it
April 26, 2017 Slide 6 Standards Development Energy Production And Flows in EU
Renewable energy production increase • Wind • Solar • During sunny and windy days the renewable production is substantial, regionally > 25%! Old fossil fuel plants being decommissioned Large power flows across EU Power flow congestion an issue • Hinder free market • Threaten stability stability
April 26, 2017 Slide 7 Standards Development Overview ENTSO-E Network Codes
April 26, 2017 Slide 8 Standards Development ENTSO-E CGMES
Requirements from the Network Codes CACM and Operational security and planning • Congestion management (NC CACM)
• Intra Day Congestion Forecast (IDCF)
• Day Ahead Congestion Forecast (DACF)
• Capacity Allocation two days ahead • Need to exchange network models and schedules for Europe • Old DEF format needed development • CIM was investigated as an alternative
April 26, 2017 Slide 9 Standards Development ENTSO-E CGMES
Three versions • CGMES 1 based on CIM 14 • CGMES 2.4 based on CIM 16 • CGMES 2.5 Consist of • CIM Canonical UML • ENTSO-E Canonical UML extensions • ENTSO-E profile in UML • ENTSO-E profile in RDFS • ENTSO-E main document • Several additional guideline documents
April 26, 2017 Slide 10 Standards Development IEC 61970/CGMES Documents
Canonical CIM • UML package iec61970cim16v33b_iec61968cim12v08_iec62325cim03v01a.eap • CIM Base IEC 61970-301 • Dynamics IEC 61970-302 Profile documents
. EQ – Network equipment IEC 61970-452
. TP – Topology IEC 61970-456
. SV – State Variables IEC 61970-456
. SSH – Steady State Hypothesis (power flow input) IEC 61970-456
. DL – Display Layout IEC 61970-453
. GL – Geographical Location
. DY – Dynamics data IEC 61970-457 CIM RDF schema, profile information model IEC 61970-501 CIMXML data exchange format IEC 61970-552
April 26, 2017 Slide 11 Standards Development Profile Documents
The canonical CIM is big and cannot be used as is A profile is a subset of CIM for a dedicated information exchange, e.g. • Basic Network model describing equipment, connectivity parameters etc; EQ core – IEC 61970-452 • Short circuit data; EQ SC – IEC 61970-452 • Operational parameters for EMS; EQ OP – IEC 61970-452 • Dynamics parameters; DY – IEC 61970-457 • Display layout; DL – IEC 61970-453 • Geographical location; GL • Power flow initial values; SSH – IEC 61970-456 • Electrical nodes or power flow busses; TP – IEC 61970-456 • Power flow solution; SV – IEC 61970-456 • Frames; IEC 61970-459, in progress • Network model projects; IEC 61970-460, in progress • Generic dataset; IEC 61970-452, intended to replace header information in IEC 61970-552
April 26, 2017 Standards Development Network Applications Data Exchange
Network applications calculate with bus-branch data Real power system has breakers and measurements, they are node-breaker based Two types of network models • Bus-branch (BB) G • Node-breaker (NB) BB models can be derived from NB models Existing standards for application data is BB NB • IEEE to BB • PSS/E • PSLF • DEF •... CIM is both NB and BB
April 26, 2017 Slide 13 Standards Development Use of Profiles with Network Applications, Power Flow
Data Modeller/Engineering
EQ EQ NB BB
SSH Network TP Out of service Model Busses Switch Status Builder Retained Sw. SV Islands Power Voltage, amplitude/angle Injection, active/reactive SSH Flow Power flow, active/reactive Injection, active/reactive Tap position Voltage set point Switch status Tap position Limits
April 26, 2017 Slide 14 Standards Development Use of Profiles with Network Applications, Details
Diagram Layout EQ DL Datasets Described by Network As-Built Geo Locations - Equipment GL Model Parts - Containment CIM Profiles Physical Model - Connectivity Dynamics Select / Edit - Controls DY - SIPS - Equipment Rating Contingency List - Normal operations CL - Energy allocation
Planned Construction Model Parts Projects SSH TP - TopologyNodes - Status - association to - Switch status conducting equipment Measurement Outage Device Status - In Service Sources Schedules - Branch end Initialization/Edit - Tap positions SV - Control settings - Voltage regulation Control Setting - Flow regulation - Energized State - SIPS Topology & - Island Topology External Energy Initialization/Edit - Monitoring Network Solution - BusVoltage Sources Forecasts & - Operating limits - Bus Injections - Other Algorithm - Terminal flows Schedules - Energy Injections - Controls Monitoring - Bulk generation - Violations Initialization/Edit - Solar - Wind - Storage - Traditional Load Case Parts Energy Injection - DR - etc, Repository Case Parts Initialization/Edit
April 26, 2017 Slide 15 Standards Development Modularisation Of Network Models In Areas (Frames)
TSO E TSO F ~ ~
TSO A My TSO ~ ~
DSO D DSO C
April 26, 2017 Slide 16 Standards Development Modularization Of Network Application Model Exchange
Modularization Of Data Sets Austria Hungary
. Frames and Model Authority Sets Italy Slovenia Croatia Serbia Bosnia Herzegovina
Equipment EQ . Type of data, Profiles Steady State Hypothesis (Power flow inputs) SSH Topology TP State Variables SV…
Modularization In Time
. Power System Projects
April 26, 2017 Slide 17 Standards Development Profile Development
Canonical Information and Semantic Models
CIM UML
Context Message Assembly XML Schema Rules CIM/XML Profile Rules
Message Syntax
Message CIM/XML XML Schema
April 26, 2017 Standards Development Profile Dependency
61970-456 61970-451 Profiles Profiles Discrete State Measurements Variables Profile Profile Analog Topology Measurements Profile Profile
61970-452 Profiles Equipment Model Profile
61970-453 Profiles Schematic Layouts Profile
April 26, 2017 Standards Development IEC Method
UML tool CIM UML tool EA
Canonical *.xmi Model Canonical model *xmi11.xml (automating Model in UML *.eap Enable interoperability *xmi21.xml EA function) *cimtool.xml
61970-301 Model Profiling tools 61968-11 Profile Profile Validation *.doc 62325-301 - EA definition tool Report Model template - CIMTool *.doc Model (web *.xml publishing)
Validation Profile Statistics *.owl
61970-452 Profile Profile Profile Manual 61970-456 *.rdf *.html *.doc editing 61968-13
Profile Manual Part 61968-3 through 61968-9 *.xsd insert file *.doc
April 26, 2017 Standards Development CIM Tool Demo
April 26, 2017 Slide 21 Standards Development Interoperability And Conformance
Interoperability and conformance tests has been organized by EPRI and ENTSO-E
Interoperability tests
. Purpose is to verify
‒ The CIM standard enables interoperability
‒ Vendor products interoperate Conformance tests
. Purpose is to verify vendor products conforms with the standard
Currently ENTSO-E host a conformance procedure for CGMES 2.4.15, three levels of conformance
. Bronze, Silver and Gold
ENTSO-E TSO are expected to be conformant to CGMES 2.4.15 during 2017.
Interoperability tests are being planned summer 2017 for next ENTSO-E profile CGMES 2.5
April 26, 2017 Slide 22 Standards Development Interoperability Tests 1
18-19/12 2000 1th test in Orlando ABB, ALSTOM (and Langdale), Siemens, PsyCor, CIM-Logic, SISCO 29/4-1/5 2001 2nd test in Las Vegas ABB, ALSTOM, Siemens, CIM-Logic, SISCO 26-28/9 2001 3rd test in Monterey ABB, ALSTOM, Siemens, PsyCor, SISCO 14-17/7 2002 4th test in San Francisco ABB, PTI(PsyCor), Langdale, GE Harris 2 August 2002 Beijing NEPDCC, CEPRI, NARI, Tsinghua, Luneng, Dongfang 18-20/11 2003 5th test in San Francisco Alstom, Shaw PTI, SISCO, SNC Lavalin 19/7 2004 6th test at CAISO in Folsom Areva, EDF, Incremental Systems, PTI, Siemens, Sisco 26-30/9 2005 7th test at CAISO in Folsom Areva, EDF, ABB, PTI, Siemens, Sisco, Xtensible Solutions
April 26, 2017 Slide 23 Standards Development Interoperability Tests 2
30 March 2006 8th test in San Francisco Areva, EDF, PTI, SNC Lavalin, ABB (remote) 1 Oct 2006 9th test in Washington DC ABB, EDF, GE, Siemens-PTI, Sisco 17 Sept 2007 10th test in San Francisco ABB, Areva, GE, Siemens, Siemens-PTI, SNC 13 October 2008 11th test in Washington DC Areva, GE, Siemens, Siemens PTI, SNC, SISCO 2009-2014 July by ENTSO-E 2016 July by ENTSO-E 2017 Being planned by ENTSO-E
April 26, 2017 Slide 24 Standards Development Conformance Tests
Organized by ENTSO-E starting 2014 CGMES 2.4.15 conformance documents • Application process, application and comments documents • Function category description • Use case description • Function category matrix • Report template Test configurations • Micro grid • Mini grid • Small grid • Real grid
April 26, 2017 Slide 25 Standards Development Micro Grid Test Network Example
Micro Grid Base Case
BE-Busbar_6 BE_S2 BE-Busbar_1 P=1.181 MW u=105.00 % u=108.68 % NL-Busbar_2 Uang=-9.39133 ° Q=-59.058 Mvar N1230991724 NL-_Busbar_1 u=102.33 % Uang=-6.78071 ° u=108.68 % XWI_GY11 u=102.15 % NL-Load_3 BE_TR_BUS1 N1230992195 Uang=-3.48874 ° P=488.265 MW BE_TR_BUS2 Uang=-6.78071 ° u=102.72 % u=102.15 % Uang=-6.35443 ° u=105.00 % BE-Line_5 Q=231.608 Mvar BE_S1 u=108.68 % P=-82.840 MW Uang=-6.57644 ° P=82.840 MW Uang=-6.35443 ° NL-Busbar_5 P=0.000 MW Uang=-9.39133 ° BE-TR2_1 Q=138.451 Mvar Uang=-6.78071 ° Q=-138.451 Mvar NL_TR_BUS2 u=101.80 % Q=-330.750 Mvar Tap=16 CIRCB-1230992174P=-298.481 MW u=101.80 % P=-55.890 MW NL_TR_BUS1 Uang=0.00000 ° P=-55.088 MWP=55.088 MW P=-55.088 MW Q=110.598 Mvar P=55.890 MW Q=217.566 Mvar u=102.33 % Uang=0.00000 ° Q=221.867 MvarQ=-221.867 Mvar Q=221.867 Mvar NL-Line_5 P=-95.994P=95.994 MW MW NL_TR2_3 Q=-217.566 Mvar P=82.840 MW P=95.994 MW NL-TR2_1 P=299.369 MW Uang=-3.48874 ° Q=158.287Q=-158.287 Mvar Mvar Tap=5 P=556.714 MW P=556.714 MW Q=-138.451N1230991739 Mvar Q=-158.287 Mvar Tap=-2 Q=-93.418 Mvar XCA_AL11 N1230992198 Q=249.198 Mvar Q=249.198 Mvar CIRCB-1230991718u=108.68 % P=55.890 MW u=102.79 % u=102.15 % Q=-217.566 Mvar Uang=-6.78071 ° BE_Breaker_1 Uang=-6.58811 ° Uang=-6.35443 ° NL_BREAKER_1 P=-556.714 MW BE_BUSBAR_10 P=-555.343 MW P=555.343 MW BE_Breaker_2 BE-Line_3 Q=-249.198 Mvar NL-G1 BE-Busbar_5 u=104.70 % Q=-202.611 Mvar Q=202.611 Mvar u=104.70 % P=36.590 MW CIRCB-1230992183 P=-556.714 MW Uang=-6.65080 ° NL-S1 P=-555.343 MW NL_BREAKER_1 Q=-249.198 Mvar P=-36.590 MW P=36.590Q=-54.186 MW Mvar P=-51.922P=51.922 MW MW BE-Load_1 Uang=-6.65080P=-118.000 ° MW CIRCB-1230991736 NL-Line_1 N1230992201 P=0.000 MW Q=-202.611 Mvar P=118.000 MW Q=54.186 Mvar Q=-54.186 Mvar Q=102.183Q=-102.183 Mvar Mvar Q=-92.612 Mvar P=99.218 MW P=51.922 MW u=102.15 % Q=-52.178 Mvar P=200.000 MW Q=92.612 Mvar Q=3.304 Mvar Q=-102.183 Mvar Q=90.000 Mvar P=-99.218 MW Uang=-6.35443 ° NL-Load_1 P=-232.291 MW BE-Busbar_4 Q=-3.304 Mvar CIRCB-1230992192 P=90.000 MW Q=64.421 Mvar u=103.06 % BE_TR_BUS5 BE-Line_4 Q=280.000 Mvar u=105.00 % P=118.000 MW P=36.859 MW Uang=-7.05718 ° BE-G2 Q=92.612 Mvar P=99.218 MW Q=-80.683 Mvar BE-TR2_3 NL-Load_2 B1 Uang=-9.39133 ° P=-118.000 MW Q=3.304 Mvar NL-Line_2 busbarcoupler 1 Tap=18 BE-TR3_1 P=-50.565 MWP=50.565 MW N1230822413 P=-89.686 MW Q=-92.612 Mvar BE_Breaker_10 P=50.565 MW P=10.000 MW Tap=17 Q=87.950 MvarQ=-87.950 Mvar u=101.70 % P=-89.686 MW Q=57.132 Mvar BE_BUSBAR_12 Q=-87.950 Mvar Q=10.000 Mvar P=90.000 MW BE_Breaker_12 Q=57.132 Mvar u=108.68 % N1230992228 P=232.291 MW Uang=-1.71291 ° Q=-51.116 Mvar XKA_MA11 BE_TR_BUS3 BE-Load_2 Uang=-6.78071 ° N1230991550 u=102.33 % Q=-64.421 Mvar u=99.94 % u=103.15 % u=105.00 % P=200.000 MW P=-216.198 MW Uang=-6.74695 ° Uang=-3.48874 ° N1230822396 Q=50.000 Mvar Q=-85.368 Mvar Uang=-7.62490 ° BE-Line_1 P=-288.964 MW Uang=-9.39133 ° P=-25.773 MW u=102.33 % P=27.365 MW Q=69.869 Mvar P=-31.314 MW Q=-2.828 Mvar BE-G1 P=89.686 MW N1230992288 BE-Line_2N1230992411 Q=-0.426 Mvar Uang=-3.48874 ° BE_Breaker_5 P=-55.226 MWP=55.296 MW P=55.296 MW Q=-1.205 Mvar NL-Line_4 P=-90.000 MW Q=-57.132 Mvar u=99.70 % P=27.875u=99.94 MWP=31.314 % MW P=-288.964 MWNL_TR2_2 P=290.000 MW Q=-38.250 MvarQ=39.192 Mvar P=-27.875Q=39.192P=27.875 MvarMW MW P=28.628 MW CIRCB-1230992240 Q=51.116 Mvar Uang=-8.77012 Q=2.748°Uang=-7.62490 MvarQ=1.205 Mvar ° Q=69.869 Mvar Tap=17 Q=-53.361 Mvar CIRCB-1230992276Q=-2.748Q=2.748 Mvar Mvar P=25.773 MW Q=-3.961 Mvar Q=2.828 Mvar NL-G2 CIRCB-1230992399CIRCB-1230991544 P=-28.628P=28.628 MW MW P=-140.000 MW Q=3.961Q=-3.961 Mvar Mvar P=-55.226 MW Q=26.681 Mvar BE-TR2_2 XZE_ST23 NL_BREAKER_4 Q=-38.250 Mvar P=55.226 MW P=-55.296 MW N1230991529 N1230992231 NL_BREAKER_3 Tap=10 BE-Line_7 u=102.50 % Q=38.250 Mvar Q=-39.192 Mvar u=99.94 % u=102.33 % P=290.000 MW P=26.805 MW P=288.964 MW P=-290.000 MW CIRCB-1230992408 Uang=-5.58021 ° Q=-53.361 Mvar Uang=-7.62490 ° Q=-1.490 Mvar Uang=-3.48874 ° Q=-69.869 Mvar Q=53.361 Mvar BE_Breaker_3 BE_Breaker_4P=-11.222 MW P=-17.296 MW P=17.296 MW NL-Line_3 Q=-1.076CIRCB-1230992285P=11.222 Mvar MW Q=-0.353 Mvar Q=0.353 Mvar P=28.045 MW BE_TR_BUS4 Q=1.076 Mvar Q=-1.486 Mvar BE-Line_6 u=99.70 % CIRCB-1230991526 BE-Busbar_3N1230992414N1230992291P=11.222 MW P=-28.045P=28.045 MW MW NL-G3 P=-23.838 MW Uang=-8.77012 ° u=99.70 % u=99.70Q=1.076 Mvar% Q=1.486Q=-1.486 Mvar Mvar P=-150.000 MW u=99.94 % Q=1.271 Mvar Uang=-8.77012Uang=-7.62490Uang=-8.77012 ° L-1230804819 ° XZE_ST24 NL-Busbar_3 Q=26.681 Mvar P=1.000 MW P=23.838 MW u=102.26 % CIRCB-1230992249 u=101.70 % Q=0.000BE-Busbar_2 Mvar Q=-1.271 Mvar Uang=-5.63853 ° NL_Busbar__4 Uang=-1.71291 ° u=99.94 % u=102.33 % Uang=-7.62490 ° Uang=-3.48874 ° BE MAS NL MAS Boundary
April 26, 2017 Slide 26 Standards Development ENTSO-E CGMES 2.4.15 Conformance Matrix
April 26, 2017 Slide 27 Standards Development Unified Modelling Language - UML
class LineModel UML diagram types Conductor
• Class + length: Length [0..1] • Sequence UML elements • Package DCLineSegment ACLineSegment + b0ch: Susceptance [0..1] • Class inheritance + bch: Susceptance [0..1] + g0ch: Conductance [0..1] + gch: Conductance [0..1] • Class + r: Resistance [0..1] + r0: Resistance [0..1] • Attribute + x: Reactance [0..1] + x0: Reactance [0..1] • Roles 0..* +LineS egments • Association +S equenceImpedance0..1
• Roles PerLengthSequenceImpedance
+ b0ch: SusceptanceP erLength [0..1] • Objects + bch: SusceptanceP erLength [0..1] + g0ch: ConductanceP erLength [0..1] + gch: ConductanceP erLength [0..1] + r: ResistanceP erLength [0..1] + r0: ResistanceP erLength [0..1] + x: ReactanceP erLength [0..1] + x0: ReactanceP erLength [0..1]
April 26, 2017 Slide 28 Standards Development Implementing CIM
Technologies • General purpose language, e.g. Java, C#, C++, C … • Relational database, query language is SQL Table • Class -> Table Col1 Col2 • ID -> Table row #1 27ad07c9-.. 34e5b362-.. • Attribute -> Column #.. … • Role -> Column and foreign key
• Value Row/Column crossing • Graph database, query language is SPARQL Object • Class -> rdf:type Predicate
• ID -> Subject
• Attribute/Role -> Predicate Predicate
• Value -> Object Subject
April 26, 2017 Slide 29 UML Basics Classes and Attributes
A Class – a collection of instances with same characteristics, e.g. - ACLineSegment - PowerTransformer - Substation
class LineModel An attribute – a characteristic value, e.g. - ACLineSegment r – series resistance ACLineSegment - ACLineSegment x – series reactance + b0ch: Susceptance [0..1] + bch: Susceptance [0..1] + g0ch: Conductance [0..1] + gch: Conductance [0..1] + r: Resistance [0..1] Implementation mapping; + r0: Resistance [0..1] + x: Reactance [0..1] - Class - Relational table, Subject in triple + x0: Reactance [0..1] - Attribute - Relational table column, Predicate in triple - Attribute value - Relational table column value, Object in triple
Object Subject ACLineSegmen.r 2,05 urn:uuid:34e5b3…
April 26, 2017 Slide 30 UML Basics Roles
Relations between classes, a pair of Roles class LineModel Cardinalities specify number of instances ACLineSegment 1 exactly one + b0ch: Susceptance [0..1] + bch: Susceptance [0..1] 0..1 one instance may exist + g0ch: Conductance [0..1] + gch: Conductance [0..1] 0..* any number of instances + r: Resistance [0..1] + r0: Resistance [0..1] 1..* at least one + x: Reactance [0..1] + x0: Reactance [0..1] Implementation mapping; 0..* Roles +LineS egments Role – Relational foreign key, Predicate in triple
+S equenceImpedance 0..1 An ACLineSegment PerLengthSequenceImpedance may have a Object + b0ch: SusceptanceP erLength [0..1] SequenceImpedance + bch: SusceptanceP erLength [0..1] + g0ch: ConductanceP erLength [0..1] urn:uuid:5b334e… + gch: ConductanceP erLength [0..1] + r: ResistanceP erLength [0..1] + r0: ResistanceP erLength [0..1] + x: ReactanceP erLength [0..1] ACLineSegment. + x0: ReactanceP erLength [0..1] Subject SequenceImpedance
urn:uuid:34e5b3…
April 26, 2017 Slide 31 UML Basics Inheritance
class LineModel A subclass inherits its superclass characteristics Conductor - A superclass class not affected by subclass + length: Length [0..1] - A subclass class get all attributes and Superclass relations from the superclass
Subclass
DCLineSegment ACLineSegment Implementation mapping; + b0ch: Susceptance [0..1] + bch: Susceptance [0..1] - Relational typically a mix of + g0ch: Conductance [0..1] + gch: Conductance [0..1] - Separate tables + r: Resistance [0..1] + r0: Resistance [0..1] - Superclass merged into subclass table + x: Reactance [0..1] + x0: Reactance [0..1] - Triples 0..* +LineS egments - A dedicated Predicate “rdfs:subClassOf”
+S equenceImpedance0..1 PerLengthSequenceImpedance cim:Conductor + b0ch: SusceptanceP erLength [0..1] + bch: SusceptanceP erLength [0..1] + g0ch: ConductanceP erLength [0..1] + gch: ConductanceP erLength [0..1] Subject + r: ResistanceP erLength [0..1] rdfs:subClassOf + r0: ResistanceP erLength [0..1] + x: ReactanceP erLength [0..1] + x0: ReactanceP erLength [0..1] Cim:ACLineSegment
April 26, 2017 Slide 32 Standards Development Implementing CIM, Example
Relational tables Graph subject-predicate-object triples
ACLineSegment cim:ACLineSegment ID r rdf:type #1 34e5b362-.. 2,05 cim:ACLinesegment.r 2,05 #.. … 34e5b362-.. Terminal cim:Terminal Terminal.ConductingEquipment ID ConductingEquipment rdf:type 27ad07c9-.. 34e5b362-.. #1 27ad07c9-.. #.. …
April 26, 2017 Slide 33 Canonical CIM IEC Top Level
April 26, 2017 Slide 34 Canonical CIM Top Level Package Dependencies
class PackageDependencies
TC57CIM IEC61970
tags nsprefix = cim nsuri = http://iec.ch/TC57/2016/CIM-schema-cim# Ba se Dy na mics (from Model)
(from IEC61970) (from IEC61970) TC57CIMVersion
+ majorVersion: String = 2016 (from TC57CIM) + minorVersion: String = 01 + publishedDate: Date
IEC61968 IEC61970::IEC61970CIMVersion
+ date: Date [0..1] = 2016-02-04 {readOnly} (from TC57CIM) + version: String [0..1] = IEC61970CIM17v11 {readOnly}
IEC61968::IEC61968CIMVersion IEC62325 + date: Date [0..1] = 2015-01-22 {readOnly} + version: String [0..1] = IEC61968CIM12v10 {readOnly}
(from TC57CIM)
IEC62325::IEC62325CIMVersion
+ date: Date [0..1] = 2014-09-18 {readOnly} + version: String [0..1] = IEC62325CIM03v02 {readOnly}
PackageDependencies PackageDependenciesCIMVersion
+ date: Date [0..1] = 2014-11-13 {readOnly} (from TC57CIM) + version: String [0..1] = 7 {readOnly}
April 26, 2017 Canonical CIM IEC 61970 Base Modularization
class IEC61970Dependencies
Loa dM odel P r otection
(from Base) (from Base)
Gener a tion
GenerationTrainingSimulation
(from Generation) P r oduction
(from Generation) (from Base)
W ir es Equivalents
(from Base) (from Base) StateVariables DC ControlArea (from Base) (from Base) (from Base) OperationalLimits Topology SCADA
(from Base) (from Base) M ea s (from Base)
Cor e (from Base)
AuxiliaryEquipment (from Base) Doma in
Contingency DiagramLayout (from Base)
(from Base) (from Base) (from Base)
April 26, 2017 Canonical CIM Core cla ss M a in IdentifiedObject P SRTy pe +PSRType This is an AC diagram 0..1 0..* +PowerSystemResources IdentifiedObject PowerSystemResource IdentifiedObject
ConnectivityNodeContainer BaseFrequency
IdentifiedObject +Equipments Ba seP ow er 0..* EquipmentContainer Equipment 0..1 +EquipmentContainer
+ConductingEquipment +Terminals 1 0..* ACDCTerminal ConductingEquipment Ter mina l 0..*
IdentifiedObject GeographicalRegion +ConductingEquipment +Region 0..1 +Regions 0..*
IdentifiedObject SubGeographicalRegion
+Region 0..1
+Substations 0..*
Substa tion +Substation +Substation 1 0..1
+VoltageLevels 0..* +BaseVoltage 0..1 +VoltageLevel IdentifiedObject VoltageLevel 0..* +BaseVoltage 1 BaseVoltage +VoltageLevel 0..1
+Bays 0..* 0..* +Bays Ba y
April 26, 2017 Canonical Model
Generic Data Set class GenericDataSet
GenericDataset
GenericDataSetVersion
tags + majorVersion: String = 2016 nsprefix = gds + minorVersion: String = 01 nsuri = http://iec.ch/TC57/2016/CIM-schema-gds# + published: Date
(from Base)
Core::IdentifiedObject
0..1 1 +PropertiesObject +TargetObject P r ofile
+Profile 1..*
+Profileset Da ta Set +PropertiesCIMDataObject DataSetMember +TargetingCIMDataObject
0..* 0..1 0..*
Cha ngeSet InstanceSet InstanceSetMember ChangeSetMember
+ version: Integer + minorVersion: Integer 0..1 0..* 0..* +Changeset 1 +AlternateCIMDataObject +ObjectChange +Dataset
ObjectReverseModification
0..1 +ObjectReverseModification
+ObjectModification 0..1
ObjectModification ObjectDeletion ObjectCreation
April 26, 2017 Canonical Model Topology class Main
Core:: IdentifiedObject
Core:: Meas:: PowerSystemResource Measurement Detailed +Measurements 0..*
Substation 0..1 +Terminal Core:: Equipment Core:: 1..* +Terminal +Terminals Terminal
0..* +BusNameMarker +Terminals 0..* +Terminal +ConductingEquipment 1 0..1 0..* Core:: BusNameMarker ConductingEquipment +ConnectivityNode 0..1
Core:: +ConnectivityNodes 0..* ConnectivityNode
+ConnectivityNodeContainer
Core:: 1 +ConnectivityNodes 0..* ConnectivityNodeContainer +TopologicalNode 0..1 +ConnectivityNodeContainer 0..1 0..1 +TopologicalNode +TopologicalNode 0..* TopologicalNode
+TopologicalNodes 1..* 0..1 +AngleRef_TopologicalNode
+TopologicalIsland 1
0..1 +AngleRef_TopologicalIsland Bus StateVariables:: TopologicalIsland
April 26, 2017 Branch Canonical CIM Wires, Equipment
class InheritanceHierarchy
Cor e:: IdentifiedObject
Cor e:: PowerSystemResource
Ta pCha nger VoltageControlZone Cor e:: ConnectivityNodeContainer
Cor e:: Cor e:: EquipmentContainer Core::Substation Equipment CompositeSwitch
Core::VoltageLevel
Cor e::Ba y
P la nt Line
Cor e:: ConductingEquipment
April 26, 2017 Canonical CIM Wires, class InheritanceHierarchy
Cor e:: Conductor Conducting ConductingEquipment
ACLineSegment Equipment SeriesCompensator
EnergySource
EnergyConsumer
BusbarSection Gr ound
Junction ShuntCompensator Connector
FrequencyConverter RegulatingCondEq
StaticVarCompensator
PowerTransformer RotatingMachine ExternalNetworkInjection
Cla mp SynchronousMachine
AsynchronousMachine EarthFaultCompensator
Switch PetersenCoil
GroundingImpedance For subclasses of Switch refer to diagram SwitchingEquipment April 26, 2017 Canonical CIM
Wires, class SwitchingEquipment
ConductingEquipment Switch Switch
+ normalOpen: Boolean [0..1] Equipment + ratedCurrent: CurrentFlow [0..1] + switchOnCount: Integer [0..1] + switchOnDate: DateTime [0..1] + retained: Boolean [0..1] + open: Boolean [0..1]
ProtectedSwitch Sectionaliser
+ breakingCapacity: CurrentFlow [0..1]
Jumper
LoadBreakSwitch Fuse Disconnector
Recloser
GroundDisconnector
Br ea ker
+ inTransitTime: Seconds [0..1]
April 26, 2017 Canonical CIM Wires, class LineModel
ConnectivityNodeContainer 0..1 +Equipments PowerSystemResource Cor e:: Cor e:: Core::Equipment ConductingEquipment Line Model EquipmentContainer 0..* +EquipmentContainer
IdentifiedObject Conductor Cor e:: SubGeographicalRegion + length: Length [0..1]
0..1 +Region
0..* ACLineSegment +Lines SeriesCompensator Line + b0ch: Susceptance [0..1] + r: Resistance [0..1] + bch: Susceptance [0..1] + r0: Resistance [0..1] + g0ch: Conductance [0..1] + x: Reactance [0..1] + gch: Conductance [0..1] + x0: Reactance [0..1] + r: Resistance [0..1] + varistorPresent: Boolean [0..1] + r0: Resistance [0..1] + varistorRatedCurrent: CurrentFlow [0..1] + shortCircuitEndTemperature: Temperature [0..1] + varistorVoltageThreshold: Voltage [0..1] + x: Reactance [0..1] + x0: Reactance [0..1]
+ACLineSegments 0..*
+PerLengthImpedance 0..1
IdentifiedObject PerLengthImpedance PerLengthLineParameter
PerLengthSequenceImpedance PerLengthPhaseImpedance
+ b0ch: SusceptancePerLength [0..1] + conductorCount: Integer [0..1] + bch: SusceptancePerLength [0..1] + g0ch: ConductancePerLength [0..1] +PhaseImpedance 1 + gch: ConductancePerLength [0..1] +PhaseImpedanceData 1..* + r: ResistancePerLength [0..1] + r0: ResistancePerLength [0..1] + x: ReactancePerLength [0..1] PhaseImpedanceData + x0: ReactancePerLength [0..1] + b: SusceptancePerLength [0..1] + r: ResistancePerLength [0..1] + sequenceNumber: Integer [0..1] + x: ReactancePerLength [0..1] April 26, 2017 Canonical CIM Wires, class Transformer ACDCTerminal Equipment +Terminals Core::Terminal +ConductingEquipment Cor e:: ConductingEquipment 0..* 1 Transformer + phases: PhaseCode [0..1] +ConductingEquipment
+Terminal 0..1 0..*
PowerTransformer
+BaseVoltage + beforeShCircuitHighestOperatingCurrent: CurrentFlow [0..1] IdentifiedObject + beforeShCircuitHighestOperatingVoltage: Voltage [0..1] Cor e:: 0..1 + beforeShortCircuitAnglePf: AngleDegrees [0..1] BaseVoltage + highSideMinOperatingU: Voltage [0..1] + isPartOfGeneratorUnit: Boolean [0..1] + operationalValuesConsidered: Boolean [0..1] +BaseVoltage 0..1 + vectorGroup: String [0..1]
+PowerTransformer 0..1 0..1 +PowerTransformerEnd 0..* +PowerTransformer PowerTransformerEnd 0..* +TransformerTanks + b: Susceptance [0..1] Equipment +TransformerEnds + b0: Susceptance [0..1] +TransformerEnd 0..* 0..* + connectionKind: WindingConnection [0..1] TransformerTank + g: Conductance [0..1] IdentifiedObject + g0: Conductance [0..1] TransformerEnd + phaseAngleClock: Integer [0..1] +TransformerTank 0..1 + bmagSat: PerCent [0..1] + r: Resistance [0..1] + endNumber: Integer [0..1] + r0: Resistance [0..1] + grounded: Boolean [0..1] + ratedS: ApparentPower [0..1] + ratedU: Voltage [0..1] + magBaseU: Voltage [0..1] +TransformerTankEnds 1..* + magSatFlux: PerCent [0..1] + x: Reactance [0..1] + x0: Reactance [0..1] + rground: Resistance [0..1] TransformerTankEnd + xground: Reactance [0..1] + phases: PhaseCode [0..1] 0..* 0..* 1 1..* +TransformerEnd IdentifiedObject «enumeration» +FromTransformerEnd+ToTransformerEndTransformerMeshImpedance +TransformerEnd WindingConnection +ToMeshImpedance 0..* + r: Resistance [0..1] D + r0: Resistance [0..1] +FromMeshImpedance Y 0..* + x: Reactance [0..1] Z + x0: Reactance [0..1] Yn Zn +StarImpedance +CoreAdmittance A 0..1 IdentifiedObject I 0..1 TransformerCoreAdmittance IdentifiedObject TransformerStarImpedance + b: Susceptance [0..1] + b0: Susceptance [0..1] + r: Resistance [0..1] + g: Conductance [0..1] + r0: Resistance [0..1] + g0: Conductance [0..1] + x: Reactance [0..1] + x0: Reactance [0..1] April 26, 2017 class TapChanger
«enumeration» RegulatingControlModeKind PowerSystemResource voltage RegulatingControl Canonical CIM activePower + discrete: Boolean [0..1] reactivePower + enabled: Boolean [0..1] currentFlow + mode: RegulatingControlModeKind [0..1] admittance + monitoredPhase: PhaseCode [0..1] Wires, PowerSystemResource timeScheduled + targetDeadband: Float [0..1] Core::Equipment temperature + targetValue: Float [0..1] powerFactor + targetValueUnitMultiplier: UnitMultiplier [0..1]
TapChanger +TapChanger PowerSystemResource 1 1 Ta pCha nger +RegulatingControl Cor e:: ConductingEquipment +TapSchedules + controlEnabled: Boolean [0..1] 0..* + highStep: Integer [0..1] + initialDelay: Seconds [0..1] +TapChanger +RegulationSchedule SeasonDayTypeSchedule + lowStep: Integer [0..1] 0..* TapSchedule + ltcFlag: Boolean [0..1] 0..* PowerTransformer + neutralStep: Integer [0..1] SeasonDayTypeSchedule + neutralU: Voltage [0..1] + normalStep: Integer [0..1] RegulationSchedule 0..1 + subsequentDelay: Seconds [0..1] +PowerTransformer + step: Float [0..1] IdentifiedObject
TransformerEnd +TapChangerControl 0..1 1 +PowerTransformerEnd TapChangerControl 1 0..* +TransformerEnd +TransformerEnd + limitVoltage: Voltage [0..1] + lineDropCompensation: Boolean [0..1] PowerTransformerEnd + lineDropR: Resistance [0..1] +PhaseTapChanger + lineDropX: Reactance [0..1] 0..1 + reverseLineDropR: Resistance [0..1] + reverseLineDropX: Reactance [0..1] PhaseTapChanger +RatioTapChanger 0..1
RatioTapChanger +RatioTapChanger
PhaseTapChangerTabular + stepVoltageIncrement: PerCent [0..1] + tculControlMode: TransformerControlMode [0..1] 0..* 0..* +RatioTapChangerTable +PhaseTapChangerTabular 0..1 PhaseTapChangerLinear +PhaseTapChangerTable IdentifiedObject + stepPhaseShiftIncrement: AngleDegrees [0..1] 0..1 + xMax: Reactance [0..1] RatioTapChangerTable IdentifiedObject + xMin: Reactance [0..1]
PhaseTapChangerTable 1
1 TapChangerTablePoint +RatioTapChangerTable
+ b: PerCent [0..1] + g: PerCent [0..1] +PhaseTapChangerTable +PhaseTapChangerTablePoint + r: PerCent [0..1] 1..* +RatioTapChangerTablePoint + ratio: Float [0..1] PhaseTapChangerTablePoint + step: Integer [0..1] 1..* + x: PerCent [0..1] + angle: AngleDegrees [0..1] RatioTapChangerTablePoint
PhaseTapChangerNonLinear
+ voltageStepIncrement: PerCent [0..1] + xMax: Reactance [0..1] + xMin: Reactance [0..1]
PhaseTapChangerSymmetrical PhaseTapChangerAsymmetrical April 26, 2017 + windingConnectionAngle: AngleDegrees [0..1] class RegulatingEquipment
ACDCTerminal Canonical CIM IOPoint Cor e:: Meas::Control Ter mina l +Terminal 0..1 Wires, +RegulatingControl 0..* PowerSystemResource
ConductingEquipment RegulatingControl Regulating RegulatingCondEq + discrete: Boolean [0..1] +RegulatingCondEq+RegulatingControl + enabled: Boolean [0..1] + controlEnabled: Boolean [0..1] 0..* 0..1 + mode: RegulatingControlModeKind [0..1] + monitoredPhase: PhaseCode [0..1] Control + targetDeadband: Float [0..1] + targetValue: Float [0..1] + targetValueUnitMultiplier: UnitMultiplier [0..1] RotatingMachine +RegulatingControl 1
+RegulationSchedule 0..*
SeasonDayTypeSchedule RegulationSchedule «enumeration» SynchronousMachine RegulatingControlModeKind
voltage 1..* 1..* activePower +InitiallyUsedBySynchronousMachines StaticVarCompensator reactivePower currentFlow admittance +SynchronousMachines timeScheduled temperature ShuntCompensator powerFactor +ReactiveCapabilityCurves +InitialReactiveCapabilityCurve 0..1 0..* FrequencyConverter TapChangerControl Curve ReactiveCapabilityCurve + limitVoltage: Voltage [0..1] + lineDropCompensation: Boolean [0..1] + lineDropR: Resistance [0..1] ExternalNetworkInjection + lineDropX: Reactance [0..1] + reverseLineDropR: Resistance [0..1] + governorSCD: ActivePowerPerFrequency [0..1] + reverseLineDropX: Reactance [0..1] + ikSecond: Boolean [0..1] + maxInitialSymShCCurrent: CurrentFlow [0..1] + maxP: ActivePower [0..1] +TapChangerControl 0..1 + maxQ: ReactivePower [0..1] 0..* + maxR0ToX0Ratio: Float [0..1] + maxR1ToX1Ratio: Float [0..1] +TapChanger + maxZ0ToZ1Ratio: Float [0..1] + minInitialSymShCCurrent: CurrentFlow [0..1] PowerSystemResource + minP: ActivePower [0..1] Ta pCha nger + minQ: ReactivePower [0..1] + minR0ToX0Ratio: Float [0..1] + minR1ToX1Ratio: Float [0..1] +TapChanger 1 + minZ0ToZ1Ratio: Float [0..1] + referencePriority: Integer [0..1] +TapSchedules 0..* + voltageFactor: PU [0..1] + p: ActivePower [0..1] SeasonDayTypeSchedule + q: ReactivePower [0..1] TapSchedule April 26, 2017 Standards Development Enterprize Architect Demo
April 26, 2017 Slide 47 Standards Development Network Model Node-Breaker Example
April 26, 2017 Slide 48 Standards Development Network Model Example In CIM
April 26, 2017 Slide 49 Data Exchange Formats Two Main Types
CIMXML – IEC 61970-552 • Based on RDF triples, a semantic web technology • But has custom extensions no longer needed with OWL, a revision is worked on • Formatting rules based on canonical UML • Generic, no adaptation needed for profiles • Has lots of empty space, compress from 20 to 1 XML Schema – IEC 61968-100 • XML Schema manually generated from rules in IEC 61968-100
There are interoperability issues between IEC 61970-552 and IEC 61968-100, e.g. • Object IDs
April 26, 2017 Slide 50 Data Exchange Formats CIMXML – IEC 61970-552
CIMXML is based on RDF/XML
.
‒
‒
. CIMXML can with a few minor changes be used with the semantic web
Object: Predicate: rdf:type cim:ClassName
Predicate: cim:ClassName.AttributeName or cim:ClassName.RoleName Subject: Object: mRID value or mRID
April 26, 2017 Slide 51 Data Exchange Formats CIMXML – IEC 61970-552 Example
RDF/XML template
.
‒
‒
. Example data
.
‒
‒
‒
‒
‒
‒ …
April 26, 2017 Slide 52 Data Exchange Formats CIMXML – IEC 61970-552, Header
class Part552
+Depending 0..* M odel
+ created: DateTime +DependentOn 0..* + scenarioTime: DateTime «Primitive» + description: String URI +SupersededBy 0..* + modelingAuthoritySet: URI [0..1] {root} + profile: URI [1..*] +Supersedes + version: Integer 0..*
+forwardDifferences DifferenceModel Sta tements FullM odel 0..1 +reverseDifferences
0..1
April 26, 2017 Slide 53 Data Exchange Formats CIMXML – IEC 61970-552, Dependencies Example
Equipment Topology State Variables
E1 T1 S1
S2
T2 S3
Time E2 S4 T3 S5 E3 E3 T4 S6 E4
Profile FullModel DifferenceModel DependentOn Supersedes
April 26, 2017 Slide 54 Data Exchange Formats CIMXML – IEC 61970-552, Header Example
April 26, 2017 Slide 55 Data Exchange Formats XML Spy Demo
April 26, 2017 Slide 56 Making CIM An Ontology Issues
The XMI format for exchange of UML models • Is a weak standard resulting in poor tool interoperability • Is described by an XML Schema so it a format description that lacks semantic capability • Has a complex hierarchical structure making it difficult to process
The CIM RDF Schema (IEC 61970-501) for profile exchange • Is not fully supported by all profiling tools, e.g. CIM Tool can’t import it • Has several custom extensions not compatible with ontology specifications (RDF, RDFS, OWL) • Cannot be read by ontology tools
April 26, 2017 Slide 57 Making CIM An Ontology Why Making CIM An Ontology?
The semantic web architecture support • Information resources distributed over the web • Federation of distributed information resources • Knowledge based reasoning with federated information resources, OWL2
CIM models are managed by Model Authorities, e.g. EU TSOs and DSOs • Each Model Authority is responsible for is own CIM models • But a Model Authority is heavily dependent on its neighbors CIM models • So a complex exchange of CIM models is needed
CIM models available as semantic web information resources will greatly simplify sharing
April 26, 2017 Slide 58 Making CIM An Ontology Converting Canonical CIM to Ontologies
Data and meta data Ontology data
M2, UML Describe
UML IM as UML IM as Translate Derive UML IM as OWL XMI data Ontology Instances
M1, CIM Describe
CIM as CIM as Translate Derive CIM as OWL XMI data Ontology Instances
M0, Data Describe
CIMXML Instances
IM = Information Model
April 26, 2017 Slide 59 Making CIM An Ontology Converting Profiles to Ontologies
Data and meta data Ontology data M2, UML
Profile IM Profile IM Profile IM Translate Derive as OWL as as XMI Instances Ontology
M1, CIM Profile OWL Describe Instances
Profiled CIM as Profiled CIM as Derive OWL CIM as OWL Instances Ontology Create Instances
IM = Information Model
April 26, 2017 Slide 60 Making CIM An Ontology Ontology for UML
class xmi_uml
Id
+ name: string + toolId: string
Element 1 +supplier
+ documentation: string 1 +client + pathName: string +container + scope: ScopeValues 0..1 + stereotype: string 0..* PackageE
0..*
+model 0..1
ModelE
PropertyElement ClassElement
+domain EnumLiteralE EnumE 0..* 1
+inverse +superClass 0..1 1 1 +domain 0..* 0..* 0..* PropertyE ClassE +subClass GeneralizationE 0..* 1 AssociationE DependencyE + defaultValue: IdentifiedValueE +range 1 0..* + highCardinality: IdentifiedValueE + lowCardinality: IdentifiedValueE 0..* 1 0..1 0..1 0..*
1 1 +container 0..1 +side1 +side2
«enumeration» ScopeValues «xsd» «xsd» «xsd» «xsd» package IdentifiedValueE nonNegativeInteger protected integer string positiveInteger public + value: any private
April 26, 2017 Slide 61 Making CIM An Ontology Protege Demo
April 26, 2017 Slide 62