Mark Ortiz Enterprise Architecture & Standards CIM Data Requirements Overview • Based on SEP 2.0 TRD • Included previous SEP data requirements, NASBE, and others such as SAE • Covers the following messages: Common Demand Response & Load Control Directed & Public Messages Pricing Pre-payment Metering and Sub-metering (OpenSG) PEV DER Billing Modeling • Based on IEC CIM model & 61850, 61968, 61970 (such as Part-9 metering and control) • New models (classes/attributes/relationships) based on SEP2.0 TRD for DER & PEV Distribution Energy Resources MD3i SB Context Diagram Core::Curv eData {root} + + + + xvalue: Float [0..1] y1value: Float [0..1] y2value: Float [0..1] y3value: Float [0..1] +CurveDatas HANAsset 0..* AssetContainer Metering::EndDev iceAsset Equipment Core::ConductingEquipment + +EndDeviceAssets +HANAssets 0..* +Curve 0..* 1 Metering:: MeterAsset phases: PhaseCode [0..1] IdentifiedObject 0..1 0..1 DistributedGeneratingUnit +DistributedEnergySources 0..* +DistributedEnergySources 0..1 DistributedEnergySource +DistributedGeneratingUnits + sourceType: String 0..* 0..* +DistributedGeneratingUnits 0..* 0..1 + + + + + + + + + convertingEfficiency: PerCent maxOperatingPower: ActivePower minOperatingPower: ActivePower model: String powerQuality: String 0..1 status: Status type: String unitState: String usage: String Core::Curv e Not inherited from GeneratingUnit due to different scale +PowerGenerationCurves 0..* Pow erGenerationCurv e + + curveType: String description: String +Batteries +Batteries 0..* 0..* Vehicle Battery Charge::Battery +DistributedGeneratingUnits 0..* 0..* 0..* +DistributedGeneratingUnits +DistributedGeneratingUnits +TimeSchedules 0..* Document Common::TimeSchedule Mainly three new classes involved: DistributedEnergySource is a node for a DistributedGeneratingUnit from network perspective. It just likes a ServiceDeliveryPoint links to a MeterAsset. DistributedEnergySource has a relationship to EndDeviceAsset just like SDP has a relationship to EndDeviceAsset so that metering can be established for a DistributedEnergySource/DistributedGeneratingUnit. DistributedEnergySource (DES) could be associated with HANAsset if it is in a HAN environment. DES could be associated with a Battery (or name changed to EnergyStorage). PowerGenerationCurve is associated with DistributedGeneratingUnit for energy output (measurement) +EndDeviceGroups 0..* 0..1 IdentifiedObject IdentifiedObject 0..1 Common::Location IdentifiedObject Metering::EndDev iceControl Metering::EndDev iceGroup Distribution Energy Resources • Mainly three new classes involved: DistributedEnergySource is a node for a DistributedGeneratingUnit from network perspective. It just likes a ServiceDeliveryPoint links to a MeterAsset. DistributedEnergySource has a relationship to EndDeviceAsset just like SDP has a relationship to EndDeviceAsset so that metering can be established for a DistributedEnergySource/DistributedGeneratingUnit. DistributedEnergySource (DES) could be associated with HANAsset (Now PANDeviceAsset) if it is in a HAN environment. DES could be associated with a Battery (or name changed to EnergyStorage). PowerGenerationCurve is associated with DistributedGeneratingUnit for energy output (measurement) Example on how SEP 2.0 UML aligns with CIM UML • SEP 2.0 Pricing Data Model PricingData Serv iceCategory + ID: string [0..1] + kind: ServiceKind [0..1] 0..1 + name: string [0..1] «XSDattribute» + href: anyURI [0..1] PricingStructure + + + Serv iceSupplier code: string [0..1] ID: string [0..1] name: string [0..1] + 0..* + ID: string [0..1] name: string [0..1] «XSDattribute» + href: anyURI [0..1] TariffProfile ConsumptionTariffInterv al Tariff + 0..* + + + + 0..* + + ID: string [0..1] name: string [0..1] startDate: unsignedInt [0..1] «XSDattribute» + href: anyURI [0..1] ID: string [0..1] name: string [0..1] startDateTime: unsignedInt [0..1] tariffCycle: string [0..1] 0..* «XSDattribute» + href: anyURI [0..1] + + + priceLevel: PriceLevel [0..1] sequenceNumber: integer [0..1] startValue: RealEnergy [0..1] «XSDattribute» + href: anyURI [0..1] 0..* 0..1 0..* TimeTariffInterv al CustomerAccount + + New attribute (href) To identify a RESTful resource billingCycle: string [0..1] ID: string [0..1] «XSDattribute» + href: anyURI [0..1] + + 0..* + + Charge controlFlag: string [0..1] priceLevel: string [0..1] sequenceNumber: integer [0..1] startDateTime: unsignedInt [0..1] «XSDattribute» + href: anyURI [0..1] + + 0..1 + + + + 0..1 0..* New class to meet SEP 2.0 TRD requirements Randomization + ID: string [0..1] «XSDattribute» + href: anyURI [0..1] description: string [0..1] fixedPortion: AccountingUnit [0..1] ID: string [0..1] kind: ChargeKind [0..1] name: string [0..1] variablePortion: PerCent [0..1] Example on how SEP 2.0 UML aligns with CIM UML class TariffProfile Document • CIM Pricing Customers:: PricingStructure Structure Model +PricingStructures 0..* +Tariffs 0..* Document Customers:: Tariff +Tariffs 0..* +TariffProfiles 0..* Document +TariffProfiles 0..* +TariffProfiles TariffProfile + 0..* tariffCycle: String [0..1] +TimeTariffIntervals +ConsumptionTariffIntervals 0..* 0..* TimeTariffInterv al + + ConsumptionTariffInterv al sequenceNumber: Integer [0..1] startDateTime: AbsoluteDateTime [0..1] + + 0..* +TimeTariffIntervals sequenceNumber: Integer [0..1] startValue: RealEnergy [0..1] 0..* +ConsumptionTariffIntervals IdentifiedObject +Charges 0..* + + + fixedPortion: AccountingUnit [0..1] kind: ChargeKind [0..1] variablePortion: PerCent [0..1] +ParentCharge 0..1 0..* +ChildCharges 0..* «enumeration» ChargeKind consumptionCharge demandCharge auxiliaryCharge taxCharge other +Charges Charge «Compound» AccountingUnit + + + + energyUnit: RealEnergy [0..1] monetaryUnit: Currency [0..1] multiplier: UnitMultiplier [0..1] value: Float [0..1] RESTFul Service Definition • Input Using HTTP GET or POST following URL naming convention • Output Using XSD for return RESTFul URL Naming Convention <Service Namespace>/<root element>/<child element> such as http://www.zigbee.org/datastore/MeterReading/Readings (for all readings) or http://www.zigbee.org/datastore/MeterReading/Readings/?timeStamp= 2010-02-02T00:00:00Z (for readings with the timestamp) RESTFul DER for a PEV Convention • GET /dgu{#} returns the DGU for a PEV The client would send: GET /dgu/0 HTTP/1.1 Host: {IPv6 Address} The server would respond: HTTP/1.1 200 OK Content-Type: application/xml Content-Encoding: exi <?xml version=’1.0’ encoding=’UTF-8’?> <DistributedGeneratingUnit href=”http{s}://{IPv6 Address}/dgu/0”> <ID>001</ID> </DistributedGeneratingUnit> <DistributedGeneratingUnit href=”http{s}://{IPv6 Address}/dgu/1”> <ID>002</ID> </DistributedGeneratingUnit>