Internt notat Arbejdspapir Systemdesign Dato: 6. september 2004 Sagsnr.: 5564 Dok.nr.: 202542 v2 Reference: PMO/PMO Beskrivelse af Eltra XML-struktur 1. Indhold Dette er beskrivelsen af den XML-struktur, som benyttes til kommunikation af køreplan, regulerkraftbud, regulerkraftbestillinger og regulerkraftafstemning mellem produktionsbalanceansvarlige aktører og Eltra. Strukturen er udarbejdet i forbindelse med PUDDEL projektet. Denne XML-struktur, eller en let revideret version, kan også benyttes af alle produktionsbalanceansvarlige aktører fra 1. januar 2005, PUDDEL eller ej. 2. Strukturen 2.1 Generelt XML-strukturen bygger i nogen grad på EDIEL-strukturen. På den måde er det muligt, at konvertere XML til EDIEL og omvendt. Strukturen er defineret i 4 XML schemaer. eltra-xml-core, indeholder typer som benyttes af de 3 øvrige schemaer eltra-xml-delfor, struktur til udveksling af tidsserier (køreplan, regulerkraftbestillinger og afstemning af regulerkraft mm.) eltra-xml-quote, struktur til udveksling af regulerkraftbud eltra-xml-aperak, struktur til udveksling af kvittering/aperak på modtagne meddelelser XML-strukturen vil naturligvis kunne blive revideret. Sker dette, vil den nye version af strukturen være afspejlet i navnet på schema filerne. Den nuværende version og release, er version 1, release 1. Dette afspejles i navnet på xsd/schema filerne og i rodelementet, attributterne SchemaVersion og SchemaRelease. eltra-xml-core-v1r1.xsd eltra-xml-delfor-v1r1.xsd eltra-xml-delfor-v1r1.xsd eltra-xml-aperak-v1r1.xsd
Internt notat 202542 2 Normalt ville man referere til schemaerne med en reference til en web-server. Det har vi af forskellige årsager valgt ikke at gøre. Hvordan man i XML-filerne vil referere til schema, er nærmest et spørgsmål om "religion". Derfor angives version og release af schema, som XML-filen skal valideres mod, i rodelementets attributter. Eltra vil i valideringen af XML-filerne se bort fra alt hvad der står mellem <?xml version="1.0" encoding="utf-8"?> og rodelementet. Navnet på schemaet som XMLfilen valideres imod, vil blive bestemt af rodelementet og rodelementets attributter, SchemaVersion og SchemaRelease. Benyt altid UTF-8 encoding i XML-filer som benytter Eltra's schemaer. Aktører vil i god tid blive notificeret om eventuel nye schema versioner. Eksempler på en eltra-xml-delfor, eltra-xml-quote og eltra-xml-aperak XML-fil, vil snarest blive lagt ud på ftp1.eltra.dk (brugernavn eltraftp, password eltraftp). 2.2 eltra-xml-core Dette schema indeholder typer som benyttes af de øvrige 3 schemaer. TMessageId Max 35 kar Unikt id på meddelelse TRoutingaddress Routingadresse ELTRA-KPL ELTRA-BUD ELTRA-REG ELTRA-REGSTA ELTRA-ONLINE PUDDEL-IMPORT PUDDEL-EKSPORT
Internt notat 202542 3 TMessageTimestamp Genereringstidspunkt for meddelelsen i GMT yyyy-mm-ddthh:nn:ssz Benyttes til at identificere part/aktør Attribut IdType Beskriver hvordan Party er angivet Attribut Country Beskriver landet for Party Attribut Area Beskriver prisområde for Party EAN SHORTNAME DK DK1 EAN eller kortnavn kan benyttes til identifikation EAN hvis Party er angivet med EAN og SHORTNAME hvis der benyttes kortnavn DK1 dækker hele Eltra's område (DK2 = Elkraft) TSender Afsender af meddelelsen TReceiver Modtager af meddelelsen TTimeInterval Tidsinterval i GMT token yyyy:mm:ddthh:nnz/yyyy: mm:ddthh:nnz
Internt notat 202542 4 2.3 eltra-xml-delfor Strukturen benyttes til køreplaner fra aktøren til Eltra og regulerkraftbestillinger og regulerkraftopgørelser fra Eltra til aktøren. Meddelelsen skal altid indeholde ét helt døgn. Strukturen kan bruges til udveksling af tidsserier generelt. I PUDDEL projektet, vil strukturen derfor også blive brugt til import og eksport til og fra PUDDEL systemet. Strukturen er opdelt i en MessageHeader og Timeseries del. MessageHeader består af typer fra eltra-xml-core. Figur 2.3.1: Elementer i eltra-xml-delfor, MessageHeader, stammer alle fra eltra-xmlcore. Sender og Receiver er af typen og ScheduleTimeinterval er af typen TTimeInterval. Resten skal der blot sættes et T foran, så har man core typen. TimeSeries indeholder én eller flere tidsserier og hver tidsserie består af en header del (TsHeader) og en data del (TsData) Figur 2.3.2: Elementer i eltra-xml-delfor, Timeseries.
Internt notat 202542 5 TsHeader: TsId Unikt id på tidsserien (Id til køreplan er defineret i "Krav til PBA") PCode Produktkode for typen af data (effekt, energi, priser mm.) positiveinteger minincl = 1000 maxincl = 9999 Valgfri Unit Enheden som data i TsData er opgivet i token MW MWH KW KWH DKK DKK/MWH DataTimeinterval Angiver tidsinterval som data er opgivet med under TsData. Angiv altid starttiden for et datapunkt PT0M PT5M PT15M PT1H Til effekttidsserier benyttes PT0M Til timeenergi benyttes PT1H Party1 Part 1 Party2 Part 2 Valgfri
Internt notat 202542 6 TsData: TimeFrom yyyy-mm-ddthh:nnz Starttid i GMT, for datapunkt Til effektserier angives tidspunktet for effektværdien Til energiserier angives starttidspunktet for datapunktets tidsinterval Quantity Værdi decimal Attribut Status Angiver status på værdi Enumeration: PL MG RE Benyt altid PL Guide til eltra-xml-delfor: MessageHeader MessageId: Unikt id på meddelelsen. Routingadresse: Køreplan til Eltra = ELTRA-KPL Regulerkraftbestilling fra Eltra = ELTRA-REG Regulerkraftopgørelse fra Eltra = ELTRA-REGSTA Online data fra Eltra = ELTRA-ONLINE PUDDEL dataimport = PUDDEL-IMPORT PUDDEL dataeksport = PUDDEL-EKSPORT MessageTimestamp: Tidspunkt for generering af meddelelsen i GMT Sender: Afsender, benyt EAN Receiver: Modtager, benyt EAN ScheduleTimeinterval: Interval som data ligger inden for. Altid svarende til ét helt døgn TimeseriesHeader TsId: PCode: Unit: DataTimeInterval: Id på tidsserie (Køreplan defineret i "Krav til PBA") Produktkode (valgfri, benyttes ikke i PUDDEL) Enhed på data i serien (MW, MWH, KW, KWH, DKK eller DKK/MWH) Angiver tidsinterval som data er opgivet med. Benyt PT0M ved effektværdier (køreplan) og PT1H ved timeenergiplaner.
Internt notat 202542 7 Party1 Party2 TsData TimeFrom: Quantity: Part 1 i tidsserien Part 2 i tidsserien Starttid på datapunkt i GMT Værdi af datapunkt. Attributten Status sættes i PUDDEL sammenhæng altid til PL (= værdi ok) 2.4 eltra-xml-quote Strukturen benyttes til at sende regulerkraftbud fra aktøren til Eltra. Meddelelsen må kun indeholde bud for ét og samme døgn. Strukturen er opdelt i en MessageHeader og Bid del. MessageHeader består af typer fra eltra-xml-core. Figur 2.4.1: Elementer i eltra-xml-quote, MessageHeader, stammer alle fra eltra-xmlcore. Sender og Receiver er af typen og ScheduleTimeinterval er af typen TTimeInterval. Resten skal der blot sættes et T foran, så har man core typen.
Internt notat 202542 8 Bid indeholder ét eller flere regulerkraftbud. Figur 2.4.2: Elementer i eltra-xml-quote, Bid. Bid: Reference Unik reference på budet Max 35 kar BidParty Angivelse af part/aktør bag budet PowerStation Kortnavn på værk bag budet. Værket hvor reguleringen vil blive foretaget Valgfri
Internt notat 202542 9 Price Pris for reguleringen decimal Attribut: Currency Valuta som pris er opgivet i fracdig: 2 DKK Opgives med to decimaler BidQuantity Budets størrelse integer Attribut: Unit Enhed som bud størrelse er opgivet i MW BidTimeInterval TTimeInterval Guide til eltra-xml-quote: MessageHeader MessageId: Unikt id på meddelelsen. Routingadresse: ELTRA-BUD MessageTimestamp: Tidspunkt for generering af meddelelsen Sender: Afsender, benyt EAN Receiver: Modtager, benyt EAN ScheduleTimeinterval: Interval som data ligger inden for. Altid svarende til ét helt døgn Bid Reference: Unikt id på budet BidParty: Part/aktør bag budet PowerStation: Valgfri, men her kan kortnavn på værket hvor budet ligger angives (specialregulering) Price: Prisen på budet opgives med 2 decimaler. Valuta er DKK BidQuantity: Budets størrelse, enheden MW BidTimeInterval: Tidsinterval som budet udbydes i (Hele klokkeslæt, 2004-09- 06T16:00Z/2004-09-06T17:00Z) Altid kun én times interval for regulerkraftbud
Internt notat 202542 10 2.5 eltra-xml-aperak Strukturen benyttes til APERAK/kvittering på meddelelser fra aktøren til Eltra og fra Eltra til aktørerne. I APERAK angives en status på validering og evaluering af den modtagne meddelelse som kvitteringen sendes for. Strukturen er opdelt i en MessageHeader og Aperak del. MessageHeader består af typer fra eltra-xml-core. Figur 2.5.1: Elementer i eltra-xml-aperak, MessageHeader. Stammer alle fra eltra-xmlcore. Sender og Receiver er af typen. Resten skal der blot sættes et T foran, så har man core typen. APERAK indeholder informationer om validering og evalueringen af en meddelelse. Figur 2.5.2: Elementer i eltra-xml-aperak, Aperak.
Internt notat 202542 11 Aperak: TransactionId MessageId på den meddelelese som APERAK sendes for TMessageId TransactionTimestamp MessageTimestamp på meddelelse som APERAK sendes for TMessagetimestamp RMParty Id på modtager af APERAK Valgfri Reason Indeholder 4 underliggende elementer som tilsammen beskriver resultatet af valideringen og evalueringen af meddelelsen som APERAK sendes for Code Kode som beskriver resultatet af evalueringen positiveinteger Se tabel 2.6.1 Code afgør suverænt om en APERAK er positiv (accept) eller negativ (afvist) CodeText Tekst til fejlkode i Code elementet token Se tabel 2.6.1 Valgfri CodelistResp Angiver ansvarlig for fejlkodelisten ELT
Internt notat 202542 12 DetailText Fritekst til nærmere beskrivelse af eventuel fejl token Max 140 kar Valgfri Guide til eltra-xml-aperak: MessageHeader MessageId: Unikt id på meddelelsen. MessageTimestamp: Tidspunkt for generering af meddelelsen Sender: Afsender, benyt EAN Receiver: Modtager, benyt EAN Aperak TransactionId: TransactionTimestamp: Code: CodeText: CodelistResp: DetailText: MessageId på den meddelelse som APERAK sendes for MessageTimestamp på den meddelelse som APERAK sendes for Angiv fejlkode som beskriver resultatet af validering og evaluering af meddelelsen som APERAK sendes for (tabel 2.6.1) Her kan angives fejlkodetekst som svarer til fejlkode, Code (tabel 2.6.1) Benyt ELT Her kan angives en uddybende fejlbeskrivelse i fritekst
Internt notat 202542 13 2.6 APERAK fejlkodeliste Code CodeText Bemærkning 12 Not processed. 27 Not accepted. 29 Accepted without amendment. Alt andet end denne kode er at betragte som en afvisning af meddelelsen 34 Accepted with amendment. 40 The application could not process the message. 41 Required data missing. 42 Error in content of a data element. 50 Error in the message period (e. g. the data in the message is too old). 51 The message was received too late (e. g. time critical DELFOR message). 100 The object is approved. 101 The object is not processed. 999 General error (an error description should be stated in the FTX segment). Tabel 2.6.1: Det er muligt at angive i alt 12 forskellige evalueringskoder i APERAK. Alt andet end en kode 29, skal betragtes om en afvisning af meddelelsen som APERAK sendes for. Det er altid afsender af en meddelelse som er ansvarlig for, at tage action hvis der ikke modtages en APERAK for afsendt meddelelse. Der sendes naturligvis ikke en APERAK for modtagelse af en anden APERAK.