data management using the cim -...
TRANSCRIPT
Data Management Using the CIM
Alan McMorran B.Eng Ph.D
Open Grid SystemsOGO
Open Grid SystemsOGO
It’s Only a Model...Structure vs Format
2
OO Open Grid Systems
Information ModelsAn information model defines the structure of data independently of a particular implementation technology
File formats and database schemas can be derived from an information model
It is very easy to get caught up in dealing with file formats when the focus should be on the underlying model
Multiple formats can come from a single model
3
OO Open Grid Systems
4
A Single ModelThe di!cult part in information modelling is ensuring that you define something once and it is applicable across multiple systems
The definition of a Substation should be applicable for an Asset Management System, DMS, EMS or GIS
A single, Common Information
Model is the Holy Grail!
OO Open Grid Systems
Load A
Breaker 1ACLineSegment Alpha
ConnectivityNode I
Terminals
Defining a Model
Identify the componentsLoadBreakerLine
Are any other components needed to accurate model all required data?
TerminalsConnectivity Node
5
OO Open Grid Systems
Data ElementsWe have five di"erent data elements
We can use the same elements multiple times
The structure of these elements is the same for each, they simply contain di"erent data
At this level we don’t care how the data is serialised
Load A
Breaker 1
ACLineSegment Alpha
ConnectivityNode I
Terminals
6
OO Open Grid Systems
Simple Substation in CIMHow does this work in the CIM World?
This is a simple single line diagram for a substation stored in an EMS or DMS
These electrical components can be mapped to components from the CIM
17KV
132KV33KV
Generator Alpha
Breaker 17KV
CT 17KV
Transformer 17-132Transformer 17-33
Breaker 33KVBreaker 132KV
Load ALine I
7
OO Open Grid Systems
Simple Substation in CIMThese main components map directly to one piece of equipment
Generator Alpha also has a an instance of GeneratingUnit
This class represents “a single or set of synchronous machines for converting mechanical power into alternating-current”
BusbarSection
ACLineSegmentEnergyConsumer
Breaker Breaker
Breaker
SynchronousMachine
17KV
132KV33KV
Generator Alpha
Breaker 17KV
CT 17KV
Transformer 17-132Transformer 17-33
Breaker33KV Breaker 132KV
Load A Line I
Busbar 17KV
GeneratingUnit
8
OO Open Grid Systems
Transformers
A transformer is not mapped to a single CIM class
It is split down into a number of components with a single PowerTransformer container class
A two-winding power transformer becomes two TransformerWinding objects within a PowerTransformer container
9
TransformerWinding
TransformerWinding
Transformer 17-33
PowerTransformer
TapChanger
OO Open Grid Systems
ContainmentCIM has an EquipmentContainer class that provides a means of grouping pieces of Equipment together to represent both electrical and non-electrical containment
Subclasses of EquipmentContainer include:
VoltageLevelBaySubstationLine
10
OO Open Grid Systems
Circuit as CIM Objects
17KV
132KV33KV
Generator Alpha
Breaker 17KV
CT 17KV
Transformer 17-132Transformer 17-33
Breaker 33KVBreaker 132KV
Load ALine I
BusbarSectionMeasurement
SynchronousMachineGenerator Alpha
Breaker 17KV
GeneratingUnit
Breaker
BaseVoltage17KV
EnergyConsumer
Breaker33KV
Load A
Breaker
VoltageLevel
BaseVoltage33KV
Line IACLineSegment
Breaker132KVBreaker
BaseVoltage132KV
VoltageLevel
ConnectivityNode
Terminal
Load and Breaker in a 33kV VoltageLevel
Breaker in a 132kV VoltageLevel
ACLineSegment in a Line
Busbar, Breaker and SynchronousMachine in 17kV VoltageLevel
11
OO Open Grid Systems
Circuit as CIM Objects
33kV->17kV Transformer as a PowerTransformer with 2 Windings and a TapChanger
Same with 132Kv->17kV Transformer
VoltageLevels and PowerTransformers contained in a Substation
BusbarSectionMeasurement
SynchronousMachineGenerator Alpha
Breaker 17KV
GeneratingUnit
Breaker
BaseVoltage17KV
EnergyConsumer
Breaker33KV
Load A
Breaker
VoltageLevel
BaseVoltage33KV
Line IACLineSegment
Breaker132KVBreaker
BaseVoltage132KV
VoltageLevel
TransformerWinding
TransformerWinding TapChanger
TransformerWinding
TransformerWinding TapChanger
ConnectivityNode
Terminal
12
BusbarSectionMeasurement
SynchronousMachineGenerator Alpha
Breaker 17KV
GeneratingUnit
Breaker
BaseVoltage17KV
EnergyConsumer
Breaker33KV
Load A
Breaker
VoltageLevel
BaseVoltage33KV
Line IACLineSegment
Breaker132KVBreaker
BaseVoltage132KV
VoltageLevel
TransformerWinding
TransformerWinding TapChanger
TransformerWinding
TransformerWinding TapChanger17KV
132KV33KV
Generator Alpha
Breaker 17KV
CT 17KV
Transformer 17-132Transformer 17-33
Breaker 33KVBreaker 132KV
Load ALine I
13
OO Open Grid Systems
14
Expanding the ScopeThe CIM has expanded beyond its electrical-model roots to include Asset, GIS, Work and Metering data
Ensuring the model is valid from all perspectives can be tricky and the IEC Working Groups have experts from a number of domains
Can a utility trace an outage report from:A customer to their geographical location,The meter installed at that premises,The functional electrical component in the DMS,The nearest work crew who can be dispatched?
Open Grid SystemsOGO
XML SerialisationFormatting data
15
OO Open Grid Systems
Serialising DataFrom an information model we can derive a file format or a database schema that allows instance data to be stored
There are multiple ways you could format the same data
The IEC defines a standard RDF XML syntax under IEC 61970-552-4
The XML Naming and Design Rules (NDR) define a standard way of producing XML Schema (XSD) messages from the CIM model
16
OO Open Grid Systems
Instance Data
Looking at our earlier example of the Substation circuit
We will take some objects and show them as XML
e.g. an EnergyConsumer, its Terminal, a VoltageLevel and BaseVoltage
BaseVoltage33KV
17
17KV
132KV33KV
Generator Alpha
Breaker 17KV
CT 17KV
Transformer 17-132Transformer 17-33
Breaker 33KVBreaker 132KV
Load ALine I
EnergyConsumer
OO Open Grid Systems
Instance Data Example
For each object we can expand it with some attributes
Associations can also be shown
In most formats these are generally unidirectional and in a 1..n association point from the child to the parent (even if it is not a containment association)
EnergyConsumer
BaseVoltage33KV
18
OO Open Grid Systems
Instance Data Example
Terminalname Load A Terminal
BaseVoltagenominalVoltage 33.0
VoltageLevelname
highVoltageLimitlowVoltageLimit
VLA35.031.0
EnergyConsumer
namedescription
phasespFixedqFixed
customerCount
Load APump motorABCN0.030.01539
18
OO Open Grid Systems
CIM RDF XML Example
<cim:VoltageLevel rdf:ID=”_xyz987654321”> <cim:IdentifiedObject.name>VLA</cim:IdentifiedObject.name><cim:VoltageLevel.highVoltageLevel>35.0</cim:VoltageLevel.highVoltageLevel>
<cim:VoltageLevel.lowVoltageLevel>31.0</cim:VoltageLevel.lowVoltageLevel>
<cim:VoltageLevel.BaseVoltage rdf:resource=”#_jkl567890”/></cim:VoltageLevel>
<cim:BaseVoltage rdf:ID=”_jkl567890”> <cim:BaseVoltage.nominalVoltage>33.0</cim:BaseVoltage.nominalVoltage>
</cim:BaseVoltage>
VoltageLevelname
highVoltageLimitlowVoltageLimit
VLA35.031.0
BaseVoltagenominalVoltage 33.0
19
OO Open Grid Systems
<cim:EnergyConsumer rdf:ID=”_abcdef0123456789”> <cim:IdentifiedObject.name>Load A</cim:IdentifiedObject.name><cim:IdentifiedObject.description>Pump motor</cim:IdentifiedObject.description>
<cim:ConductingEquipment.phasesrdf:resource=”http://iec.ch/TC57/2009/CIM-schema-cim14#PhaseCode.ABCN”/>
<cim:EnergyConsumer.pFixed>0.03</cim:EnergyConsumer.pFixed><cim:EnergyConsumer.qFixed>0.015</cim:EnergyConsumer.qFixed><cim:EnergyConsumer.customerCount>39</cim:EnergyConsumer.customerCount>
<cim:Equipment.EquipmentContainer rdf:resource=”#_xyz987654321”/>
</cim:EnergyConsumer>
EnergyConsumer
namedescription
phasespFixedqFixed
customerCount
Load APump motorABCN0.030.01539
<cim:Terminal rdf:ID=”_pqrs34567890”><cim:IdentifiedObject.name>Load A Terminal</cim:IdentifiedObject.name>
<cim:Terminal.ConductingEquipmentrdf:resource=”#_abcdef0123456789”/>
</cim:Terminal>
Terminalname Load A Terminal
20
OO Open Grid Systems
XML Schema
21
The same data can be serialised as hierarchical XSD message
The same data, defined by the same information model, but serialised in a di"erent format
The same approach can be used for database schema
Terminalname Load A Terminal
BaseVoltagenominalVoltage 33.0
VoltageLevelname
highVoltageLimitlowVoltageLimit
VLA35.031.0
EnergyConsumer
namedescription
phasespFixedqFixed
customerCount
Load APump motorABCN0.030.01539
22
<cim:VoltageLevel> <cim:mRID>_xyz987654321</cim:mRID><cim:name>VLA</cim:name><cim:highVoltageLevel>35.0</cim:highVoltageLevel><cim:lowVoltageLevel>31.0</cim:lowVoltageLevel> <cim:BaseVoltage>
<cim:nominalVoltage>33.0</cim:nominalVoltage></cim:BaseVoltage><cim:EnergyConsumer>
<cim:mRID>_abcdef0123456789</cim:mRID><cim:name>Load A</cim:name><cim:description>Pump motor</cim:description><cim:phases>ABCN</cim:phases><cim:pFixed>0.03</cim:pFixed><cim:qFixed>0.015</cim:qFixed><cim:customerCount>39</cim:customerCount> <cim:Terminal>
<cim:mRID>_pqrs34567890</cim:mRID><cim:name>Load A Terminal</cim:name>
</cim:Terminal></cim:EnergyConsumer>
</cim:VoltageLevel>
Open Grid SystemsOGO
Model-Driven TransformationTransforming data independent of format
23
OO Open Grid Systems
Model-Driven EngineeringManaging data at the model level allows the structure to define functionality
Applications are written to deal with data irrespective of where it is stored and in what format
24
File Import/ExportFile
Database InterfaceDatabase
Network Interface
Data Stream
Application
Application
Application
OO Open Grid Systems
TransformationIn an ideal world all data within an enterprise will be defined by a single common information model
Alas the world is not ideal and there is a need to transform data between structures and formats
This may be to support legacy application data or even to harmonise data between standards
Model-Driven Transformation defines the data mappings at the model level, independent of the source and target formats
25
OO Open Grid Systems
Defining Models
In some cases an information model will already exist e.g. CIM, MultiSpeak or an internal Enterprise Semantic Model
Sometimes the information model is implicit to the format and can be derived automatically e.g. database schema or XSDs
Other times you need to reverse-engineer the information model from the format itself e.g. CSV files or column-oriented text formats
26
OO Open Grid Systems
27
Transform DefinitionsTransformations are written against the model and there are a number of model-driven transformation languages
The same transformation can be used with data coming from web services, databases, files or any other data source
Interfaces can be model-agnostic (e.g. RDF XML) or model dependent (e.g. power-flow formats)
Multiple interfaces can be used to get data in the same structure to/from di"erent formats
OO Open Grid Systems
28
PowerFlow File
Meta-ModelPowerFlow
PowerFlow File Importer
PowerFlow to CIM Transformation
Meta-ModelCIM
PowerFlowData Elements
CIMElements
CIM RDF XML Exporter
CIM RDF XML
ProfiledCIM RDF XML Exporter
EquipmentCIM RDF XML
TopologyCIM RDF XML
StateCIM RDF XML
mapping CIM::IEC61970::Wires::ACLineSegment:: aclToBranch() : PF::Branch when {isFullBranch(self)}{ var bus1 : PF::Bus := self.Terminals->asSequence()->first(). TopologicalNode.map nodeToBus(); var bus2 : PF::Bus := self.Terminals->asSequence()->last(). TopologicalNode.map nodeToBus(); if (bus1.number < bus2.number) then{ FromBus := bus1; ToBus := bus2; MeteredBus := bus1; }else{ FromBus := bus2; ToBus := bus1; MeteredBus := bus2; }endif; circuit := self.name.substring(0,2); R := self.r.toPerUnit(); X := self.x.toPerUnit(); B := self.bch.toPerUnit(); length := self.length;}
Transformation Workflow
Database Interface Database
Network Interface
Data Stream
OO Open Grid Systems
Model Driven Architectures
29
A Model Driven Architectures (MDA) o"ers more than simply data transformation functionality
Ensuring that all data is defined by a meta-model allows every system to understand the structure of the data and and cross-system relationships
Exposing data to other systems in a common structure makes it easier to integrate the data from new and existing applications
Tools and frameworks enable the serialisation interfaces to be abstracted away
You now have Enterprise Data not Application Data
Questions?