000000000001024444

June 2, 2018 | Author: hayjoss | Category: Smart Grid, Interoperability, Electrical Grid, Computing, Technology


Comments



Description

Common Information Model On Demand Meter Read Interoperability Test ProcedureEPRI CIM Interoperability Test Procedure (ECITP) 2.03 2011 TECHNICAL REPORT Common Information Model On Demand Meter Read Interoperability Test Procedure EPRI CIM Interoperability Test Procedures (ECITP) 2.03 EPRI Project Manager J. Simmins 3420 Hillview Avenue Palo Alto, CA 94304-1338 USA PO Box 10412 Palo Alto, CA 94303-0813 USA 800.313.3774 650.855.2121 [email protected] www.epri.com 1024444 Final Report, December 2011 MANUFACTURER. OR OTHERWISE. Inc. METHOD. . (I) WITH RESPECT TO THE USE OF ANY INFORMATION. PROCESS.3774 or e-mail askepri@epri. APPARATUS. UNDER CONTRACT TO EPRI. call the EPRI Customer Assistance Center at 800.313. Inc. INCLUDING ANY PARTY'S INTELLECTUAL PROPERTY. and TOGETHER…SHAPING THE FUTURE OF ELECTRICITY are registered service marks of the Electric Power Research Institute. REFERENCE HEREIN TO ANY SPECIFIC COMMERCIAL PRODUCT. OR SIMILAR ITEM DISCLOSED IN THIS DOCUMENT. PREPARED THIS REPORT: EnerNex Boreas Group NOTE For further information about EPRI. DOES NOT NECESSARILY CONSTITUTE OR IMPLY ITS ENDORSEMENT. Copyright © 2011 Electric Power Research Institute. NOR ANY PERSON ACTING ON BEHALF OF ANY OF THEM: (A) MAKES ANY WARRANTY OR REPRESENTATION WHATSOEVER. OR FAVORING BY EPRI. EPRI. OR (II) THAT SUCH USE DOES NOT INFRINGE ON OR INTERFERE WITH PRIVATELY OWNED RIGHTS. ANY MEMBER OF EPRI. INCLUDING MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. PROCESS. EVEN IF EPRI OR ANY EPRI REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES) RESULTING FROM YOUR SELECTION OR USE OF THIS DOCUMENT OR ANY INFORMATION. APPARATUS. THE FOLLOWING ORGANIZATIONS. INC. OR SIMILAR ITEM DISCLOSED IN THIS DOCUMENT. EXPRESS OR IMPLIED. METHOD.com. TRADEMARK. OR (B) ASSUMES RESPONSIBILITY FOR ANY DAMAGES OR OTHER LIABILITY WHATSOEVER (INCLUDING ANY CONSEQUENTIAL DAMAGES. OR SERVICE BY ITS TRADE NAME. PROCESS. (EPRI). OR (III) THAT THIS DOCUMENT IS SUITABLE TO ANY PARTICULAR USER'S CIRCUMSTANCE. THE ORGANIZATION(S) BELOW. Electric Power Research Institute. NEITHER EPRI. ANY COSPONSOR. All rights reserved.DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITIES THIS DOCUMENT WAS PREPARED BY THE ORGANIZATION(S) NAMED BELOW AS AN ACCOUNT OF WORK SPONSORED OR COSPONSORED BY THE ELECTRIC POWER RESEARCH INSTITUTE. RECOMMENDATION.  iii  . Colorado 80209 Principal Investigators R. prepared this report: EnerNex 620 Mabry Hood Road Suite 300 Knoxville. Elizabeth St. Boswell This report describes research sponsored by EPRI. CA: 2011. Palo Alto. Muschlitz Boreas Group 730 S. EPRI would like to acknowledge the support of the following organizations: Consumer’s Energy American Electric Power Southern California Edison This publication is a corporate document that should be cited in the literature in the following manner: Common Information Model On Demand Meter Read Interoperability Test Procedure: EPRI CIM Interoperability Test Procedures (ECITP) 2.03. Sarfi B. Stefferud B. under contract to the Electric Power Research Institute (EPRI). 1024444. Denver.Acknowledgments The following organizations. EPRI. Tennessee 37932 Principal Investigators K. . The Test Procedures are initially being used for EPRI demonstration tests and are intended.Abstract The Common Information Model (CIM) On Demand Meter Read Interoperability Test Procedure is one in a series of EPRI Interoperability Test Procedures (ETIPs) created by EPRI whose purpose is to thoroughly document the actors. and test steps for the interoperability testing of specific parts of the International Electrotechnical Commission (IEC) Common Information Model (CIM) standard. such as that called for by the Smart Grid Testing and Certification Committee (SGTCC) in its Interoperability Process Reference Manual (IPRM) whose goal is the formalized validation of the interoperability of combinations of vendor products Organizations sponsoring routine standards-validation CIM interoperability testing  The initial series of the Test Procedures covers several message sets related to the IEC 61868-9 (Meter Reading and Control) standard. Keywords Smart meters Common Information Model (CIM) Interoperability Test Procedures (Tips) Smart Grid Testing and Certification Committee (SGTCC) v . This document covers test procedures related to on demand meter reading. interfaces. to form the basis of a set of CIM test procedures to be used by:  Testing labs set up under a formal organizational framework for Smart Grid testing and certification. over time. . ............5-1 Test Set Up ................................... 1-3 Section 2: References ............................................ 1-3 Contents of this Document ................................................ 5-1 Test data .................................................................................. 5-3 Test results ..........3-1 CIM On-Demand Meter Read Interoperability Test ................................. A-1 WSDLs . 5-1 Test Invocation .......................................................................................................... A-9 MeterReadings ....Table of Contents Section 1: Introduction .................... 5-1 Test XSDs ...................1-1 Background ................................ A-9 Message XSD ....................................................................4-1 Section 5: Test Technical Information ............................................................................................................... 5-1 Schedule Test ............2-1 Normative .............................................. A-3 XSDs ......................... 5-1 Execute Test ....................................... A-1 GetTemplate .......................................... 5-2 2) ReplyMeterReadings .......................................................................... 5-2 1) GetMeterReadings ............................................................................................ 2-1 Section 3: Test Overview ......................................................................................................................................................................................................... 2-1 Informative .. 1-1 Purpose of this Document ..... A-22 Appendix B: Requirements Tested ................................................................................................... 5-4 Appendix A: Detailed Description of Each Interface ................................................................................................. 3-1 Section 4: Test Steps and Results ..................................... B-1  vii  ..................................................... A-1 SendReceiveReply Template .............................................................. . ............. 3-1 Figure 3-2 ECITP 2................ 3-2  ix  ...........List of Figures Figure 1-1 Scope of the EPRI CIM 61968-9 Test Plans .....................................................................................01 Meter Message Sequence Flow Diagram . 1-2 Figure 3-1 Units under Test (UUT) ........ . 4-3 Table 4-3 Test Steps for AMI Head-End .....................List of Tables Table 4-1 Test Steps for CIS .... 4-4  xi  ................................................... 4-2 Table 4-2 Test Steps for MDMS ............................................................ . and 62325). substations. Inter-Control Center Communications Protocol (ICCP) and 61850. The initial collection of Test Procecures focuses on 61968-9 (Meter Reading & Control). well defined.Section 1: Introduction EPRI initiatives have provided important research contributing to bodies of work that have become International Electrotechnical Commission (IEC) interface standards—including the Common Information Model (CIM). The scope of 61968-9 Test Procedures is shown in Figure 1-1This document.  1-1  . model-driven information exchange strategy is the most realistic and cost effective way to implement a Smart Grid. and generation areas of the enterprise and with outside entities. CIM On Demand Meter Read Interoperability Test Procedure. Once CIM is extended. These standards provide the basis for model-driven information exchange within and between control centers. utilities will have a greatly improved chance of achieving efficiencies that will lower the cost of future system upgrades and integration. and interface definitions) related to such test cases. 61970. distribution. it is expected to allow full data management and exchange between the transmission. and other systems supporting utility operations. The implementation of a smarter grid is facilitated by the development of interoperability standards such as these. One measure of stability is having standard set of test cases that can be used to repeatably and reliably test the interoperability of two systems. Having a universally accepted. The primary challenge in the future is to extend CIM beyond the control center and prove that it is stable and fully implementable. instructions. Background The EPRI CIM Interoperability Test Procedures are designed to support interoperability testing of the IEC CIM standards (61968. This document is one in a series of EPRI-authored documents that provide the detailed information (steps. When new data provided by these systems can be accessed. planning. The initial CIM standard addressed interoperatbility between Energy Management Systems and other control center applications. comprises one of component procedures of the 61968-9 collection of Test Procedures. Figure 1-1 Scope of the EPRI CIM 61968-9 Test Plans  1-2  . EdF. The test procedures are intended to be utilized by testing labs set up under a formal organizational framework for Smart Grid testing and certification. Contents of this Document Chapter 2 contains the references used in the preparation of this test procedure. as has historically been done by EPRI. In this use. the EPRI CIM test procedures address the need for a more formalized validation of interoperability of combinations of vendor products. Chapter 4 has the step by step testing procedure.Purpose of this Document The purpose of the EPRI CIM test procedures is to thoroughly describe how system-to-system interoperability testing using IEC standard CIM messages can be performed. The test procedures are also intended to be utilized by organizations sponsoring routine standards-validation CIM interoperability testing. UCA International. Chapter 3 contains a description of the test set up and what is to be tested. Appendix B contains the XSDs and WSDLs used in the test procedure.  1-3  . and ENTSO-E. such as that called for by the Smart Grid Testing & Certification Committee (SGTCC) in its Interoperabiltiy Process Reference Manual (IPRM). Appendix A contains the technical information for setting up a test. . sce. AMI ENT Requirement.com/CustomerService/smartconnect/industry-resourcecenter/use-cases. Informative The business requirements are derived from the requirements published by Southern California Edison and those at smartgridipedia. Use cases from Southern California Edison: http://www.REQ-B1002-Receive an on-demand meter reading.Section 2: References Normative IEC 61968-9 Interfaces for Meter Reading and Control.php/B1_-_Scenario_2  Use Case B1 AMI-ENT Scenario 3 – AMI Meter completes an on-demand read AMI ENT Requirement REQ-B1001-Request an on-demand meter reading. First Edition.org/index. Geneva Switzerland. International Electrotechnical Commission.smartgridipedia.org.htm?from=usecases Use cases from smartgridipedia: http://www.  2-1  .REQ-B1003-Send an on-demand meter reading. AMI ENT Requirement. . Systems tested include the Customer Information System (CIS). Test System Test Coord. Procedures Validate MeterReadings Operator Simulator Systems Under Test CreatemeterReadings MR-MDM + MR-RMR Meter Simulator or MR-RMR AMI Network CreatedMeterReadings CS-CSRV Enterprise Network Test System Item(s) Tested Item used in test Figure 3-1 Units under Test (UUT)  3-1  . Actual meters. and the Metering System (Head-End). Some configurations will relay the messages through the Meter Data Management System (MDMS) which can perform filtering functions. The On-Demand Meter Data Read Interoperability Test verifies that the MS returns the correct response CreatedMeterReadings message corresponding to the CreateMeterReadings request message. Actual meters.Section 3: Test Overview CIM On-Demand Meter Read Interoperability Test The ability to perform on-demand or on request meter reads is a basic interoperability requirement of utility systems. may be used in the test system. if available. may be used in the test system. or similar system. The Units under Test (UUTs) are shown Figure 3-1. if available. 01 Meter Message Sequence Flow Diagram  3-2  .01 Meter Message Sequence Flow Diagram. systems under test are the CIS. Meter read sequence is as follows: 1) GetMeterReading 2) ReplyMeterReading Note earlier versions of the CIM Part 9 document used a CREATE/CREATE message sequence instead of the current GET/REPLY message pattern. and AMI Head End. Please see Section 6: Test Data for the sample XML format and content of the messages used for this test. As shown in the diagram.The system interfaces are shown in Figure 3-2 ECITP 2. sd On-Demand Meter Read Customer Service (CS-CSRV) CIS Meter Operations (MR-MOP) Meter Data Management MDMS Meter Reading (MR-RMR) Meter GET(MeterReading) GET(MeterReading) read meter() REPLY(MeterReading) REPLY(MeterReading) opt Interaction w ithout MDMS GET(MeterReading) REPLY(MeterReading) (from Actors) (from Actors) (from Actors) Figure 3-2 ECITP 2. The MDMS is considered an optional component for on demand meter reading requests. MDMS. Section 4: Test Steps and Results For each role. detailed test procedure steps specific to that role are detailed.  4-1  . Record and save the content of the message. Record and save the content of the message. Record and save the content of the message. # IEC 61968 version 10v30. via the MDMS Head-end Detailed Step Request an on-demand meter read from at least one meter. Record and save the content of the message. Using one of the message content verification methods in MV-02. verify the content and format of the transmitted MeterReadings message are in concurrence with the MeterReadings XSD. Using one of the message content verification methods in MV-02. 4 Head-end CIS Verify CIS receives the MeterReadings message from the MDMS using CIM test procedure MV01 message verification. Meter or meter simulator sends proprietary messages to head-end Verify Head-end sends a MeterReadings message to the source (or source via MDMS) using CIM test procedure MV-01 message verification. Pass/Fail Pass/Fail Pass/Fail 2 AMI Meter/ simulated meter Head-end Pass/Fail 3 Source or source via MDMS Pass/Fail  4-2  . Validate that the correct meter data is reported. verify the content and format of the received MeterReadings message are in concurrence with the MeterReadings XSD. MeterReading XSD Source Component CIS (source) Destination Component Meter or meter simulator.Table 4-1 Test Steps for CIS Step # 1 Ref. Pass/Fail Pass/Fail Pass/Fail 2 3 AMI Meter/ simulated meter Head-end Head-end MDMS Pass/Fail Pass/Fail  4-3  . 4 Head-end CIS Verify CIS receives the MeterReadings message from the MDMS using CIM test procedure MV-01 message verification. verify the content and format of the transmitted MeterReadings message are in concurrence with the MeterReadings XSD. Meter or meter simulator sends proprietary messages to head-end Verify Head-end sends a MeterReadings message to the MDMS using CIM test procedure MV-01 message verification. Using one of the message content verification methods in MV-02. Record and save the content of the message. Validate that the correct meter data is reported. Record and save the content of the message. Record and save the content of the message. MeterReading XSD Source Component CIS (source) Destination Component MDMS Detailed Step Request an on-demand meter read from at least one meter. verify the content and format of the received MeterReadings message are in concurrence with the MeterReadings XSD. Using one of the message content verification methods in MV-02. # IEC 61968 version 10v30. Record and save the content of the message.Table 4-2 Test Steps for MDMS Step # 1 Ref. Table 4-3 Test Steps for AMI Head-End Step # 1 Ref. # IEC 61968 version 10v30. Record and save the content of the message. Validate that the correct meter data is reported. 4 Head-end CIS Verify CIS receives the MeterReadings message from the MDMS using CIM test procedure MV01 message verification. verify the content and format of the transmitted MeterReadings message are in concurrence with the MeterReadings XSD. MeterReading XSD Source Component CIS (source) Destination Component MDMS Detailed Step Request an on-demand meter read from at least one meter. Record and save the content of the message. Record and save the content of the message. Using one of the message content verification methods in MV-02. Record and save the content of the message. Pass/Fail Pass/Fail Pass/Fail 2 3 AMI Meter/ simulated meter Head-end Head-end MDMS Pass/Fail Pass/Fail  4-4  . Meter or meter simulator sends proprietary messages to head-end Verify Head-end sends a MeterReadings message to the MDMS using CIM test procedure MV-01 message verification. Using one of the message content verification methods in MV-02. verify the content and format of the received MeterReadings message are in concurrence with the MeterReadings XSD. Execute Test 1. Each vendor would have their own Amazon EC2 instance to run their copy of the test harness. Palo Alto. MeterReadings and MeterServiceRequests payload. There are several steps required to create a new instance. Execute test steps as defined in section 5 for each system under test. At test conclusion. 1024450. The details of establishing a test instance may be found in Appendix A – EPRI Interoperability Test Harness How-To-Deploy Tutorial in CIM Conformity and Interoperability Test Procedure Development. CA: 2011. manage. Test Invocation The details of establishing a test instance may be found in Appendix B – EPRI Test Harness Tutorial in CIM Conformity and Interoperability Test Procedure Development.com. 4. Verify connectivity of systems 3. Schedule Test 1. included in Appendix A. Palo Alto. 1024450.EPRI. 2. Coordinate test scheduling with John Simmins at [email protected] EC2 is a cloud environment that makes it simple to create. and deploy web based applications. CA: 2011. but each step is straightforward. The cloud environment used in this project is the Amazon EC2 cloud environment. receive and review recorded test status information.EPRI.  5-1  . Start system(s) under test. Test XSDs This test uses the standard 61968 Part 1 message header and EndDeviceEventsMessage.Section 5: Test Technical Information Test Set Up The test harness is designed to run on a cloud environment. It is easy to generate new instances on demand and the service itself is extremely reliable. 3 U <GetMeterReadings xmlns="http://www.ch/TC57/2011/GetMeterReadingsMessage GetMeterReadingsMessage.ch/TC57/2011/GetMeterReadingsMessage" xmlns:obj2="http://iec.ch/TC57/2011/GetMeterReadings#" xmlns:obj1="http://iec.0Z</msg:Timestamp> <msg:AsyncReplyFlag>false</msg:AsyncReplyFlag> <msg:AckRequired>false</msg:AckRequired> <msg:MessageID>ABC-123</msg:MessageID> <msg:CorrelationID></msg:CorrelationID> </Header> <Request> <msg:Comment>On-Demand read request</msg:Comment> <ID>String</ID> <obj2:GetMeterReadings> <obj2:EndDevice> <obj2:Names> <obj2:mRID>3dc53ee5-777e-50b4-8699-a1c224f45f3d</obj2:mRID> <obj2:name>Meter23253</obj2:name> </Request> </obj2:GetMeterReadings> </obj2:EndDevice> </obj2:Names> </GetMeterReadings>  5-2  .iec.0" encoding="UTF-8"?> (http://www.Test data On Demand Meter Reads sample messages which are expected to be produced by the the CIS and MDMS.xsd"> <Header> <msg:Verb>get</msg:Verb> xmlns:xsi="http://www.com)--> <!--Sample XML file generated by XMLSpy v2005 rel.w3.iec.iec. Note EndDeviceEvents may be piggybacked on MeterReading messages.altova.org/2001/XMLSchema-instance" <msg:Noun>MeterReadings</msg:Noun> <msg:Context>TESTING</msg:Context> <msg:Source>CIS-001</msg:Source> <msg:Timestamp>2001-12-17T09:30:47.ch/TC57/2010/schema/message" xsi:schemaLocation="http://www. 1) GetMeterReadings <?xml version="1.ch/TC57/2011/MeterReadings#" xmlns:msg="http://www. 0Z</obj1:reportedDateTime> <obj1:timeStamp>2001-12-17T09:30:47.0Z</obj1:timeStamp> <obj1:ReadingType ref="kWh"/> </Payload> </obj1:MeterReadings> </obj1:MeterReading> </obj1:Readings> </MeterReadingsResponseMessage>  5-3  .ch/TC57/2011/GetMeterReadingsMessage" xmlns:obj2="http://iec.iec.ch/TC57/2011/MeterReadings#" xmlns:msg="http://www.com)--> <!--Sample XML file generated by XMLSpy v2005 rel. 3 U <MeterReadingsResponseMessage xmlns="http://www.org/2001/XMLSchema-instance" <msg:Noun>MeterReadings</msg:Noun> <msg:Context>TESTING</msg:Context> <msg:Source>HE-001</msg:Source> <msg:Timestamp>2001-12-17T09:30:47.iec.ch/TC57/2010/schema/message" xsi:schemaLocation="http://www.xsd"> <Header> <msg:Verb>reply</msg:Verb> xmlns:xsi="http://www.0" encoding="UTF-8"?> (http://www.w3.0Z</msg:Timestamp> <msg:AsyncReplyFlag>false</msg:AsyncReplyFlag> <msg:MessageID>HE-12345</msg:MessageID> <msg:CorrelationID>ABC-123</msg:CorrelationID> </Header> <Reply> <msg:Comment>On-Demand meter read reasponse</msg:Comment> </Reply> <msg:Result>OK</msg:Result> <Payload> <obj1:MeterReadings> <obj1:MeterReading> <obj1:Meter> <obj1:isCoincidentTrigger>false</obj1:isCoincidentTrigger> <obj1:mRID>3dc53ee5-777e-50b4-8699-a1c224f45f3d</obj1:mRID> <obj1:Names> <obj1:name>Meter23253</obj1:name> </obj1:Meter> </obj1:Names> <obj1:Readings> <obj1:reason>inquiry</obj1:reason> <obj1:source>HE-001</obj1:source> <obj1:value>314159</obj1:value> <obj1:reportedDateTime>2001-12-17T09:30:47.ch/TC57/2011/GetMeterReadingsMessage GetMeterReadingsMessage.iec.altova.ch/TC57/2011/GetMeterReadings#" xmlns:obj1="http://iec.2) ReplyMeterReadings <?xml version="1.  5-4  .Test results CIS and MDMS demonstration tests pass if each test step with a pass/fail in the far right column passes. ch/TC57/2011/{Information_Object_Name}" xmlns:soap="http://schemas.xmlsoap.xmlsoap.w3.org/soap/encoding/" xmlns:tm="http://microsoft.org/wsdl/http/" xmlns:wsdl="http://schemas.org/wsdl/" xmlns:xs="http://www.xmlsoap.xsd"/> </xs:schema> </wsdl:types>  A-1  .org/wsdl/soap/" xmlns:wsi="http://ws-i.ch/TC57/2011/{Information_Object_Name}" xmlns:http="http://schemas.org/wsdl/mime/" xmlns:infoMessage="http://www. WSDLs GetTemplate <?xml version="1.Appendix A: Detailed Description of Each Interface Detailed descriptions of each interface.org/2001/XMLSchema" xmlns:tns="http://iec.ch/TC57/2011/Get{Information_Object_Name}M elementFormDefault="qualified"> <xs:include schemaLocation="xsd/Get{Information_Object_Name}Message.ch/TC57/2011/Get{Information_Object_Name }Message"> <wsdl:types> <xs:schema essage" targetNamespace="http://www.iec.0" encoding="UTF-8"?> <wsdl:definitions name="Get{Information_Object_Name}" targetNamespace="http://iec.iec.org/schemas/conformanceClaim/" xmlns:soapenc="http://schemas.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap. keyed to interface numbers from diagram.xmlsoap. name="Get{Information_Object_Name}RequestMessage"> name="Get{Information_Object_Name}RequestMessage" </wsdl:message> <wsdl:part <wsdl:message <!-.org/soap/http"/> <soap:binding style="document" <wsdl:operation name="Get{Information_Object_Name}"> soapAction="http://iec.Port Definitions --> message="tns:Get{Information_Object_Name}RequestMessage"/> name="Get{Information_Object_Name}Response" message="tns:ResponseMessage"/> <wsdl:fault name="Get{Information_Object_Name}Fault" message="tns:FaultMessage"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="Get{Information_Object_Name}_Binding" type="tns:Get{Information_Object_Name}_Port"> transport="http://schemas.xmlsoap.Message Definitions --> element="infoMessage:Get{Information_Object_Name}"/> <wsdl:message name="ResponseMessage"> element="infoMessage:{Information_Object_Name}ResponseMessage"/> </wsdl:message> <wsdl:part name="ResponseMessage" <wsdl:message name="FaultMessage"> element="infoMessage:{Information_Object_Name}FaultMessage"/> </wsdl:message> <wsdl:part name="FaultMessage" <wsdl:portType name="Get{Information_Object_Name}_Port"> <wsdl:operation name="Get{Information_Object_Name}"> name="Get{Information_Object_Name}Request" <wsdl:output <wsdl:input <!-.ch/TC57/2011/Get{Information_Object_Name}/Get{Infor mation_Object_Name}" style="document"/> <wsdl:input <soap:operation name="Get{Information_Object_Name}Request"> </wsdl:input> <soap:body use="literal"/>  A-2  . name="Get{Information_Object_Name}Response"> </wsdl:output> <wsdl:output <soap:body use="literal"/> name="Get{Information_Object_Name}Fault"> <wsdl:fault name="Get{Information_Object_Name}Fault" use="literal"/> </wsdl:operation> </wsdl:fault> <soap:fault </wsdl:binding> <wsdl:service name="Get{Information_Object_Name}"> binding="tns:Get{Information_Object_Name}_Binding"> <soap:address <wsdl:port name="Get{Information_Object_Name}_Port" location="http://iec.ch/TC57/2011/Get{Information_Object_Name}"/> </wsdl:service> </wsdl:definitions> </wsdl:port> SendReceiveReply Template ?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="{Send | Receive | Reply}{Information_Object_Name}" targetNamespace="http://iec.ch/TC57/2011/{Information_Object_Name}" xmlns:tns="http://iec.ch/TC57/2011/{Information_Object_Name}" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:infoMessage="http://www.iec.ch/TC57/2011/{Information_Object_Name}Mes sage"> <wsdl:types> <xs:schema targetNamespace="http://www.iec.ch/TC57/2011/{Information_Object_Name} Message"  A-3  elementFormDefault="qualified"> <xs:include schemaLocation="xsd/{Information_Object_Name}Message.xsd"/> </xs:schema> </wsdl:types> <!-- Message Definitions --> <wsdl:message name="Created{Information_Object_Name}EventMessage"> name="Created{Information_Object_Name}EventMessage" </wsdl:message> <wsdl:part element="infoMessage:Created{Information_Object_Name}"/> name="Changed{Information_Object_Name}EventMessage"> name="Changed{Information_Object_Name}EventMessage" </wsdl:message> <wsdl:part <wsdl:message element="infoMessage:Changed{Information_Object_Name}"/> name="Closed{Information_Object_Name}EventMessage"> name="Closed{Information_Object_Name}EventMessage" </wsdl:message> <wsdl:part <wsdl:message element="infoMessage:Closed{Information_Object_Name}"/> name="Canceled{Information_Object_Name}EventMessage"> name="Canceled{Information_Object_Name}EventMessage" </wsdl:message> <wsdl:part <wsdl:message element="infoMessage:Canceled{Information_Object_Name}"/> name="Deleted{Information_Object_Name}EventMessage"> name="Deleted{Information_Object_Name}EventMessage" </wsdl:message> <wsdl:part <wsdl:message element="infoMessage:Deleted{Information_Object_Name}"/> <wsdl:message name="ResponseMessage">  A-4  element="infoMessage:{Information_Object_Name}ResponseMessage"/> </wsdl:message> <wsdl:part name="ResponseMessage" <wsdl:message name="FaultMessage"> element="infoMessage:{Information_Object_Name}FaultMessage"/> </wsdl:message> <wsdl:part name="FaultMessage" <wsdl:portType name="{Information_Object_Name}_Port"> <wsdl:operation <!-- Port Definitions --> name="Created{Information_Object_Name}"> name="Created{Information_Object_Name}Event" <wsdl:output <wsdl:input message="tns:Created{Information_Object_Name}EventMessage"/> name="Created{Information_Object_Name}Response" message="tns:ResponseMessage"/> <wsdl:fault name="Created{Information_Object_Name}Fault" message="tns:FaultMessage"/> </wsdl:operation> name="Changed{Information_Object_Name}"> name="Changed{Information_Object_Name}Event" <wsdl:output <wsdl:input <wsdl:operation message="tns:Changed{Information_Object_Name}EventMessage"/> name="Changed{Information_Object_Name}Response" message="tns:ResponseMessage"/> <wsdl:fault name="Changed{Information_Object_Name}Fault" message="tns:FaultMessage"/> </wsdl:operation> name="Canceled{Information_Object_Name}"> name="Canceled{Information_Object_Name}Event" <wsdl:output <wsdl:input <wsdl:operation message="tns:Canceled{Information_Object_Name}EventMessage"/> name="Canceled{Information_Object_Name}Response" message="tns:ResponseMessage"/> <wsdl:fault name="Canceled{Information_Object_Name}Fault" message="tns:FaultMessage"/> </wsdl:operation>  A-5  name="Closed{Information_Object_Name}"> <wsdl:operation name="Closed{Information_Object_Name}Event" <wsdl:output <wsdl:input message="tns:Closed{Information_Object_Name}EventMessage"/> name="Closed{Information_Object_Name}Response" message="tns:ResponseMessage"/> <wsdl:fault name="Closed{Information_Object_Name}Fault" message="tns:FaultMessage"/> </wsdl:operation> name="Deleted{Information_Object_Name}"> name="Deleted{Information_Object_Name}Event" <wsdl:output <wsdl:input <wsdl:operation message="tns:Deleted{Information_Object_Name}EventMessage"/> name="Deleted{Information_Object_Name}Response" message="tns:ResponseMessage"/> <wsdl:fault name="Deleted{Information_Object_Name}Fault" message="tns:FaultMessage"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="{Information_Object_Name}_Binding" type="tns:{Information_Object_Name}_Port"> transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation <soap:binding style="document" name="Created{Information_Object_Name}"> soapAction="http://iec.ch/TC57/2011/{Information_Object_Name}/Created{Infor mation_Object_Name}" style="document"/> <wsdl:input <soap:operation name="Created{Information_Object_Name}Event"> </wsdl:input> <soap:body use="literal"/> name="Created{Information_Object_Name}Response"> </wsdl:output> <wsdl:output <soap:body use="literal"/> name="Created{Information_Object_Name}Fault"> <wsdl:fault name="Created{Information_Object_Name}Fault" use="literal"/> <soap:fault  A-6  name="Changed{Information_Object_Name}"> <wsdl:operation </wsdl:operation> </wsdl:fault> soapAction="http://iec.ch/TC57/2011/{Information_Object_Name}/Changed{Infor mation_Object_Name}" style="document"/> <wsdl:input <soap:operation name="Changed{Information_Object_Name}Event"> </wsdl:input> <soap:body use="literal"/> name="Changed{Information_Object_Name}Response"> </wsdl:output> <wsdl:output <soap:body use="literal"/> name="Changed{Information_Object_Name}Fault"> <wsdl:fault name="Changed{Information_Object_Name}Fault" use="literal"/> </wsdl:operation> </wsdl:fault> <soap:fault name="Canceled{Information_Object_Name}"> <wsdl:operation soapAction="http://iec.ch/TC57/2011/{Information_Object_Name}/Canceled{Info rmation_Object_Name}" style="document"/> <wsdl:input <soap:operation name="Canceled{Information_Object_Name}Event"> </wsdl:input> <soap:body use="literal"/> name="Canceled{Information_Object_Name}Response"> </wsdl:output> <wsdl:output <soap:body use="literal"/> name="Canceled{Information_Object_Name}Fault"> <wsdl:fault name="Canceled{Information_Object_Name}Fault" use="literal"/> </wsdl:operation> <wsdl:operation </wsdl:fault> <soap:fault name="Closed{Information_Object_Name}"> soapAction="http://iec.ch/TC57/2011/{Information_Object_Name}/Closed{Inform ation_Object_Name}" style="document"/> <wsdl:input <soap:operation name="Closed{Information_Object_Name}Event"> <soap:body use="literal"/>  A-7  ch/TC57/2011/{Send | Receive |  A-8  .name="Closed{Information_Object_Name}Response"> </wsdl:output> <wsdl:output </wsdl:input> <soap:body use="literal"/> name="Closed{Information_Object_Name}Fault"> <wsdl:fault name="Closed{Information_Object_Name}Fault" use="literal"/> </wsdl:operation> </wsdl:fault> <soap:fault name="Deleted{Information_Object_Name}"> <wsdl:operation soapAction="http://iec.ch/TC57/2011/{Information_Object_Name}/Deleted{Infor mation_Object_Name}" style="document"/> <wsdl:input <soap:operation name="Deleted{Information_Object_Name}Event"> </wsdl:input> <soap:body use="literal"/> name="Deleted{Information_Object_Name}Response"> </wsdl:output> <wsdl:output <soap:body use="literal"/> name="Deleted{Information_Object_Name}Fault"> <wsdl:fault name="Deleted{Information_Object_Name}Fault" use="literal"/> </wsdl:operation> </wsdl:fault> <soap:fault </wsdl:binding> Reply}{Information_Object_Name}"> <wsdl:service name="{Send | Receive | <wsdl:port name="{Information_Object_Name}_Port" <soap:address binding="tns:{Information_Object_Name}_Binding"> Reply}{Information_Object_Name}"/> </wsdl:service> </wsdl:definitions> </wsdl:port> location="http://iec. iec.ch/TC57/2010/schema/message" xmlns:xs="http://www.iec.0"> elementFormDefault="qualified" attributeFormDefault="unqualified" <xs:complexType name="RequestType"> <xs:annotation> <xs:documentation>Request type definition</xs:documentation> <xs:sequence> </xs:annotation> <xs:annotation> for 'get' requests</xs:documentation> </xs:annotation> <xs:annotation> <xs:documentation>Request package is typically used to supply parameters <xs:element name="StartTime" type="xs:dateTime" minOccurs="0"> <xs:documentation>Start time of interest</xs:documentation> </xs:element> </xs:annotation> <xs:element name="EndTime" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>End time of interest</xs:documentation> </xs:element> </xs:annotation> maxOccurs="unbounded"> <xs:annotation> <xs:element name="Option" type="OptionType" minOccurs="0" </xs:element> </xs:annotation> <xs:documentation>Request type specialization</xs:documentation> <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Object ID for request</xs:documentation> </xs:element> </xs:annotation> maxOccurs="unbounded"> <xs:any namespace="##other" processContents="lax" minOccurs="0" <xs:annotation> a CIM-specific namespace</xs:documentation> </xs:any> </xs:annotation> <xs:documentation>This can be a CIM profile defined as an XSD with </xs:complexType> </xs:sequence>  A-9  .XSDs Message XSD <?xml version="1.ch/TC57/2010/schema/message" version="1.0.w3.org/2001/XMLSchema" targetNamespace="http://www.0" encoding="utf-8"?> <xs:schema xmlns="http://www. result is relevant.<xs:complexType name="ReplyType"> <xs:annotation> <xs:documentation>Reply type definition</xs:documentation> </xs:annotation> <xs:sequence> <xs:annotation> errors</xs:documentation> </xs:annotation> <xs:documentation>Reply package is used to confirm success or report <xs:element name="Result"> <xs:annotation> <xs:documentation>Reply code: OK. PARTIAL or FAILED</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="OK"/> <xs:enumeration value="PARTIAL"/> <xs:enumeration value="FAILED"/> </xs:restriction> </xs:element> </xs:simpleType> maxOccurs="unbounded"> <xs:element name="Error" type="ErrorType" minOccurs="0" <xs:annotation> errors</xs:documentation> </xs:element> </xs:annotation> <xs:documentation>Reply details describing one or more <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Resulting transaction ID (usually consequence of create)</xs:documentation> </xs:element> </xs:annotation> maxOccurs="unbounded"/> <xs:annotation> <xs:any namespace="##other" processContents="lax" minOccurs="0" <xs:element name="operationId" type="xs:integer" minOccurs="0"> <xs:documentation>The reply. it is assumed that this is a partial reply in direct response to one of the operations contained in an OperationSet request. Thus.</xs:documentation> </xs:element> </xs:annotation> </xs:sequence> </xs:complexType> <xs:complexType name="PayloadType"> <xs:annotation> <xs:documentation>Payload container</xs:documentation>  A-10  .operationId provides the unique identifier of the Operation for which this reply. .docx" --> <!-.</xs:annotation> <xs:sequence> <xs:choice> <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>For XML payloads. PDF.</xs:documentation> </xs:element> </xs:annotation> </xs:complexType> </xs:sequence> <xs:simpleType name="NounType"> <xs:restriction base="xs:string"> <!-. usually CIM profiles defined using an XSD in a profile-specific namespace.</xs:documentation> </xs:any> </xs:annotation> <xs:element name="OperationSet" type="OperationSet" minOccurs="0"/> <xs:element name="Compressed" type="xs:string" minOccurs="0"> <xs:annotation> payloads</xs:documentation> </xs:element> <xs:documentation>For compressed and/or binary. . e.nouns from "61958-9_MeterReadingAndControl_2ed-working-draft<xs:enumeration value="AuxiliaryAgreementConfig"/> <xs:enumeration value="ComModuleConfig"/> <xs:enumeration value="CustomerAccountConfig"/> <xs:enumeration value="CustomerConfig"/> <xs:enumeration value="CustomerAgreementConfig"/> <xs:enumeration value="CustomerMeterDataSet"/> <xs:enumeration value="EndDeviceConfig"/> <xs:enumeration value="EndDeviceEvents"/> <xs:enumeration value="EndDeviceGroups"/> <xs:enumeration value="MeterConfig"/> <xs:enumeration value="EndDeviceControls"/> <xs:enumeration value="EndDeviceFirmware"/> <xs:enumeration value="MasterDataLinkageConfig"/> <xs:enumeration value="MeterReadings"/> <xs:enumeration value="MeterReadSchedule"/> <xs:enumeration value="MeterServiceRequest"/> <xs:enumeration value="ReceiptRecord"/> <xs:enumeration value="PricingStructureConfig"/>  A-11  ..g. RDF. BINARY.insert nouns from parts 1-8 here --> 20110412. SVF. XML. uuencoded </xs:annotation> </xs:choice> <xs:element name="Format" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Hint as to format of payload. OperationSet reply).</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="enforceMsgSequence" type="xs:boolean" minOccurs="0"> <xs:annotation> <xs:documentation>If set to TRUE. If omitted.</xs:documentation> </xs:element> type="xs:normalizedString"> </xs:annotation> OperationSet) of the Operation for the purpose of reference in subsequent <xs:element name="noun" minOccurs="0"  A-12  . assume TRUE.</xs:documentation> </xs:element> </xs:annotation> <xs:documentation>Set to TRUE when all of the <xs:element name="Operation" minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>For master data set synchronization XML payloads. assume FALSE.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="operationId" type="xs:integer"> <xs:annotation> <xs:documentation>The payload.insert nouns parts 10-12 here" --> </xs:simpleType> </xs:restriction> <xs:enumeration value="UsagePointLocationConfig"/> <xs:complexType name="OperationSet"> <xs:annotation> <xs:documentation>Each operation set is a collection of operations that may require operational-integrity and/or sequence control.</xs:documentation> </xs:element> minOccurs="0"> </xs:annotation> <xs:element name="enforceTransactionalIntegrity" type="xs:boolean" <xs:annotation> Operation.##other messages must be processed successfully or else the entire message set must be rolled back.operation. If omitted.<xs:enumeration value="ServiceCategoryConfig"/> <xs:enumeration value="ServiceLocationConfig"/> <xs:enumeration value="ServiceSupplierConfig"/> <xs:enumeration value="TransactionRecord"/> <xs:enumeration value="UsagePointConfig"/> <xs:enumeration value="UsagePointGroups"/> <!-.operationId provides the unique identifier (within the messages (e. the Operation.##other messages must be processed in the sequence presented.g. ##other </xs:element> <xs:element name="verb" minOccurs="0"> <xs:annotation> <xs:documentation>"create". the verb is to be applied to the elements populated in the payload. "delete". assume FALSE. "change".operation.operation. etc.type="NounType"> --> <!-.</xs:documentation> </xs:annotation> <xs:documentation>TRUE if the verb is operating at the </xs:element> minOccurs="0"> <xs:any namespace="##other" processContents="skip"  A-13  .</xs:documentation> <xs:simpleType> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="cancel"/> <xs:enumeration value="canceled"/> <xs:enumeration value="change"/> <xs:enumeration value="changed"/> <xs:enumeration value="create"/> <xs:enumeration value="close"/> <xs:enumeration value="created"/> <xs:enumeration value="closed"/> <xs:enumeration value="delete"/> <xs:enumeration value="get"/> <xs:enumeration value="deleted"/> <xs:enumeration value="show"/> <xs:enumeration value="reply"/> <xs:enumeration value="subscribe"/> <xs:enumeration value="execute"/> <xs:enumeration value="report"/> <xs:enumeration value="stop"/> <xs:enumeration value="unsubscribe"/> </xs:element> default="false" minOccurs="0"> </xs:simpleType> </xs:restriction> <xs:enumeration value="terminate"/> <xs:element name="elementOperation" type="xs:boolean" <xs:annotation> element level.<xs:element name="noun" minOccurs="0" <xs:annotation> also identifies the noun. this element is optionally supplied to simplify processing. If omitted.</xs:documentation> </xs:annotation> <xs:documentation>The payload.##other below. In such a case. Individual <xs:documentation>An XML payload which carries a CIM payloads are used collectively to create a series of related operations. See the "enforce" boolean flags in the header for instructions on how to process these messages.</xs:documentation> <xs:documentation>Message header contains control and descriptive  A-14  .<xs:annotation> profile defined using an XSD in a profile-specific namespate.</xs:documentation> </xs:any> </xs:annotation> </xs:complexType> </xs:sequence> </xs:element> </xs:complexType> </xs:sequence> <xs:complexType name="ReplayDetectionType"> <xs:annotation> <xs:documentation>Used to detect and prevent replay attacks</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Nonce" type="xs:string"/> </xs:complexType> </xs:sequence> <xs:element name="Created" type="xs:dateTime"/> <xs:complexType name="UserType"> <xs:annotation> <xs:documentation>User type definition</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="UserID" type="xs:string"> <xs:annotation> <xs:documentation>User identifier</xs:documentation> </xs:element> </xs:annotation> <xs:element name="Organization" type="xs:string"> <xs:annotation> <xs:documentation>User parent organization identifier</xs:documentation> </xs:element> </xs:annotation> </xs:complexType> </xs:sequence> <xs:complexType name="HeaderType"> <xs:annotation> <xs:documentation>Message header type definition</xs:documentation> </xs:annotation> <xs:sequence> <xs:annotation> information about the message. </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="cancel"/> <xs:enumeration value="canceled"/> <xs:enumeration value="change"/> <xs:enumeration value="changed"/> <xs:enumeration value="create"/> <xs:enumeration value="close"/> <xs:enumeration value="created"/> <xs:enumeration value="closed"/> <xs:enumeration value="delete"/> <xs:enumeration value="get"/> <xs:enumeration value="deleted"/> <xs:enumeration value="show"/> <xs:enumeration value="reply"/> <xs:enumeration value="subscribe"/> <xs:enumeration value="execute"/> <xs:enumeration value="report"/> <xs:enumeration value="stop"/> <xs:enumeration value="unsubscribe"/> </xs:element> </xs:simpleType> </xs:restriction> <xs:enumeration value="terminate"/> <xs:element name="Noun" type="xs:normalizedString"> <xs:annotation> <!-.</xs:annotation> <xs:element name="Verb"> <xs:annotation> <xs:documentation>This enumerated list of verbs that can be used to form message types in compliance with the IEC 61968 standard.<xs:element name="Noun" type="NounType"> --> <xs:documentation>The Noun of the Control Area identifies the main subject of the message type.</xs:documentation> </xs:element> </xs:annotation> <xs:element name="ReplayDetection" type="ReplayDetectionType"  A-15  . typically a real world object defined in the CIM.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Revision" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Revision level of the message type. TRAINING. This is not intended to be used by middleware for message management. typically a URL/topic/queue..</xs:documentation> </xs:element> </xs:annotation> <xs:element name="Source" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Source system or application that sends the message</xs:documentation> </xs:element> </xs:annotation> <xs:element name="AsyncReplyFlag" type="xs:boolean" minOccurs="0"> <xs:annotation> <xs:documentation>Indicates whether or not reply should be asynchronous</xs:documentation> </xs:element> </xs:annotation> <xs:element name="ReplyAddress" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Address to be used for asynchronous replies..minOccurs="0"> <xs:annotation> to enhance effectiveness of encryption</xs:documentation> </xs:element> </xs:annotation> <xs:documentation>Use to introduce randomness in the message <xs:element name="Context" minOccurs="0"> <xs:annotation> <xs:documentation>Intended context for information usage.</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="PRODUCTION"/> <xs:enumeration value="TESTING"/> <xs:enumeration value="STUDY"/> <xs:enumeration value="DEVELOPMENT"/> <xs:enumeration value="TRAINING"/> </xs:element> </xs:simpleType> </xs:restriction> <xs:element name="Timestamp" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation>Application level relevant time and date for when this instance of the message type was produced.g. TESTING. . PRODUCTION. e.</xs:documentation> </xs:element> </xs:annotation> <xs:element name="AckRequired" type="xs:boolean" minOccurs="0"> <xs:annotation>  A-16  . is required</xs:documentation> </xs:element> <xs:documentation>Indicates whether or not an acknowledgement </xs:annotation> <xs:element name="User" type="UserType" minOccurs="0"> <xs:annotation> <xs:documentation>User information of the sender</xs:documentation> </xs:element> </xs:annotation> <xs:element name="MessageID" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Unique message ID to be used for tracking messages</xs:documentation> </xs:element> </xs:annotation> <xs:element name="CorrelationID" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>ID to be used by applications for correlating replies</xs:documentation> </xs:element> </xs:annotation> <xs:element name="Comment" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Optional comment</xs:documentation </xs:element> maxOccurs="unbounded"> </xs:annotation> <xs:element name="Property" type="MessageProperty" minOccurs="0" <xs:annotation> identify information needed for extended routing and filtering capabilities</xs:documentation> </xs:element> maxOccurs="unbounded"/> </xs:annotation> <xs:documentation>Message properties can be used to <xs:any namespace="##other" processContents="lax" minOccurs="0" </xs:complexType> </xs:sequence> <xs:element name="Message" type="MessageType"> <xs:annotation> <xs:documentation>Common IEC 61968 Message Definition</xs:documentation> </xs:element> </xs:annotation> <xs:complexType name="MessageProperty"> <xs:annotation>  A-17  . routing and filtering</xs:documentation> </xs:annotation> <xs:sequence> <xs:documentation>Message properties can be used for extended <xs:element name="Name" type="xs:string"/> <xs:element name="RequestMessage" type="RequestMessageType"> <xs:annotation> <xs:documentation>Request message structure</xs:documentation> </xs:complexType> </xs:sequence> <xs:element name="Value" type="xs:string" minOccurs="0"/> </xs:element> </xs:annotation> <xs:element name="ResponseMessage" type="ResponseMessageType"> <xs:annotation> <xs:documentation>Response message structure</xs:documentation> </xs:element> </xs:annotation> <xs:element name="EventMessage" type="EventMessageType"> <xs:annotation> <xs:documentation>Event message structure</xs:documentation> <xs:complexType name="MessageType"> <xs:annotation> <xs:documentation>Generic Message Type</xs:documentation> </xs:element> </xs:annotation> </xs:annotation> <xs:sequence> <xs:element name="Header" type="HeaderType"/> <xs:element name="Request" type="RequestType" minOccurs="0"/> <xs:element name="Reply" type="ReplyType" minOccurs="0"/> </xs:sequence> <xs:element name="Payload" type="PayloadType" minOccurs="0"/> </xs:complexType> <xs:complexType name="RequestMessageType"> <xs:annotation> <xs:documentation>Request Message Type. This isn typically used to initiate a transaction or a query request.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Header" type="HeaderType"/> <xs:element name="Request" type="RequestType" minOccurs="0"/> </xs:sequence> <xs:element name="Payload" type="PayloadType" minOccurs="0"/> </xs:complexType> <xs:complexType name="ResponseMessageType"> <xs:annotation>  A-18  . which will typically result in a ResponseMessage to be returned. typically used to reply to a <xs:element name="Header" type="HeaderType"/> <xs:element name="Reply" type="ReplyType"/> <xs:element name="Payload" type="PayloadType" minOccurs="0"/> </xs:complexType> </xs:sequence> <xs:complexType name="FaultMessageType"> <xs:annotation> <xs:documentation>Fault Messsage Type. FATAL.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Header" type="HeaderType"/> </xs:complexType> </xs:sequence> <xs:element name="Payload" type="PayloadType" minOccurs="0"/> <xs:complexType name="ErrorType"> <xs:annotation> <xs:documentation>Error Structure</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="code" type="xs:string"> <xs:annotation> <xs:documentation>Application defined error code</xs:documentation> </xs:element> </xs:annotation> <xs:element name="level" minOccurs="0"> <xs:annotation> <xs:documentation>Severity level. which is used in cases where the incoming message (including the header) can not be parsed</xs:documentation> </xs:complexType> </xs:annotation> <xs:complexType name="EventMessageType"> <xs:annotation> <xs:documentation>Event Message Type. CATASTROPHIC</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="INFORM"/> <xs:enumeration value="FATAL"/> <xs:enumeration value="WARNING"/> <xs:enumeration value="CATASTROPHIC"/> </xs:restriction>  A-19  . e. INFORMATIVE. which is used to indicate a condition of potential interest.g.RequestMessage</xs:documentation> </xs:annotation> <xs:sequence> <xs:documentation>Response MessageType. WARNING. it is assumed that this is an error from one of the operations contained in an OperationSet request.result. Thus.</xs:element> </xs:simpleType> <xs:element name="reason" minOccurs="0"> <xs:annotation> <xs:documentation>Description of the error</xs:documentation> <xs:element name="details" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Free form detailed text description of </xs:element> </xs:annotation> error</xs:documentation> </xs:element> </xs:annotation> <xs:element name="xpath" type="xs:QName" minOccurs="0"> <xs:annotation> <xs:documentation>XPath expression to identify specific XML element</xs:documentation> </xs:element> </xs:annotation> <xs:element name="stackTrace" type="xs:string" minOccurs="0"/> <xs:element name="Location" type="LocationType" minOccurs="0"/> <xs:element name="operationId" type="xs:integer" minOccurs="0"> <xs:annotation> <xs:element name="object" type="IdentifiedObject" minOccurs="0"/> identifier of the Operation for which this reply.error is relevant.</xs:documentation> </xs:element> </xs:annotation> <xs:documentation>The reply.operationId provides the unique </xs:complexType> </xs:sequence> <xs:complexType name="OptionType"> <xs:annotation> <xs:documentation>Request options</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:string"/> </xs:complexType> </xs:sequence> <xs:element name="value" type="xs:string" minOccurs="0"/> <xs:complexType name="LocationType"> <xs:annotation> <xs:documentation>Process location where error was encountered</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="node" type="xs:string" minOccurs="0"> <xs:annotation>  A-20  . error occurred</xs:documentation> </xs:element> </xs:annotation> <xs:documentation>Name of the pipeline/branch/route node where <xs:element name="pipeline" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Name of the pipeline where error occurred (if applicable)</xs:documentation> </xs:element> </xs:annotation> <xs:element name="stage" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>Name of the stage where error occurred (if applicable)</xs:documentation> </xs:element> </xs:annotation> </xs:complexType> </xs:sequence> <xs:complexType name="IdentifiedObject"> <xs:annotation> <xs:documentation>From CIM</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="mRID" minOccurs="0"/> <xs:element name="Name" type="Name" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="objectType" type="xs:string" minOccurs="0"> <xs:annotation> object</xs:documentation> </xs:element> <xs:documentation>CIM class name that classiifies the identified </xs:annotation> </xs:complexType> </xs:sequence> <xs:complexType name="NameType"> <xs:annotation> <xs:documentation>From CIM</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name"/> <xs:element name="description" minOccurs="0"/> minOccurs="0"/> <xs:element name="NameTypeAuthority" type="NameTypeAuthority" </xs:complexType> </xs:sequence> <xs:complexType name="Name"> <xs:annotation> <xs:documentation>From CIM</xs:documentation> </xs:annotation>  A-21  . <xs:sequence> <xs:element name="name"/> </xs:complexType> </xs:sequence> <xs:element name="NameType" type="NameType" minOccurs="0"/> <xs:complexType name="NameTypeAuthority"> <xs:annotation> <xs:documentation>From CIM</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name"/> </xs:complexType> </xs:sequence> <xs:element name="description" minOccurs="0"/> <xs:element name="FaultMessage" type="FaultMessageType"/> <xs:element name="adverbTypes"> <xs:simpleType> </xs:simpleType> </xs:schema> </xs:element> <xs:restriction base="xs:string"/> MeterReadings <?xml version="1.ch/TC57/2011/MeterReadings#" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="MeterReadings" type="m:MeterReadings"/> <xs:complexType name="MeterReadings"> <xs:sequence> <xs:element name="EndDeviceEventType" type="m:EndDeviceEventType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="MeterReading" type="m:MeterReading" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ReadingQualityType" type="m:ReadingQualityType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ReadingType" type="m:ReadingType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="DateTimeInterval" sawsdl:modelReference="http://iec.w3.</xs:documentation> </xs:annotation>  A-22  .com.com.w3.ch/TC57/2010/CIM-schema-cim15#DateTimeInterval"> <xs:annotation> <xs:documentation>Interval of date and time.au/2005/Message#" xmlns:sawsdl="http://www.au/2005/Message#" xmlns:m="http://iec.org/ns/sawsdl" xmlns="http://langdale.org/2001/XMLSchema" xmlns:a="http://langdale.ch/TC57/2011/MeterReadings#" targetNamespace="http://iec.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www. ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.ch/TC57/2010/CIM-schema-cim15#DateTimeInterval.mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs. Given that each Model Authority has a unique id and this id is part of the mRID.</xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="start" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.<xs:sequence> <xs:element name="end" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.dateTime'.ch/TC57/2010/CIM-schema-cim15#DateTimeInterval.ch/TC57/2010/CIM-schemacim15#EndDeviceEvent.ch/TC57/2010/CIM-schema-cim15#EndDeviceEvent"> <xs:annotation> <xs:documentation>Event detected by a device function associated with end device. if applicable).createdDateTime"> <xs:annotation> <xs:documentation>Date and time this activity record has been created (different from the 'status.ch/TC57/2010/CIM-schemacim15#ActivityRecord. then the mRID is globally unique.end"> <xs:annotation> <xs:documentation>End date and time of this interval.issuerID">  A-23  .</xs:documentation> </xs:annotation> </xs:element> <xs:element name="issuerID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="EndDeviceEvent" sawsdl:modelReference="http://iec.start"> <xs:annotation> <xs:documentation>Start date and time of this interval.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID. It is strongly recommended to do this.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="createdDateTime" type="xs:dateTime" sawsdl:modelReference="http://iec. which is the time of a status change of the associated object. Can be used when cancelling an event or text message request or to identify the originating event or text message in a consequential end device event. or other subject of the control action.ch/TC57/2010/CIM-schema-cim15#ActivityRecord.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="EndDeviceEventType" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#EndDeviceEvent. typically supplied when user initiated.EndDeviceEventType">  A-24  .EndDeviceEventDetails"> <xs:annotation> <xs:documentation>All details of this end device event.<xs:annotation> <xs:documentation>Unique identifier of the business entity originating an end device control.ch/TC57/2010/CIM-schemacim15#EndDeviceEvent.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="issuerTrackingID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="severity" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="userID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#EndDeviceEvent.severity"> <xs:annotation> <xs:documentation>Severity level of event resulting in this activity record.issuerTrackingID"> <xs:annotation> <xs:documentation>Identifier assigned by the initiator (e.userID"> <xs:annotation> <xs:documentation>(if user initiated) ID of user who initiated this end device event.ch/TC57/2010/CIM-schemacim15#EndDeviceEvent.reason"> <xs:annotation> <xs:documentation>Reason for event resulting in this activity record.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="reason" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.g.ch/TC57/2010/CIM-schema-cim15#ActivityRecord.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="EndDeviceEventDetails" type="m:EndDeviceEventDetail" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec. text message. retail electric provider) of an end device control action to uniquely identify the demand response event. </xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#NameType.description"> <xs:annotation> <xs:documentation>Description of the name type.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameType" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="Names" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.name">  A-25  .<xs:annotation> <xs:documentation>Type of this end device event.ch/TC57/2010/CIM-schemacim15#Name.NameType"> <xs:annotation> <xs:documentation>Type of this name.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Name.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.name"> <xs:annotation> <xs:documentation>Any free text that name the object.ch/TC57/2010/CIM-schemacim15#NameType.ch/TC57/2010/CIM-schema-cim15#Name"> <xs:sequence> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.Names"> <xs:annotation> <xs:documentation>All names of this identified object.ch/TC57/2010/CIM-schema-cim15#NameType"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#NameTypeAuthority"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.<xs:annotation> <xs:documentation>Name of the name type.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.name"> <xs:annotation> <xs:documentation>Name of the name type authority.</xs:documentation> </xs:annotation> </xs:element>  A-26  .ch/TC57/2010/CIM-schemacim15#NameTypeAuthority.description"> <xs:annotation> <xs:documentation>Description of the name type authority.NameTypeAuthority"> <xs:annotation> <xs:documentation>Authority responsible for managing names of this type.ch/TC57/2010/CIM-schemacim15#NameType.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameTypeAuthority" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#NameTypeAuthority. ch/TC57/2010/CIM-schemacim15#EndDeviceEventDetail.</xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="status" type="m:Status" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#EndDeviceEventDetail.ch/TC57/2010/CIM-schemacim15#EndDeviceEvent.UsagePoint"> <xs:annotation> <xs:documentation>Usage point for which this end device event is reported.</xs:documentation>  A-27  . specific to end device events.ch/TC57/2010/CIM-schema-cim15#EndDeviceEventDetail"> <xs:annotation> <xs:documentation>Name-value pair.ch/TC57/2010/CIM-schema-cim15#ActivityRecord.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="UsagePoint" type="m:UsagePoint" minOccurs="0" sawsdl:modelReference="http://iec.value"> <xs:annotation> <xs:documentation>Value.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="value" type="m:StringQuantity" minOccurs="0" sawsdl:modelReference="http://iec.status"> <xs:annotation> <xs:documentation>Information on consequence of event resulting in this activity record. including unit information.name"> <xs:annotation> <xs:documentation>Name.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="EndDeviceEventDetail" sawsdl:modelReference="http://iec. &amp.</xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements.lt.</xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="EndDeviceEventType" sawsdl:modelReference="http://iec..domain&amp. Given that each Model Authority has a unique id and this id is part of the mRID.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="eventOrAction" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#EndDeviceEventType. then the mRID is globally unique. It is mainly in the form of a verb that gives action to the event that just occurred.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="domain" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.subDomain&amp.subDomain"> <xs:annotation>  A-28  . a system can more easily run reports based on the types of events that have occurred or been received.gt.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs.gt.. By properly classifying events by a small set of domain codes.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="subDomain" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec..domain"> <xs:annotation> <xs:documentation>High-level nature of the event.lt.ch/TC57/2010/CIM-schema-cim15#EndDeviceEventType"> <xs:annotation> <xs:documentation>Detailed description for an event produced by an end device.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID.ch/TC57/2010/CIM-schemacim15#EndDeviceEventType.gt.gt.eventOrAction"> <xs:annotation> <xs:documentation>The most specific part of this event type. Values in attributes allow for creation of recommended codes to be used for identifying end device events as follows: &amp.lt.&amp.type&amp.ch/TC57/2010/CIM-schemacim15#EndDeviceEventType.eventOrActi on&amp.lt..&amp.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject. It is strongly recommended to do this. ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Meter" sawsdl:modelReference="http://iec. as a further sub-categorisation of 'domain'.type"> <xs:annotation> <xs:documentation>Type of physical device from which the event was created.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIMschema-cim15#Meter"> <xs:annotation> <xs:documentation>Physical asset that performs the metering role of the usage poiny. Used for measuring consumption and detection of events.</xs:documentation> </xs:annotation>  A-29  .</xs:documentation> </xs:annotation> </xs:element> <xs:element name="type" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Names" type="m:Name" sawsdl:modelReference="http://iec. then the mRID is globally unique.ch/TC57/2010/CIM-schemacim15#EndDeviceEventType.</xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements.Names"> <xs:annotation> <xs:documentation>All names of this identified object.<xs:documentation>More specific nature of the event.mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs. Given that each Model Authority has a unique id and this id is part of the mRID.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID. It is strongly recommended to do this. A value of zero (0) can be used when the source is unknown.Names"> <xs:annotation> <xs:documentation>All names of this identified object.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Names" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject. ch/TC57/2010/CIM-schemacim15#NameType.</xs:documentation>  A-30  .ch/TC57/2010/CIM-schema-cim15#NameType.name"> <xs:annotation> <xs:documentation>Name of the name type.ch/TC57/2010/CIM-schema-cim15#Name"> <xs:sequence> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameTypeAuthority" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameType" minOccurs="0" sawsdl:modelReference="http://iec.<xs:complexType sawsdl:modelReference="http://iec.NameTypeAuthority"> <xs:annotation> <xs:documentation>Authority responsible for managing names of this type.name"> <xs:annotation> <xs:documentation>Any free text that name the object.ch/TC57/2010/CIM-schemacim15#NameType.description"> <xs:annotation> <xs:documentation>Description of the name type.ch/TC57/2010/CIM-schemacim15#Name.NameType"> <xs:annotation> <xs:documentation>Type of this name.ch/TC57/2010/CIM-schema-cim15#Name.ch/TC57/2010/CIM-schema-cim15#NameType"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. ch/TC57/2010/CIM-schemacim15#NameTypeAuthority.description"> <xs:annotation> <xs:documentation>Description of the name type authority.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="status" type="m:Status" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Asset.ch/TC57/2010/CIM-schemacim15#NameTypeAuthority.ch/TC57/2010/CIM-schemacim15#NameTypeAuthority"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.name"> <xs:annotation> <xs:documentation>Name of the name type authority.status"> <xs:annotation>  A-31  . ch/TC57/2010/CIMschema-cim15#MeterReading.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="IntervalBlocks" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#MeterReading"> <xs:annotation> <xs:documentation>Set of values obtained from the meter.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MeterReading" sawsdl:modelReference="http://iec.<xs:documentation>Status of this asset.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="EndDeviceEvents" type="m:EndDeviceEvent" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.IntervalBlocks"> <xs:annotation> <xs:documentation>All interval blocks contained in this meter reading.EndDeviceEvents"> <xs:annotation> <xs:documentation>All end device events associated with this set of measured values.isCoincidentTrigger"> <xs:annotation> <xs:documentation>If true.ch/TC57/2010/CIM-schemacim15#MeterReading.IntervalReadings"> <xs:annotation> <xs:documentation>Interval reading contained in this block.ch/TC57/2010/CIM-schemacim15#MeterReading.ch/TC57/2010/CIM-schema-cim15#IntervalReading">  A-32  . this meter reading is the meter reading for which other coincident meter readings are requested or provided.ch/TC57/2010/CIM-schema-cim15#IntervalBlock"> <xs:sequence> <xs:element name="IntervalReadings" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.ch/TC57/2010/CIMschema-cim15#IntervalBlock.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="isCoincidentTrigger" type="xs:boolean" minOccurs="0" sawsdl:modelReference="http://iec. value"> <xs:annotation> <xs:documentation>Value of this reading. customer.source"> <xs:annotation> <xs:documentation>System that originally supplied the reading (e.ch/TC57/2010/CIM-schema-cim15#BaseReading.ch/TC57/2010/CIM-schemacim15#BaseReading.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReadingQualities" minOccurs="0" maxOccurs="unbounded"  A-33  ..</xs:documentation> </xs:annotation> </xs:element> <xs:element name="source" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. handheld reading system.).<xs:sequence> <xs:element name="reportedDateTime" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.reportedDateTime"> <xs:annotation> <xs:documentation>(used only when there are detailed auditing requirements) Date and time at which the reading was first delivered to the metering system.ch/TC57/2010/CIM-schema-cim15#BaseReading. etc.ch/TC57/2010/CIM-schemacim15#MeasurementValue.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="timeStamp" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec. another enterprise system.timeStamp"> <xs:annotation> <xs:documentation>The time when the value was last updated</xs:documentation> </xs:annotation> </xs:element> <xs:element name="value" type="xs:float" minOccurs="0" sawsdl:modelReference="http://iec.g. AMI system. </xs:documentation> </xs:annotation>  A-34  .ReadingQualities"> <xs:annotation> <xs:documentation>All qualities of this reading.timeStamp"> <xs:annotation> <xs:documentation>Date and time at which the quality code was assigned or ascertained.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="source" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.comment"> <xs:annotation> <xs:documentation>Elaboration on the quality code.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#ReadingQuality"> <xs:sequence> <xs:element name="comment" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.source"> <xs:annotation> <xs:documentation>System acting as the source of the quality code.ch/TC57/2010/CIM-schemacim15#ReadingQuality.ch/TC57/2010/CIM-schemacim15#ReadingQuality.sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#BaseReading.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="timeStamp" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#ReadingQuality. ReadingQualityType"> <xs:annotation> <xs:documentation>Type of this reading quality.</xs:documentation>  A-35  .PendingCalculation"> <xs:annotation> <xs:documentation>Pending conversion to apply to interval reading values contained by this block (after which the resulting reading type is different than the original because it reflects the conversion result). seasonal' or 'forTheSpecifiedPeriod'.ch/TC57/2010/CIM-schemacim15#IntervalBlock.ch/TC57/2010/CIM-schemacim15#ReadingQuality.ch/TC57/2010/CIM-schema-cim15#BaseReading.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PendingCalculation" minOccurs="0" sawsdl:modelReference="http://iec.timePeriod"> <xs:annotation> <xs:documentation>Start and end of the period for those readings whose type has a time attribute such as 'billing'.</xs:element> <xs:element name="ReadingQualityType" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="timePeriod" type="m:DateTimeInterval" minOccurs="0" sawsdl:modelReference="http://iec. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="scalarFloat" type="xs:float" minOccurs="0" sawsdl:modelReference="http://iec.scalarFloat"> <xs:annotation>  A-36  .unit'. resulting in the 'ReadingType.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="offset" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#PendingCalculation"> <xs:sequence> <xs:element name="multiplyBeforeAdd" type="xs:boolean" minOccurs="0" sawsdl:modelReference="http://iec.multiplyBeforeAdd"> <xs:annotation> <xs:documentation>Whether scalars should be applied before adding the 'offset'.ch/TC57/2010/CIM-schemacim15#PendingCalculation.value' is multiplied by 'scalarNumerator' and divided by this value. it causes a unit of measure conversion to occur.ch/TC57/2010/CIM-schemacim15#PendingCalculation.scalarDenominator"> <xs:annotation> <xs:documentation>(if scalar is rational number) When 'IntervalReading.offset"> <xs:annotation> <xs:documentation>(if applicable) Offset to be added as well as multiplication using scalars.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="scalarDenominator" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec.</xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#PendingCalculation.ch/TC57/2010/CIM-schemacim15#PendingCalculation. unit'.value'.unit'.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ReadingType" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReadingType" sawsdl:modelReference="http://iec.ReadingType"> <xs:annotation> <xs:documentation>Reading type resulting from this pending conversion.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="scalarNumerator" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec. it causes a unit of measure conversion to occur.ReadingType"> <xs:annotation> <xs:documentation>Type information for interval reading values contained in this block. according to the 'ReadingType. only with 'scalarDenominator'.ch/TC57/2010/CIM-schemacim15#PendingCalculation.value'.<xs:documentation>(if scalar is floating number) When multiplied with 'IntervalReading. resulting in the 'ReadingType. and this attribute is presented alone and multiplied with 'IntervalReading. It is never used in conjunction with 'scalarFloat'. it causes a unit of measure conversion to occur.ch/TC57/2010/CIM-schemacim15#IntervalBlock.</xs:documentation> </xs:annotation>  A-37  .ch/TC57/2010/CIM-schemacim15#PendingCalculation.scalarNumerator"> <xs:annotation> <xs:documentation>(if scalar is integer or rational number) When the scalar is a simple integer. It is strongly recommended to do this.ch/TC57/2010/CIM-schemacim15#Name.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Meter"> <xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.<xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Meter" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#IdentifiedObject.mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs.name"> <xs:annotation>  A-38  .ch/TC57/2010/CIM-schema-cim15#Name"> <xs:sequence> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec. Given that each Model Authority has a unique id and this id is part of the mRID.</xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements.Names"> <xs:annotation> <xs:documentation>All names of this identified object. then the mRID is globally unique.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID.ch/TC57/2010/CIM-schema-cim15#MeterReading.ch/TC57/2010/CIMschema-cim15#IdentifiedObject.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Names" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.Meter"> <xs:annotation> <xs:documentation>Meter providing this reading. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.ch/TC57/2010/CIMschema-cim15#Name.NameTypeAuthority">  A-39  .</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameType" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#NameType.ch/TC57/2010/CIM-schema-cim15#NameType.name"> <xs:annotation> <xs:documentation>Name of the name type.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameTypeAuthority" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#NameType.ch/TC57/2010/CIM-schemacim15#NameType"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.NameType"> <xs:annotation> <xs:documentation>Type of this name.description"> <xs:annotation> <xs:documentation>Description of the name type.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.<xs:documentation>Any free text that name the object. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>  A-40  .<xs:annotation> <xs:documentation>Authority responsible for managing names of this type.ch/TC57/2010/CIM-schemacim15#NameTypeAuthority.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#NameTypeAuthority.description"> <xs:annotation> <xs:documentation>Description of the name type authority.ch/TC57/2010/CIM-schema-cim15#NameTypeAuthority"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.name"> <xs:annotation> <xs:documentation>Name of the name type authority. ch/TC57/2010/CIM-schema-cim15#Status.ch/TC57/2010/CIM-schemacim15#Status.reason"> <xs:annotation> <xs:documentation>Reason code or explanation for why an object went to the current status 'value'.status"> <xs:annotation> <xs:documentation>Status of this asset.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="remark" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.dateTime"> <xs:annotation> <xs:documentation>Date and time for which status 'value' applies.value">  A-41  . as free form text.ch/TC57/2010/CIM-schema-cim15#Status.remark"> <xs:annotation> <xs:documentation>Pertinent information regarding the current 'value'.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="reason" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="value" type="xs:string" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Status.ch/TC57/2010/CIM-schema-cim15#Asset.</xs:sequence> </xs:complexType> </xs:element> <xs:element name="status" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Status"> <xs:sequence> <xs:element name="dateTime" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec. reason"> <xs:annotation> <xs:documentation>Reason for this reading being taken.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Readings" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec. prior status changes may have been kept in instances of activity records associated with the object to which this status applies.</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="demandReset"/> <xs:enumeration value="inquiry"/>  A-42  .<xs:annotation> <xs:documentation>Status value at 'dateTime'.ch/TC57/2010/CIM-schemacim15#MeterReading.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:simpleType sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#ReadingReasonKind"> <xs:restriction base="xs:string"> <xs:enumeration value="billing"> <xs:annotation> <xs:documentation>Inquiry or demand.Readings"> <xs:annotation> <xs:documentation>All reading values contained within this meter reading.ch/TC57/2010/CIM-schema-cim15#Reading.ch/TC57/2010/CIM-schema-cim15#Reading"> <xs:sequence> <xs:element name="reason" minOccurs="0" sawsdl:modelReference="http://iec. ch/TC57/2010/CIMschema-cim15#MeasurementValue..).ch/TC57/2010/CIM-schemacim15#BaseReading.reportedDateTime"> <xs:annotation> <xs:documentation>(used only when there are detailed auditing requirements) Date and time at which the reading was first delivered to the metering system.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="source" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. etc.source"> <xs:annotation> <xs:documentation>System that originally supplied the reading (e.timeStamp"> <xs:annotation> <xs:documentation>The time when the value was last updated</xs:documentation> </xs:annotation> </xs:element>  A-43  . handheld reading system.ch/TC57/2010/CIMschema-cim15#BaseReading. another enterprise system.<xs:enumeration value="installation"/> <xs:enumeration value="loadManagement"/> <xs:enumeration value="loadResearch"/> <xs:enumeration value="moveIn"/> <xs:enumeration value="moveOut"/> <xs:enumeration value="other"/> <xs:enumeration value="removal"/> <xs:enumeration value="serviceConnect"/> <xs:enumeration value="serviceDisconnect"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="reportedDateTime" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="timeStamp" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.g. AMI system. customer. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="UsagePoint" type="m:UsagePoint" minOccurs="0" sawsdl:modelReference="http://iec.ReadingType"> <xs:annotation> <xs:documentation>Type information for this reading value.timePeriod"> <xs:annotation> <xs:documentation>Start and end of the period for those readings whose type has a time attribute such as 'billing'. seasonal' or 'forTheSpecifiedPeriod'.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="timePeriod" type="m:DateTimeInterval" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIMschema-cim15#BaseReading.</xs:documentation> </xs:annotation> </xs:element>  A-44  .ch/TC57/2010/CIM-schemacim15#MeterReading.<xs:element name="value" type="xs:float" minOccurs="0" sawsdl:modelReference="http://iec.UsagePoint"> <xs:annotation> <xs:documentation>Usage point from which this meter reading (set of values) has been obtained.ch/TC57/2010/CIM-schemacim15#BaseReading.ch/TC57/2010/CIM-schema-cim15#Reading.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReadingType" sawsdl:modelReference="http://iec.ReadingQualities"> <xs:annotation> <xs:documentation>All qualities of this reading.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReadingQualities" type="m:ReadingQuality" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.value"> <xs:annotation> <xs:documentation>Value of this reading.ch/TC57/2010/CIM-schemacim15#BaseReading. ch/TC57/2010/CIMschema-cim15#Name"> <xs:annotation> <xs:documentation>The Name class provides the means to define any number of human readable names for an object.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Name" sawsdl:modelReference="http://iec. localName: A free text name local to a node in a naming hierarchy similar to a file directory structure.ch/TC57/2010/CIM-schema-cim15#Name.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:string" sawsdl:modelReference="http://iec. A power system related  A-45  .valuesInterval"> <xs:annotation> <xs:documentation>Date and time interval of the data items contained within this meter reading. An object may also have different names within the same IT system.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="NameType" type="m:NameType" minOccurs="0" sawsdl:modelReference="http://iec.<xs:element name="valuesInterval" type="m:DateTimeInterval" minOccurs="0" sawsdl:modelReference="http://iec. Possible values for attribute 'name' are implementation dependent but standard profiles may specify types.NameType"> <xs:annotation> <xs:documentation>Type of this name.ch/TC57/2010/CIM-schema-cim15#Name.g. It is only used with objects organized in a naming hierarchy. e. A name is &lt.b&gt. to be used for defining inter-object relationships. Their definitions from CIM14 are</xs:documentation> <xs:documentation>The localName is a human readable name of the object./b&gt.g.not&lt. e.ch/TC57/2010/CIM-schemacim15#MeterReading.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="NameType" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#NameType"> <xs:annotation> <xs:documentation>Type of name. An enterprise may have multiple IT systems each having its own local name for the same object. localName and aliasName as defined in CIM version 14. a planning system may have different names from an EMS. For inter-object relationships instead use the object identification 'mRID'.name"> <xs:annotation> <xs:documentation>Any free text that name the object. VoltageLevel. This conversion results in a new associated ReadingType.ch/TC57/2010/CIM-schemacim15#PendingCalculation.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="name" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="offset" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="scalarDenominator" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> <xs:documentation>aliasName: A free text alternate name typically used in tabular reports where the column width is limited.unit'.</xs:documentation> </xs:annotation>  A-46  . Children of the same parent in such a hierarchy have names that typically are unique among them.value contained in IntervalBlock.naming hierarchy may be: Substation.ch/TC57/2010/CIM-schemacim15#PendingCalculation.multiplyBeforeAdd"> <xs:annotation> <xs:documentation>Whether scalars should be applied before adding the 'offset'.ch/TC57/2010/CIM-schemacim15#PendingCalculation.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="multiplyBeforeAdd" type="xs:boolean" minOccurs="0" sawsdl:modelReference="http://iec.name"> <xs:annotation> <xs:documentation>Name of the name type.offset"> <xs:annotation> <xs:documentation>(if applicable) Offset to be added as well as multiplication using scalars. a scalar conversion that needs to be applied to every IntervalReading.ch/TC57/2010/CIM-schema-cim15#PendingCalculation"> <xs:annotation> <xs:documentation>When present. resulting in the 'ReadingType.ch/TC57/2010/CIM-schema-cim15#NameType.scalarDenominator"> <xs:annotation> <xs:documentation>(if scalar is rational number) When 'IntervalReading.value' is multiplied by 'scalarNumerator' and divided by this value. it causes a unit of measure conversion to occur.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="PendingCalculation" sawsdl:modelReference="http://iec. Equipment etc. reflecting the true dimensions of IntervalReading values after the conversion. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReadingType" sawsdl:modelReference="http://iec.denominator"> <xs:annotation> <xs:documentation>Denominator.</xs:documentation> </xs:annotation>  A-47  .ch/TC57/2010/CIM-schemacim15#PendingCalculation. according to the 'ReadingType.value'. resulting in the 'ReadingType.unit'.ReadingType"> <xs:annotation> <xs:documentation>Reading type resulting from this pending conversion.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="RationalNumber" sawsdl:modelReference="http://iec.</xs:element> <xs:element name="scalarFloat" type="xs:float" minOccurs="0" sawsdl:modelReference="http://iec. it causes a unit of measure conversion to occur.scalarFloat"> <xs:annotation> <xs:documentation>(if scalar is floating number) When multiplied with 'IntervalReading. and this attribute is presented alone and multiplied with 'IntervalReading.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="scalarNumerator" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#RationalNumber"> <xs:annotation> <xs:documentation>Rational number = 'numerator' / 'denominator'. It is never used in conjunction with 'scalarFloat'. only with 'scalarDenominator'.unit'. Value 1 indicates the number is a simple integer.value'.ch/TC57/2010/CIM-schemacim15#PendingCalculation.ch/TC57/2010/CIM-schemacim15#RationalNumber.ch/TC57/2010/CIM-schemacim15#PendingCalculation.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="denominator" type="xs:integer" sawsdl:modelReference="http://iec.scalarNumerator"> <xs:annotation> <xs:documentation>(if scalar is integer or rational number) When the scalar is a simple integer. it causes a unit of measure conversion to occur. </xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="denominator" type="xs:integer" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="numerator" type="xs:integer" sawsdl:modelReference="http://iec. Note that more than one quality may be applicable to a given reading. and with 'denominator'=1 it represents fundamental frequency. Typically not used unless problems or unusual conditions occur (i.</xs:element> <xs:element name="numerator" type="xs:integer" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ReadingQuality" sawsdl:modelReference="http://iec. 'numerator'=5 is the fifth harmonic). Value 0 means not applicable.. Finally. quality for each reading is assumed to be good unless stated otherwise in associated reading quality type).. Value 1 is used in combination with 'denominator'=2 to represent interharmonic 1/2.ch/TC57/2010/CIM-schemacim15#ReadingInterharmonic. and harmonics are represented using the same mechanism and identified by 'denominator'=1. It can also be used with the  A-48  . values greater than 1 indicate the harmonic of that order (e.numerator"> <xs:annotation> <xs:documentation>Interharmonic numerator. Value 0 means not applicable.numerator"> <xs:annotation> <xs:documentation>Numerator.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ReadingInterharmonic" sawsdl:modelReference="http://iec. Finally.e.ch/TC57/2010/CIM-schema-cim15#ReadingInterharmonic"> <xs:annotation> <xs:documentation>Interharmonics are represented as a rational number 'numerator' / 'denominator'.g.ch/TC57/2010/CIM-schema-cim15#ReadingQuality"> <xs:annotation> <xs:documentation>Quality of a specific reading value or interval reading value. value 1 indicates the harmonic of the order specified with 'numerator'.ch/TC57/2010/CIM-schemacim15#RationalNumber.denominator"> <xs:annotation> <xs:documentation>Interharmonic denominator.ch/TC57/2010/CIM-schemacim15#ReadingInterharmonic. Value 2 is used in combination with 'numerator'=1 to represent interharmonic 1/2. lt.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ReadingQualityType" sawsdl:modelReference="http://iec.gt.timeStamp"> <xs:annotation> <xs:documentation>Date and time at which the quality code was assigned or ascertained.lt.source"> <xs:annotation> <xs:documentation>System acting as the source of the quality code.ch/TC57/2010/CIM-schema-cim15#ReadingQualityType"> <xs:annotation> <xs:documentation>Detailed description for a quality of a reading value.&amp.&amp.gt.ch/TC57/2010/CIM-schema-cim15#ReadingQuality.ch/TC57/2010/CIM-schemacim15#ReadingQuality.comment"> <xs:annotation> <xs:documentation>Elaboration on the quality code.. produced by an end device or a system.index&amp.corresponding reading quality type to indicate that the validation has been performed and succedeed.</xs:documentation> </xs:annotation> <xs:complexType sawsdl:modelReference=""> <xs:attribute name="ref" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ReadingQualityType" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="comment" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="source" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#ReadingQuality.gt.systemId&amp.ch/TC57/2010/CIM-schemacim15#ReadingQuality.</xs:documentation> </xs:annotation>  A-49  .lt.category&amp..ReadingQualityType"> <xs:annotation> <xs:documentation>Type of this reading quality. Values in attributes allow for creation of recommended codes to be used for identifying reading value quality codes as follows: &amp..</xs:documentation> </xs:annotation> </xs:element> <xs:element name="timeStamp" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec. </xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements. Given that each Model Authority has a unique id and this id is part of the mRID.category"> <xs:annotation> <xs:documentation>High-level nature of the reading value quality. as a further sub-categorisation of 'category'.<xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#ReadingQualityType.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="category" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Names" type="m:Name" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="systemId" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.Names"> <xs:annotation> <xs:documentation>All names of this identified object.ch/TC57/2010/CIM-schemacim15#ReadingQualityType.mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.ch/TC57/2010/CIM-schema-cim15#ReadingType">  A-50  .subCategory"> <xs:annotation> <xs:documentation>More specific nature of the reading value quality.ch/TC57/2010/CIM-schemacim15#ReadingQualityType. then the mRID is globally unique. It is strongly recommended to do this.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="subCategory" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ReadingType" sawsdl:modelReference="http://iec.systemId"> <xs:annotation> <xs:documentation>Identification of the system which has declared the issue with the data or provided commentary on the data. commodity"> <xs:annotation>  A-51  .interharmonic.gt..argument...&amp.measurementKind&amp.aggregate&amp.lt.lt.mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs.lt.ch/TC57/2010/CIM-schema-cim15#ReadingType.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.den ominator&amp.currency&amp.gt.&amp. to be used with individual endpoints (as opposed to 'macroPeriod' and 'aggregate' that are used to describe aggregations of data from individual endpoints).gt.multiplier&amp.aggregate"> <xs:annotation> <xs:documentation>Salient attribute of the reading data aggregated from individual endpoints.&amp. It is strongly recommended to do this.&amp.cpp&amp.lt.lt.&amp.lt.. usually 'measuringPeriod'.&amp.lt.&amp.lt.&amp.gt.phases&am p.commodity&amp..</xs:documentation> </xs:annotation> </xs:element> <xs:element name="aggregate" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec..lt.gt.lt..lt..&amp..interharmonic..gt.unit&amp.gt.&amp.accumulation&amp.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="accumulation" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.numerator&amp.gt.ch/TC57/2010/CIM-schema-cim15#ReadingType.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="commodity" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec..accumulation"> <xs:annotation> <xs:documentation>Accumulation behaviour of a reading over time...&amp. Values in attributes allow for creation of recommended codes to be used for identifying reading value types as follows: &amp.lt.gt. This is mainly used to define a mathematical operation carried out over 'macroPeriod'..gt.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID.&amp.gt. but may also be used to describe an attribute of the data when the 'macroPeriod' is not defined.</xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements..argument..lt.consumptionTier&amp..gt. &amp.gt.gt.gt.&amp.lt.flowDirection&amp.&amp..gt.<xs:annotation> <xs:documentation>Detailed description for a type of a reading value.lt.&amp.</xs:documentati on> </xs:annotation> <xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. Given that each Model Authority has a unique id and this id is part of the mRID.lt.tou&amp. &amp.gt.macroPeriod&amp. then the mRID is globally unique.denominator&amp.lt.l t.numerator&amp.measuringPeriod&amp.gt.ch/TC57/2010/CIM-schemacim15#ReadingType. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="macroPeriod" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. energy. energy consumption moves to be reconed against the second consumption tier ('consumptionTier'=2). and any usage is measured against the first consumption tier ('consumptionTier'=1). the value indicates the consumption tier. the consumption accumulator is reset.currency"/> <xs:element name="flowDirection" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. after which the next block of energy is purchased at another price.</xs:documentation> <xs:documentation>Consumption tier pricing refers to the method of billing in which a certain "block" of energy is purchased/sold at one price. and demand).macroPeriod"> <xs:annotation> <xs:documentation>Time period of interest that reflects how the reading is viewed or captured over a long period of time.ch/TC57/2010/CIM-schema-cim15#ReadingType. and usage within the 'consumptionTier'=1 restarts.</xs:documentation> </xs:annotation>  A-52  . this attribute is defined explicitly for flexibility.flowDirection"> <xs:annotation> <xs:documentation>Flow direction for a reading where the direction of flow of the commodity is important (for electricity measurements this includes current.ch/TC57/2010/CIM-schemacim15#ReadingType.cpp"> <xs:annotation> <xs:documentation>Critical peak period (CPP) bucket the reading value is attributed to. Otherwise. Even though CPP is usually considered a specialised form of time of use 'tou'. At the end of the defined period. and so on. Value 0 means not applicable. and so on. in which all purchases are at a given rate.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="currency" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. all throughout a defined period. consumption is initially zero.consumptionTier"> <xs:annotation> <xs:documentation>In case of common flat-rate pricing for power.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="cpp" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec.<xs:documentation>Commodity being measured.ch/TC57/2010/CIM-schemacim15#ReadingType. If this block of energy is consumed before the end of the period.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="consumptionTier" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec. power. which can be used in conjunction with TOU or CPP pricing. At the start of the defined period.ch/TC57/2010/CIM-schema-cim15#ReadingType.ch/TC57/2010/CIM-schemacim15#ReadingType. 'consumptionTier'=0. When combined with 'unit'.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="unit" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.multiplier"/> <xs:element name="phases" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. respectively.</xs:element> <xs:element name="measurementKind" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schemacim15#ReadingType. 'power' can be combined in a similar way with various power units of measure: Distortion power ('distortionVoltAmperes') with 'kVA' is different from 'power' with 'kVA'. The sytem that receives readings directly from the meter therefore must perform this transformation before publishing readings for use by the other enterprise systems. For example.ch/TC57/2010/CIM-schemacim15#ReadingType. Value 0 means not applicable. while enterprise applications however commonly assume the demand (in kW or kVAr) normalised to 1 hour.measuringPeriod"> <xs:annotation> <xs:documentation>Time attribute inherent or fundamental to the reading value (as opposed to 'macroPeriod' that supplies an "adjective" to describe aspects of a time period with regard to the measurement).ch/TC57/2010/CIM-schema-cim15#ReadingType.ch/TC57/2010/CIM-schema-cim15#ReadingType. while with 'kVAh' or 'kVArh'. it indicates apparent energy and reactive energy.ch/TC57/2010/CIM-schema-cim15#ReadingType. the meterReadings schema would carry the 'hourly' interval size information. For example. The scalar used is chosen based on the block size (not any sub-interval size). However in the case of an hourly sampled voltage value.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="measuringPeriod" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.unit"/>  A-53  . 'energy' with a unit of measure of 'kWh' indicates to the user that active energy is being measured. an hourly interval of consumption data would have value 'hourly' as an attribute.tou"> <xs:annotation> <xs:documentation>Time of use (TOU) bucket the reading value is attributed to. It refers to the way the value was originally measured and not to the frequency at which it is reported or presented. it provides detail to the unit of measure. as refinement of 'commodity'.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="multiplier" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> <xs:documentation>It is common for meters to report demand in a form that is measured over the course of a portion of an hour.ch/TC57/2010/CIM-schema-cim15#ReadingType.measurementKind"> <xs:annotation> <xs:documentation>Identifies "what" is being measured.phases"/> <xs:element name="tou" type="xs:integer" minOccurs="0" sawsdl:modelReference="http://iec. <xs:element name="argument" type="m:RationalNumber" minOccurs="0" sawsdl:modelReference="http://iec.Names"> <xs:annotation> <xs:documentation>All names of this identified object.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="dateTime" type="xs:dateTime" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="interharmonic" type="m:ReadingInterharmonic" minOccurs="0" sawsdl:modelReference="http://iec.reason"> <xs:annotation> <xs:documentation>Reason code or explanation for why an object went to the current status 'value'..interharmonic"> <xs:annotation> <xs:documentation>Indication of a "harmonic" or "interharmonic" basis for the measurement. 4 where the measure needs an argument such as CEMI(n=4)).ch/TC57/2010/CIM-schema-cim15#IdentifiedObject.g. Value 0 in 'numerator' and 'denominator' means not applicable.ch/TC57/2010/CIMschema-cim15#Status"> <xs:annotation> <xs:documentation>Current status information relevant to an entity.e.</xs:documentation> <xs:documentation>Value 0 in 'numerator' and 'denominator' means not applicable.ch/TC57/2010/CIM-schemacim15#ReadingType..</xs:documentation> </xs:annotation> </xs:element> <xs:element name="reason" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.dateTime"> <xs:annotation> <xs:documentation>Date and time for which status 'value' applies. Most arguments used in practice however will be integers (i.argument"> <xs:annotation> <xs:documentation>Argument used to introduce numbers into the unit of measure description where they are needed (e.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Names" type="m:Name" sawsdl:modelReference="http://iec. 'denominator'=1).ch/TC57/2010/CIM-schemacim15#ReadingType.</xs:documentation>  A-54  .</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Status" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Status.ch/TC57/2010/CIM-schema-cim15#Status. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="UsagePoint" sawsdl:modelReference="http://iec.</xs:annotation> </xs:element> <xs:element name="remark" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Status.value"> <xs:annotation> <xs:documentation>Status value at 'dateTime'.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="mRID" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec. however.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence>  A-55  .mRID"> <xs:annotation> <xs:documentation>A Model Authority issues mRIDs. prior status changes may have been kept in instances of activity records associated with the object to which this status applies.ch/TC57/2010/CIM-schemacim15#IdentifiedObject.ch/TC57/2010/CIM-schema-cim15#IdentifiedObject. Given that each Model Authority has a unique id and this id is part of the mRID. then the mRID is globally unique.remark"> <xs:annotation> <xs:documentation>Pertinent information regarding the current 'value'.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="value" type="xs:string" minOccurs="0" sawsdl:modelReference="http://iec.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Names" type="m:Name" minOccurs="0" maxOccurs="unbounded" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#Status.</xs:documentation> <xs:documentation>For CIMXML data files the mRID is mapped to rdf:ID or rdf:about attributes that identifies CIM object elements.</xs:documentation> <xs:documentation>Global uniqeness is easily achived by using a UUID for the mRID.ch/TC57/2010/CIM-schema-cim15#UsagePoint"> <xs:annotation> <xs:documentation>Logical or physical point in the network to which readings or events may be attributed. It is strongly recommended to do this. Used at the place where a physical or virtual meter may be located. as free form text.Names"> <xs:annotation> <xs:documentation>All names of this identified object. it is not required that a meter be present. </xs:complexType> <xs:simpleType name="StringQuantity" sawsdl:modelReference="http://iec.ch/TC57/2010/CIM-schema-cim15#StringQuantity"> <xs:annotation> <xs:documentation>Quantity with string value (when it is not important whether it is an integral or a floating point number) and associated unit information.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> </xs:schema>  A-56  . REQ-B1003-Send an on-demand meter reading.0 clause 5.The AMI System shall have the ability to provide meter reads on demand. Off nominal and error requirements Use Case B1 REQ0220 .REQ0212 .Appendix B: Requirements Tested CIM 61968-9 v1.The ReplyMeterReading message shall contain a valid subset of information data items specified in IEC 61968-9 part9: MeterReading (need copy of) message type. at least 45 days).2. AMI ENT Requirement.The GetMeterReading message shall contain a valid subset of information data items specified in IEC 61968-9 part9: MeterReading message type.3 .0 clause 5.The AMI Head End shall be able to re-transmit ondemand requests to the Meter after a configurable time with no response.REQ-B1002-Receive an on-demand meter reading.  B-1  .2.4. CIM 61968-9 v1.smartgridipedia. AMI ENT Requirement. See http://www.4.2. SCE Use Case B1 v1.The Meter Data Unification System shall have the ability to issue an on demand read request to retrieve missing/incomplete data for any period(s) present in the Meter (i.org/images/7/7a/ARCHB1USECASEv12050106.pdf AMI ENT Requirement REQ-B1001-Request an on-demand meter reading. Use Case B1 REQ0223 .e. SCE Use Case B1 v1.REQ0056 .The Meter Data Unification System shall record the source of all meter data. for all Meters with missing/incomplete data.3 .2. . . .epri.com) conducts research and development relating to the generation. California 94303-0813 USA 800.C. Palo Alto.2121 • askepri@epri. (EPRI. Inc. including reliability.855. Knoxville. Palo Alto.com • www. EPRI brings together its scientists and engineers as well as experts from academia and industry to help address challenges in electricity. EPRI’s principal offices and laboratories are located in Palo Alto. Mass.313. and international participation extends to 40 countries. All rights reserved. 1024444 Electric Power Research Institute 3420 Hillview Avenue. safety and the environment. EPRI.. and TOGETHER. Charlotte.. Together. efficiency. Calif. health.3774  • 650.SHAPING THE FUTURE OF ELECTRICITY are registered service marks of the Electric Power Research Institute. and Lenox. Electric Power Research Institute. and supports research in emerging technologies. policy and economic analyses to drive long-range research and development planning. N..com . Inc. Tenn.Shaping the Future of Electricity Program: IntelliGrid © 2011 Electric Power Research Institute (EPRI). EPRI’s members represent more than 90 percent of the electricity generated and delivered in the United States. California 94304-1338 • PO Box 10412.The Electric Power Research Institute Inc. www. delivery and use of electricity for the benefit of the public...epri. nonprofit organization. An independent. EPRI also provides technology...
Copyright © 2024 DOKUMEN.SITE Inc.