1 (52) RIKTLINJE Skapat av (Efternamn, Förnamn, org) DokumentID Ev. ärendenummer Jonsson Lars, Tvinit TDOK 2011:256 [Ärendenummer] Fastställt av Dokumentdatum Version [Fastställt av] 2012-02-29 3.1.2 Dokumenttitel RSMP – Kommunikationsprotokoll vägsidesutrustning 1 Innehållsförteckning 1! INNEHÅLLSFÖRTECKNING ...................................................................... 1! 2! DEFINITIONER .......................................................................................... 3! 3! INLEDNING ............................................................................................... 5! 3.1! BAKGRUND .................................................................................................................... 5! 4! SYFTE ......................................................................................................... 6! 4.1! IDENTIFIERADE BEHOV .................................................................................................. 6! 5! TILLÄMPNING ........................................................................................... 7! 5.1! OMFATTNING ................................................................................................................. 7! 5.1.1! Ansvar .................................................................................................................................. 7! 5.2! OBJEKTMODELL............................................................................................................. 7! 5.3! TRANSPORT AV DATA ...................................................................................................... 8! 5.3.1! Etablering av kommunikation ............................................................................................8! 5.3.2! Kommunikationsavbrott ....................................................................................................8! 5.3.3! Transport mellan anläggning och överordnat system .....................................................8! 5.3.4! Transport mellan anläggningar ........................................................................................8! 5.4! GRUNDSTRUKTUR .......................................................................................................... 9! 5.4.1! Larmmeddelanden ............................................................................................................ 10! 5.4.2! ”Aggregerad status”-meddelanden .................................................................................. 17! 5.4.3! Statusmeddelanden .......................................................................................................... 20! 5.4.4! Styrnings- och kommandomeddelanden .........................................................................26! 5.4.5! Kvittering på att meddelande mottagits ..........................................................................29! 5.4.6! RSMP/SUL Version ........................................................................................................... 32! 5.4.7! Watchdog ........................................................................................................................... 34! 5.5! TILLÄMPNING AV JSON ............................................................................................... 36! 5.5.1! Motsvarighet av termer .................................................................................................... 36! 5.5.2! Wrapping av paket ........................................................................................................... 37! 5.5.3! Larmmeddelanden ........................................................................................................... 38! 5.5.4! ”Aggregerad status”-meddelande ................................................................................... 40! 5.5.5! Statusmeddelanden ...........................................................................................................42! 5.5.6! Styrnings- och kommandomeddelanden ......................................................................... 47! 5.5.7! Kvittering på att meddelande mottagits ..........................................................................49! 5.5.8! RSMP/SUL Version ...........................................................................................................50! 5.5.9! Watchdog ........................................................................................................................... 51! TDOK 2010:21_Mall Riktlinje v. 1.0 2 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 6! ÄNDRINGSLOGG...................................................................................... 52! TDOK 2010:21_Mall Riktlinje v. 1.0 3 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 2 Definitioner Begrepp Betydelse SUL Signalutbyteslista NTS Nationellt TrafikledningsStöd. System för trafikledningscentral. Ersätter CTS TLC Trafikledningscentral Maximo Trafikverkets stödsystem för drifthantering ITS-anläggning Lokal vägsidesutrustning. Innefattar både fältnivå och lokalnivå Anläggning Lokal vägsidesutrustning Överordnat system Objekt Se ITS-anläggning Se ITS-anläggning Övervaknings- och styrsystem på regional- och/eller nationell nivå Ett objekt är ett abstrakt begrepp som existerar i styr- och övervakningssystem. Ett objekt har en eller flera status som kan ändras på grund av förändringar inom objektet eller genom styrning av objektet utifrån. Kommunikation med objektet sker genom utbyte av signaler för t.ex. styrning, status- och larmrapportering. Objekt kan motsvaras av en fysisk utrustning t.ex. en kamera, men kan också vara ett abstrakt ting såsom en algoritm. Aggregerat objekt Objekttyp Ett objekt identifieras av objektets komponent-ID. Observera att objekt ej är samma sak som NTS-objekt. Avser gruppering av flera andra objekt, en så kallad komponentgrupp (component group (CG)). En objekttyp är en klassificering av objekt som styr ett antal egenskaper hos de objekt som tillhör samma objekttyp. Objekttypen styr bland annat hur objektet visas i styr och övervakningssystemet, hur det grupperas och vilka funktionslägen, larmkoder, händelser NTS-Objekt och mätningar som är möjliga. Avser objekt i NTS. Alla styr- och övervakningsfunktioner i NTS är uppbyggd kring NTSobjekt. Ett NTS-objekt kan representera ett eller flera objekt NTS-objekt identifieras i kommunikationsgränssnitt via det som i RSMP benämns externalNtsId. Detta då gränssnittet mot NTS ej kan hantera det format som används för komponent-ID NTS-objekt och objekt kan ha samma komponent-ID TDOK 2010:21_Mall Riktlinje v. 1.0 4 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 NTS-Objekttyp Komponent Komponent-ID En NTS-objekttyp är en klassificering av NTS-objekt. Styr bland annat vilka funktionslägen som är möjliga för NTS-objektet. Avser objekt eller NTS-objekt. Komponenter betecknas med komponent-ID. Avser komponentidentitet enligt Trafikverkets publikation 2007:54 ISSN 1401-9612 XML Komponent-ID är på format AA+BBCDD=EEEFFGGG. eXtensible Markup Language JSON JavaScript Object Notation TCP/IP Transfer Control Protocol/Internet Protocol W3C World Wide Web Consortium DATEX II Europeisk standard för meddelandeutbyte mellan trafikala system. (www.datex2.eu) RSMP Road Side Message Protocol TDOK 2010:21_Mall Riktlinje v. 1.0 5 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 3 Inledning Detta dokument redovisar ett generellt protokoll för kommunikation mellan överordnade system och anläggningar samt kommunikation direkt mellan anläggningar. Syftet är att kunna erbjuda ett standardiserat protokoll som fungerar på samma sätt oavsett leverantör eller typ av anläggning. 3.1 Bakgrund Historisk har Trafikverket haft en regional organisationsstruktur som ansvarat för upphandling och förvaltning av tekniska system, inklusive ITS-anläggningar. Detta har inneburit att olika regioner har haft olika krav på funktionalitet och gränssnitt mot överordnade system. Trafikverket har dessutom varit beroende av teknikområdes- och leverantörsspecifika kommunikationsprotokoll, vilket lett till begränsade möjligheter att samordna förvaltning och drift mellan olika teknikområden och regioner. Trafikverket har idag en nationell organisation för förvaltning av tekniska anläggningar och system. Inom denna organisation ligger ansvar för att skapa en enhetlig struktur och kravbild på Trafikverkets tekniska system. Detta för att: • Underlätta införande, förvaltning och drift av anläggningar • Underlätta för leverantörsmarknaden att ta fram koncept och lösningar som fungerar nationellt och inte kräver regionala anpassningar. På detta sätt ges förutsättningar att uppnå en enhetlig funktionalitet mot trafikant, drift- och underhåll, förvaltning och trafikledningscentral. I förlängningen kan Trafikverket på detta sätt få bättre effekt av gjorda investeringar. För att skapa en långsiktigt hållbar systempark som är uppgraderingsbar och skalbar har nedanstående grova systemarkitektur tagits fram. Arkitekturen bygger på att man skapar ett antal nivåer med väldefinierade gränssnitt mot överliggande, respektive underliggande nivå. På detta sätt kan man införa ny funktionalitet, uppgradera eller byta ut ett system på respektive nivå utan att påverka andra system eller verksamheter. Figur&1.&Principiell&systemarkitektur& TDOK 2010:21_Mall Riktlinje v. 1.0 6 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 4 Syfte Syftet med detta protokoll är att skapa ett standardiserat sätt att kommunicera mellan system på lokalnivå och system på regionalnivå oavsett leverantör och teknikområde. Målet är att enkelt kunna lägga till och ta bort signaler i nya anläggningar och applikationer utan att behöva utöka eller förändra standarder och riktlinjer. Detta innebär att protokollet, till skillnad mot många andra standarder och protokoll, inte omfattar detaljinformation om signalutbytet utan är inriktat på att definiera signaltyper som sedan beskrivs anläggnings- eller objektsspecifikt. Målsättningen är att man på sikt, baserat på installerade anläggningar och objekt, får fram ett erfarenhetsbaserat signalutbyte för typobjekt som kan återanvändas i nya upphandlingar så att larmtexter, kommandon etc. får samma benämning oavsett anläggning eller leverantör. Syftet med signalutbytet som ska skickas via detta kommunikationsprotokoll är bl.a. att kommunicera information som berör exempelvis trafikledare, driftledare och förvaltare. Det vill säga information som behövs för att övervaka och styra anläggningen, samt information som kan användas för statistik och analys av trafik- och anläggningsstatus. Exempelvis ska fellarm innehålla tillräcklig information för att kunna lägga en arbetsorder i Maximo som sedan skickas till driftentreprenör, dvs. tillräcklig information om vilken typ av kompetens och utrustning som krävs för att åtgärda felet. Detaljinformation om ett larm (ex. vilket I/O-kort som gått sönder, vilken LED-kedja som är ur funktion, etc.) avläses på plats via leverantörsspecifik webbgränssnitt eller operatörspanel. 4.1 Identifierade behov För att åstadkomma ett teknikområdes och leverantörsoberoende informationsutbyte har fem meddelandetyper identifierats för att täcka all tänkbar information som Trafikverket har behov av. Informationen i respektive meddelandetyp är dynamisk och definieras per anläggningstyp eller specifik anläggning i en specifik signalutbyteslista (SUL). Denna lista utgör även gränssnittet mellan överordnat system/andra anläggningar och en anläggning. De fem meddelandetyperna är: • Larm, trafikala eller drifttekniska händelser som kräver åtgärd från trafik- eller driftingenjör. Skickas från anläggning till överordnat system vid uppkomst • Aggregerad status. En aggregerad status som ger en översikts bild av anläggningens status. Skickas från anläggning vid förändring eller vid uppkoppling mot överordnat system • Status, statusförändringar, indikeringar och detaljerad information som ska loggas eller synliggöras på överordnad nivå. Skickas vid förfrågan från överordnat system/annan anläggning eller via prenumeration - antingen vid förändring av status eller enl. tidsintervall • Styrning och kommandon, skickas från överordnat system eller annan anläggning för att förändra anläggningens/objektets status eller styrprincip För mer information om meddelandetypernas uppbyggnad, se avsnitt 5.4. TDOK 2010:21_Mall Riktlinje v. 1.0 7 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5 Tillämpning 5.1 Omfattning Dokumentet är en generisk gränssnittsspecifikation för RSMP-gränssnittet som beskriver protokollets överföringsmekanismer och funktion. Dokumentet är en specifikation som tillåter många tillämpningar inom och utom Trafikverket. Dokumentet vänder sig till de som har behov av att implementera ett RSMP-gränssnitt. 5.1.1 ANSVAR Trafikverket tillhandahåller denna gränssnittsspecifiktion endast som information. Trafikverket tar inte ansvar för eventuella konsekvenser som implementering av specifikationen kan medföra för leverantören eller tredje part. 5.2 Objektmodell Detta protokoll använder sig av Datex II (datex2.eu) metamodell för sin objektmodell. Metamodellen består av ett antal regler för att beskriva hur klasser och objekt ska definieras. Anledningen till att man valt att använda sig av Datex II metamodell är att man på sikt ska kunna gå vidare med detta protokoll till en internationell standard som senare kan inkluderas objektmodellen för Datex II. Protokollets objektmodell är teknikoberoende d.v.s. kan implementeras på olika sätt t.ex. med hjälp av ASN.1, JSON eller XML. XML-schema (.xsd) eller JSON-schema för protokollet tillhandahålls av Trafikverket vid behov. I kapitel 5.4 redovisas samtliga exempel i XML-format för tydlighetens skull. Men vid kommunikation mellan anläggning och överordnade system/annan anläggning så ska JSON-format användas. I kapitel 5.5 redovisas alla meddelandetyper i både XML och JSON sida vid sida. Objekt som används för meddelandeutbyte är Alarm med underklasserna Issue, Acknowledge och Suspend. För övriga objekt finns klasserna AggregatedStatus, StatusRequest, StatusResponse, CommandRequest, CommandResponse, Watchdog, MessageAck, MessageNotAck. För utförlig information om hur dessa klasser används se kapitel 5.4 Grundstruktur. TDOK 2010:21_Mall Riktlinje v. 1.0 8 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.3 Transport av data Meddelandeflödet skiljer mellan olika typer av meddelanden. Vissa meddelanden är händelsestyrda och skickas utan att de efterfrågas (push), medan andra är interaktionsstyrda, dvs. de skickas som svar på en förfrågan från överordnat system eller annan anläggning (client-server). För att säkerställa att meddelanden kommer fram till sin mottagare så inkluderas meddelandekvittering på alla meddelanden som skickas. Detta ger applikationen ett enkelt sätt att följa upp meddelandeutbytet. För att kommunicera mellan anläggningar och överordnat system/annan anläggning så används en ren TCP-anslutning (i TCP/IP), och data som skickas bygger på JSON-format, det vill säga formaterad text. 5.3.1 ETABLERING AV KOMMUNIKATION Vid etablering av kommunikation skickas meddelanden i följande turordning. 1. 2. 3. 4. RSMP/SUL-version (enl. kapitel 5.4.6) Watchdog (enl. kapitel 5.4.7) Aggregerad status (enl. kapitel 5.4.2) Samtliga aktiva och blockerade larm skickas (enl. kapitel 5.4.1) Larm som ej skickas tolkas som icke-aktiva och icke-blockerade av överordnat system. 5. Eventuella kvarliggande meddelanden i utrustningens utgående kommunikationsbuffert skickas 6. Eventuella prenumerationer på statusmeddelanden etableras; eftersom dessa automatiskt upphör vid kommunikationsavbott 5.3.2 KOMMUNIKATIONSAVBROTT Vid händelse av kommunikationsavbrott så lagras utgående meddelanden i utrustningens kommunikationsbuffert. Så snart kommunikationen är återupprättad så skickas samtliga meddelanden i kommunikationsbufferten. Eventuella prenumerationer på statusmeddelanden upphör ifall kommunikationsavbrott inträffar. Vid händelse av kommunikationsavbrott eller strömavbrott får utgående kommunikationsbuffert hos utrustning ej tömmas, detta gäller dock ej watchdog-meddelanden. Den interna kommunikationsbufferten hos utrustningen måste som minimum vara dimensionerad till att kunna lagra 1000 meddelanden. Vid full kommunikationsbuffert ska FIFO-princip tillämpas. 5.3.3 TRANSPORT MELLAN ANLÄGGNING OCH ÖVERORDNAT SYSTEM Överordnat system agerar server, och väntar på att anläggning ska ansluta sig. Skulle kommunikationen fallera så är det anläggningens ansvar att koppla upp sig igen. 5.3.4 TRANSPORT MELLAN ANLÄGGNINGAR Ena anläggningen agerar server, och väntar på att en annan anläggning ska ansluta sig. Skulle kommunikationen fallera så är det den anslutande anläggningens ansvar att koppla upp sig igen. TDOK 2010:21_Mall Riktlinje v. 1.0 9 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4 Grundstruktur För alla meddelanden används teckenuppsättningen Unicode (ISO 10646) och kodning enligt UTF-8. Samtliga meddelanden ser ut på följande sätt i sin grundläggande form. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="UTF-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Alarm"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> </message> </roadSideMessage> XML8kod&1:&Grundstruktur&för&ett&XML8meddelande.&I&detta&exempel&så&är&meddelandetypen&satt&som&larmmeddelande&& Följande tabell beskriver tillåtet innehåll i meddelandet. Element messageId Värde (GUID) ntsObjectId (valbar) (enl. SUL) externalNtsId (valbar) (enl. SUL) Beskrivning Meddelandeidentitet. Genereras som ett GUID (Globally unique identifier) i den utrustningen som skickade meddelandet. Endast version 4 av Leach-Salz UUID används. Används som referens för meddelandekvitteringen Komponent-ID för det NTS-objekt vilket meddelandet relaterar till. Identitet för att identifiera berört NTS-objektet i kommunikation mellan NTS och andra system. Format är 5 siffror Integer. (Benämns i SL31 Object-Identity) Definieras i samråd med representanter från NTS. Unik för anläggningen. componentId (enl. SUL) Komponent-ID för det objekt vilket meddelandet relaterar till. TDOK 2010:21_Mall Riktlinje v. 1.0 10 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4.1 LARMMEDDELANDEN Ett larmmeddelande skickas till överordnat system när • Ett larm blir aktivt/inaktivt • Ett larm kvitteras • Blockering av larm aktiveras eller avaktiveras Vid larmkvittering kvitteras inte en enskild larmhändelse utan samtliga larmhändelser för ett visst objekt med en viss larmkod. Med andra ord; objektet äger statusen på huruvida den är kvitterad eller ej. Detta förhållningssätt förenklar både vid implementering men även vid hantering – ifall många larm skulle inträffa på samma utrustning med kort tidsintervall. Vid larmblockering så blockeras larmmeddelanden med avseende på ett visst objekt och dess larmkod. Uppdatering av objektet sker fortfarande med avseende på andra till objektet knutna larm. Larmmeddelanden är händelsestyrda och skickas till överordnat system när larm inträffar. Kvitteringsmeddelanden och blockeringsmeddelanden är interaktionsstyrda. 5.4.1.1 5.4.1.1.1 Meddelandestruktur Struktur för larmmeddelande Larmmeddelande har samma utformning när det skickas oavsett huruvida meddelandet är ett resultat av att ett larm inträffar, kvitteras eller blockeras; med undantag för taggen ”alarmSpecialisation”. Följande tabell förklarar skillnaden: Element och värde <alarmSpecialisation xsi:type=”Issue”> <alarmSpecialisation xsi:type=”Acknowledge”> <alarmSpecialisation xsi:type=”Suspend”> Betydelse Ett larm blir aktivt/inaktivt Ett larm kvitteras Blockering av ett larm aktiveras eller deaktiveras Ett larmmeddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Alarm"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <alarmCodeId>A001</alarmCodeId> <externalAlarmCodeId>Lampfel på lykta 1 (röd)</externalAlarmCodeId> <externalNtsAlarmCodeId>3143</externalNtsAlarmCodeId> <alarmSpecialisation xsi:type="Issue"> TDOK 2010:21_Mall Riktlinje v. 1.0 11 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <acknowledgeState>notAcknowledged</acknowledgeState> <alarmState>active</alarmState> <suspendState>notSuspended</suspendState> <timestamp>2009-10-01T11:59:31.571Z</timestamp> <category>T</category> <priority>2</priority> <returnvalues> <returnvalue> <name>signalgrupp</name> <value>1</value> </returnvalue> <returnvalue> <name>färg</name> <value>röd</value> </returnvalue> </returnvalues> </alarmSpecialisation> </message> </roadSideMessage> XML8kod&2:&Ett&larmmeddelande&som&indikerar&ett&lampfel&hos&anläggning&AB+84001=860VA001.&& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.1.1.1.1 Huvuddel (xsi:type = Alarm) Element alarmCodeId Värde (enl. SUL) externalAlarmCodeId (valbar) (tillverkarspecifik) externalNtsAlarmCodeId (valbar) (enl. SUL) Beskrivning Larmsuffix som tillsammans med komponent-id identifierar larmet i anläggningen. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Ayyy, där yyy är löpnummer. Tillverkarspecifik larmkod och larmbeskrivning. Fabrikat, modell, larmkod och eventuell larmbeskrivning Larmkod för att identifiera larmtyp i kommunikation mellan NTS och andra system. (Benämns i SL31 Alarm-Code) 5.4.1.1.1.2 Larmstatus Element acknowledegeState alarmState suspendState timestamp Värde acknowledged notAcknowledged inactive active suspended notSuspended (tidsstämpel) Beskrivning larmet är kvitterat larmet är ej kvitterat larmet är inaktivt larmet är aktivt larm är blockerade larm är ej blockerade Tidsstämpel för antingen när larmet inträffar, kvitteras eller blockeras. Se innehållet i alarmSpecialisation för vilken tidsstämpel som avses. TDOK 2010:21_Mall Riktlinje v. 1.0 12 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 Tidsstämpling enligt W3C XML dateTimedefinition med en noggrannhet på 3 decimaler. Tidsstämplingen sker i anläggning och gäller för då larmet inträffar. All tidsstämpling anges i UTC. category T D En bokstav, antingen ”T” eller ”D”. Ett larm tillhör en av två kategorier: T. Trafikala larm D. Drift/tekniska larm Trafikala larm: Utöver tekniska fellarm så finns larm som indikerar händelser i Trafiksystemet eller de tekniska processerna i en anläggning som har trafikpåverkan. Nedan exempel från en tunnel: • Stillastående fordon • Brandlarm • Fel på budskap till trafikant • Fel på bom i nedfällt läge • Hög CO2 nivå i trafikrum • Hög nivå i VA-anläggning • Etc. description (skickas ej) (enl. SUL) priority [0-9] Drift/tekniska larm: Skickas när det blir fel i anläggningen som inte direkt påverkar trafiken. Ett exempel på ett tekniskt fellarm är när en impulsfläkt slutar att fungera. Beskrivningstext för larm. Skickas ej i meddelandeutbytet, men definieras i SUL. (Textinnehållet är valfritt fast har följande krav: • Texten är specifik för typen av objekt • Texten definieras i samråd med Beställaren innan användning) Meddelandets prioritet. Endast följande används: 1 = larm som kräver omedelbar åtgärd. 2 = larm som inte kräver omedelbar åtgärd, men som planeras in under nästföljande arbetspass. 3 = larm som kommer att åtgärdas vid nästa planerade underhållsinsats. 5.4.1.1.1.3 Eventuella returvärden (returnvalue) Element name type (skickas ej) Värde (enl. SUL) (enl. SUL) Beskrivning Unik referens för värdet Värdets datatyp. Definieras i SUL men skickas ej i meddelandet Generell definition: raw Värdet är uttryckt som råvärde scale Värdet är uttryckt som skalvärde unit Värdet uttryckt i enheter string Textinformation integer Numeriskt värde (16-bit signed integer), [-32768 – 32767] TDOK 2010:21_Mall Riktlinje v. 1.0 13 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 long real unit (skickas ej) value 5.4.1.1.2 (enl. SUL) (enl. SUL) Numeriskt värde (32-bit signed long) Flyttal (64-bit double precision floating point) boolean Boolesk datatyp ordinal Representerar index eller nummerordning base64 Binär data uttryckt i base64-format enligt RFC-4648 Värdets enhet. Definieras i SUL men skickas ej i meddelandet Värde från utrustning Struktur för larmkvitteringsmeddelande Ett larmkvitteringsmeddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Alarm"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <alarmCodeId>A001</alarmCodeId> <externalAlarmCodeId>Larmfel på lykta 1 (röd)</externalAlarmCodeId> <externalNtsAlarmCodeId>3143</externalNtsAlarmCodeId> <alarmSpecialisation xsi:type="Acknowledge" /> </message> </roadSideMessage> XML8kod&3:&Ett&larmkvitteringsmeddelande&som&kvitterar&larm& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.1.1.2.1 Huvuddel (xsi:type = Alarm) Element Värde Beskrivning alarmCodeId (enl. SUL) externalAlarmCodeId (valbar) (tillverkarspecifik) externalNtsAlarmCodeId (valbar) (enl. SUL) Larmsuffix som tillsammans med komponent-id identifierar larmet i anläggningen. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Ayyy, där yyy är löpnummer. Tillverkarspecifik larmkod och larmbeskrivning. Fabrikat, modell, larmkod och eventuell larmbeskrivning Larmkod för att identifiera larmtyp i kommunikation mellan NTS och andra system. TDOK 2010:21_Mall Riktlinje v. 1.0 14 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 (Benämns i SL31 Alarm-Code) 5.4.1.1.2.2 Larmkvittering (xsi:type = Acknowledge) (inget innehåll) 5.4.1.1.3 Struktur för larmblockeringsmeddelande Ett larmblockeringsmeddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Alarm"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <alarmCodeId>A001</alarmCodeId> <externalAlarmCodeId>Larmfel på lykta 1 (röd)</externalAlarmCodeId> <externalNtsAlarmCodeId>3143</externalNtsAlarmCodeId> <alarmSpecialisation xsi:type="Suspend"> <suspendAction>suspend</suspendAction> </alarmSpecialisation> </message> </roadSideMessage> XML8kod&4:&Ett&larmblockeringsmeddelande&i&syfte&att&blockera&larm&för&utrustning& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.1.1.3.1 Huvuddel (xsi:type = Alarm) Element Värde Beskrivning alarmCodeId (enl. SUL) externalAlarmCodeId (valbar) (tillverkarspecifik) externalNtsAlarmCodeId (valbar) (enl. SUL) Larmsuffix som tillsammans med komponent-id identifierar larmet i anläggningen. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Ayyy, där yyy är löpnummer. Tillverkarspecifik larmkod och larmbeskrivning. Fabrikat, modell, larmkod och eventuell larmbeskrivning Larmkod för att identifiera larmtyp i kommunikation mellan NTS och andra system. (Benämns i SL31 Alarm-Code) TDOK 2010:21_Mall Riktlinje v. 1.0 15 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4.1.1.3.2 Larmblockering (xsi:type = Suspend) Element suspendAction 5.4.1.2 Värde suspend resume Beskrivning Aktivera blockering av larm Deaktivera blockering av larm Meddelandeutbyte mellan anläggning och överordnat system Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figurer. 5.4.1.2.1 1 5.4.1.2.2 Ett larm blir aktivt/inaktivt Ett larmmeddelande skickas till överordnat system med larmets status (att larmet är aktivt/inaktivt) Ett larm kvitteras från överordnat system 1 Ett kvitteringsmeddelande skickas ner till anläggningen 2 Ett larmmeddelande skickas till överordnat system med larmets status (att kvittering är utförd) TDOK 2010:21_Mall Riktlinje v. 1.0 16 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4.1.2.3 1 5.4.1.2.4 Ett larm kvitteras från anläggning Ett larmmeddelande skickas till överordnat system med larmets status (att kvittering är utförd) Ett larm blockeras/avblockeras från överordnat system 1 Ett blockeringsmeddelande skickas ner till anläggningen 2 Ett larmmeddelande skickas till överordnat system med larmets status (att blockering/avblockering är utförd) 5.4.1.2.5 Ett larm blockeras/avblockeras från anläggning TDOK 2010:21_Mall Riktlinje v. 1.0 17 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 1 5.4.2 Ett larmmeddelande skickas till överordnat system med larmets status (att blockering/avblockering är utförd) ”AGGREGERAD STATUS”-MEDDELANDEN Denna typ av meddelande skickas till överordnat system för att informera om anläggningens status. "Aggregerad status"-meddelanden är händelsestyrda och skickas när driftstatus, funktionsläge eller funktionsstatus ändras i anläggningen. 5.4.2.1 Meddelandestruktur Ett "aggregerad status"-meddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="AggregatedStatus"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>F+40100=416CG100</componentId> <aggstatusTimeStamp>2009-10-02T14:34:34.345Z</aggstatusTimeStamp> <aggregatedStatusSpecialisation> <functionalPosition>Trafikstyrning</functionalPosition> <functionalState>Automatiskt nedsatt hastighet</functionalState> <state> <name>1</name> <state>false</state> </state> <state> <name>2</name> <state>true</state> </state> <state> TDOK 2010:21_Mall Riktlinje v. 1.0 18 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <name>3</name> <state>true</state> </state> <state> <name>4</name> <state>false</state> </state> <state> <name>5</name> <state>false</state> </state> <state> <name>6</name> <state>false</state> </state> <state> <name>7</name> <state>false</state> </state> <state> <name>8</name> <state>false</state> </state> </aggregatedStatusSpecialisation> </message> </roadSideMessage> XML8kod&5:&Ett&”aggregerad&status”8meddelande&i&syfte&att&informera&om&att&anläggning&har&bytt&funktionsläge,& funktionsstatus&och/eller&driftstatus& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.2.1.1 Huvuddel (aggregatedStatus) Element aggstatusTimeStamp 5.4.2.1.2 Värde (tidsstämpel) Beskrivning Tidsstämpling enligt W3C XML dateTimedefinition med en noggrannhet på 3 decimaler. Tidsstämplingen sker i anläggning och gäller för då statusen hämtas. All tidsstämpling anges i UTC. Aggregerad status (aggregatedStatusSpecialisation) Element functionalPosition Värde (enl. SUL) Beskrivning Funktionsläge functionalState (valbar) (enl. SUL) Funktionsstatus state (se nedan) Driftstatus (se nedan) 5.4.2.1.3 Driftstatus (state) TDOK 2010:21_Mall Riktlinje v. 1.0 19 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 Driftstatus (State Bit) är ett 8-bitars binärt bitmönster som beskriver anläggningens status för NTS. Varje enskild bit kan antingen anta värdet sant (”true”) eller falskt (”false”). Element state name Värde true|false [1-8] Beskrivning Driftstatus (State Bit) Bit nr (heltal mellan 1 och 8) Princip för aggregering av status för varje enskild bit definieras av tillhörande kommentarer i signalutbyteslista (SUL). Generell beskrivning av varje enskild bit redovisas i följande tabell Element state Bit (name) 1 2 3 4 5 6 7 8 5.4.2.2 Beskrivning Status i överordnat Anläggningen tagit ur drift av lokalt styrsystem eller underhållspersonal är ute vid objektet. Överordnat system har ingen kontakt med anläggningen Anläggningen har ett larm som kräver omedelbar åtgärd. (Prioritet 1) Anläggningen har ett larm som inte kräver omedelbar åtgärd, men som planeras in under nästföljande arbetspass. (Prioritet 2) Anläggningen har ett larm som kommer att åtgärdas vid nästa planerade underhållsinsats. (Prioritet 3) Anläggningen är anslutet och används för närvarande. Anläggningen är anslutet men används inte för stunden Anläggningen är inte anslutet till överordnat system. Ljusblå – lokal styrning Lila – Kommunikationen bruten Röd – Högprioriterat fel Gul – Medelprioriterat fel Blå – Lågprioriterat fel Grön - Normal drift - används Mörkgrå - vila Ljusgrå – Ej ansluten Meddelandeutbyte mellan anläggning och överordnat system Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figur. TDOK 2010:21_Mall Riktlinje v. 1.0 20 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 (Driftstatus, funktionsstatus eller funktionsläge ändrar sig i anläggning) 1 5.4.3 Ett "Aggregerad status"-meddelande skickas till överordnat system STATUSMEDDELANDEN Statusmeddelande är ett typ av meddelande som skickas till överordnat system eller annan anläggning med status på ett eller flera förfrågade objekt. Statusmeddelande kan vara både interaktions- och händelsestyrt och kan skickas vid följande villkor: • När status efterfrågas från överordnat system/annan anläggning. • Enligt prenumeration – antingen vid fast tidsintervall eller vid statusens förändring 5.4.3.1 5.4.3.1.1 Meddelandestruktur Struktur för meddelande med förfrågan på status för ett eller flera objekt Ett meddelande med förfrågan om status är utformat enligt nedan. Fet text innebär variabelt innehåll vilket kan ändras beroende på lokala omständigheter. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="StatusRequest"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <statuses> <status> <statusCodeId>S003</statusCodeId> <name>speed</name> </status> TDOK 2010:21_Mall Riktlinje v. 1.0 21 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <status> <statusCodeId>S003</statusCodeId> <name>occupancy</name> </status> </statuses> </message> </roadSideMessage> XML8kod&6:&En&statusförfrågan&i&syfte&att&begära&aktuellt&värde&på&efterfrågat&objekt&& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.3.1.1.1 Huvuddel (xsi:type = StatusRequest) Element statusCodeId Värde (enl. SUL) name (enl. SUL) 5.4.3.1.2 Beskrivning Statusförfrågans unika beteckning. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Syyy, där yyy är löpnummer. Unik referens för värdet Struktur för meddelande med status på ett eller flera berörda objekt Ett meddelande med status på flera berörda objekt är utformat enligt nedan. Fet text innebär variabelt innehåll vilket kan ändras beroende på lokala omständigheter. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="StatusResponse"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <statusTimeStamp>2009-10-02T14:34:34.345Z</statusTimeStamp> <returnvalues> <returnvalue> <statusCodeId>S003</statusCodeId> <name>speed</name> <status>70</status> <ageState>recent</ageState> </returnvalue> <returnvalue> <statusCodeId>S003</statusCodeId> <name>occupancy</name> <status>14</status> <ageState>recent</ageState> </returnvalue> </returnvalues> </message> </roadSideMessage> TDOK 2010:21_Mall Riktlinje v. 1.0 22 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 XML8kod&7:&Ett&svar&på&statusförfrågan&i&syfte&att&informera&om&aktuellt&värde&på&efterfrågat&objekt.&I&detta&exempel& vilket&budskap&som&visas&på&en&skylt&(70&km/h)& Följande tabeller beskrivet tillåtet innehåll i meddelandet. 5.4.3.1.2.1 Huvuddel (xsi:type = StatusResponse) Element statusTimeStamp Värde (tidsstämpel) Beskrivning Tidsstämpling enligt W3C XML dateTimedefinition med en noggrannhet på 3 decimaler. Tidsstämplingen sker i anläggning och gäller för då statusen hämtas. All tidsstämpling anges i UTC. description (skickas ej) (enl. SUL) Beskrivningstext för statusförfrågan. Definieras i SUL men skickas ej i meddelandet 5.4.3.1.2.2 Eventuella returvärden (returnvalue) Element statusCodeId Värde (enl. SUL) name type (skickas ej) (enl. SUL) (enl. SUL) Beskrivning Statusförfrågans unika beteckning. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Syyy, där yyy är löpnummer. Unik referens för värdet Värdets datatyp. Exakt definition i SUL. Definieras i SUL men skickas ej i meddelandet unit (skickas ej) status (enl. SUL) (enl. SUL) Generell definition: raw Värdet är uttryckt som råvärde scale Värdet är uttryckt som skalvärde unit Värdet uttryckt i enheter string Textinformation integer Numeriskt värde (16-bits signed integer), [-32768 – 32767] long Numeriskt värde (32-bit signed long) real Flyttal (64-bit double precision floating point) boolean Boolesk datatyp ordinal Representerar index eller nummerordning base64 Binär data uttryckt i base64-format enligt RFC-4648 Värdets enhet. Definieras i SUL men skickas ej i meddelandet Värde från utrustning ageState recent Medföljande värde är aktuellt old Medföljande värde är föråldrat (”gammalmärkt”) unknown Medföljande värde är okänt och inga uppdateringar kommer att skickas. TDOK 2010:21_Mall Riktlinje v. 1.0 23 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4.3.1.3 Struktur för meddelande med förfrågan om prenumeration på status för ett eller flera objekt Ett meddelande med förfrågan om prenumeration på status är utformat enligt nedan. Meddelandet används för att bygga upp en prenumerationslista på status, ”ärvärden” och händelser som man vill ha upp till överordnat system, t.ex. temperaturer, vindhastigheter, strömförbrukning, manuell styrning, gul blink. Fet text innebär variabelt innehåll vilket kan ändras beroende på lokala omständigheter. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="StatusSubscribe"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <statuses> <status> <statusCodeId>S003</statusCodeId> <name>speed</name> <updateRate>10</updateRate> </status> <status> <statusCodeId>S003</statusCodeId> <name>occupancy</name> <updateRate>10</updateRate> </status> </statuses> </message> </roadSideMessage> XML8kod&8:&Ett&meddelande&med&förfrågan&om&prenumeration&på&status&för&efterfrågade&objekt&& Tillåtet innehåll redovisas nedan och i kapitel 5.4.3.1.1.1. 5.4.3.1.3.1 Huvuddel (xsi:type = StatusRequest) Element updateRate 5.4.3.1.4 Värde (textfält) Beskrivning Anger hur ofta som meddelandet ska skickas. Definieras i sekunder, med ev. decimaler t.ex. ”2.5” för 2,5 sekunder. Punkt (.) används som decimaltecken. Om ”0” skickas så betyder det att värdet ska skickas vid förändring. Struktur för meddelande med svar på förfrågan om prenumeration på status för ett eller flera objekt Ett meddelande med svar på förfrågan prenumeration på status är utformat enligt nedan. Meddelandet skickas alltid direkt efter förfrågan på prenumeration oavsett om värdet nyligen ändrats eller p.g.a. intervall för prenumerationen. Detta eftersom man sannolikt påbörjar en prenumeration vid början av kommunikationsförbindelsen och därmed behöver uppdatera aktuell status på värden och händelser. Fet text innebär variabelt innehåll vilket kan ändras beroende på lokala omständigheter. Övrig text är del av meddelandets grundstruktur. TDOK 2010:21_Mall Riktlinje v. 1.0 24 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="StatusUpdate"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <statusTimeStamp>2009-10-02T14:34:34.345Z</statusTimeStamp> <returnvalues> <returnvalue> <statusCodeId>S003</statusCodeId> <name>speed</name> <status>70</status> <ageState>recent</ageState> </returnvalue> <returnvalue> <statusCodeId>S003</statusCodeId> <name>occupancy</name> <status>14</status> <ageState>recent</ageState> </returnvalue> </returnvalues> </message> </roadSideMessage> XML8kod&9:&Ett&meddelande&med&svar&på&förfrågan&om&prenumeration&på&status&för&efterfrågade&objekt&& Samtligt tillåtet innehåll redovisas i kapitel 5.4.3.1.2.1 och 5.4.3.1.2.2. 5.4.3.1.5 Struktur för meddelande med förfrågan om avslutande av prenumeration på status för ett eller flera objekt Ett meddelande med svar på förfrågan prenumeration på status är utformat enligt nedan. Meddelandet tar bort prenumeration på ett eller flera objekt. På detta meddelande skickas inget särskilt svar, annat en meddelandekvittens. Fet text innebär variabelt innehåll vilket kan ändras beroende på lokala omständigheter. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="StatusUnSubscribe"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <statuses> TDOK 2010:21_Mall Riktlinje v. 1.0 25 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <status> <statusCodeId>S003</statusCodeId> <name>speed</name> </status> <status> <statusCodeId>S003</statusCodeId> <name>occupancy</name> </status> </statuses> </message> </roadSideMessage> XML8kod&10:&Ett&meddelande&med&förfrågan&om&avslutande&av&prenumeration&på&status&för&efterfrågade&objekt&& Samtligt tillåtet innehåll redovisas i kapitel 5.4.3.1.1.1. 5.4.3.2 Meddelandeutbyte mellan anläggning och annan anläggning/överordnat system – vid förfrågan Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figurer. 1 2 5.4.3.3 Förfrågan om status på angivet objekt Meddelande med status på angivet objekt Meddelandeutbyte mellan anläggning och annan anläggning/överordnat system – vid prenumeration Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figurer. TDOK 2010:21_Mall Riktlinje v. 1.0 26 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 1 5.4.4 Meddelande med status på angivet objekt STYRNINGS- OCH KOMMANDOMEDDELANDEN Styrningsmeddelande används för att ge order om att utföra något hos anläggning. Som kvittens så svarar anläggningen med motsvarande svar på styrningsmeddelande. Styrningsmeddelande är interaktionsstyrt och skickas när styrning efterfrågas på berört objekt av överordnat system eller annan anläggning. 5.4.4.1 5.4.4.1.1 Meddelandestruktur Struktur för styrningsmeddelande Ett styrningsmeddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="CommandRequest"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <arguments> <argument> <commandCodeId>M002</commandCodeId> <name>1</name> <command>setValue</command> TDOK 2010:21_Mall Riktlinje v. 1.0 27 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <value>Auto</value> </argument> </arguments> </message> </roadSideMessage> XML8kod&11:&Ett&styrningsmeddelande&i&syfte&att&ändra&aktuellt&värde&på&efterfrågat&objekt.& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.4.1.1.1 Eventuella värden att skicka med styrkommando (argument) Element commandCodeId Värde (enl. SUL) name command type (skickas ej) (enl. SUL) (enl. SUL) (enl. SUL) unit (skickas ej) value 5.4.4.1.2 (enl. SUL) (enl. SUL) Beskrivning Styrningsordens unika beteckning. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Myyy, där yyy är löpnummer. Unik referens för värdet Styrkommando Värdets datatyp. Definieras i SUL men skickas ej i meddelandet Generell definition: raw Värdet är uttryckt som råvärde scale Värdet är uttryckt som skalvärde unit Värdet uttryckt i enheter string Textinformation integer Numeriskt värde (16-bits signed integer), [-32768 – 32767] long Numeriskt värde (32-bit signed long) real Flyttal (64-bit double precision floating point) boolean Boolesk datatyp ordinal Representerar index eller nummerordning base64 Binär data uttryckt i base64-format enligt RFC-4648 Värdets enhet. Definieras i SUL men skickas ej i meddelandet Värde Struktur för meddelande med svar på styrning Ett svar på styrningsmeddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="CommandResponse"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <ntsObjectId>F+40100=416CG100</ntsObjectId> TDOK 2010:21_Mall Riktlinje v. 1.0 28 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <externalNtsId>23055</externalNtsId> <componentId>AB+84001=860VA001</componentId> <commandTimeStamp>2009-10-02T14:34:34.345Z</commandTimeStamp> <returnvalues> <returnvalue> <commandCodeId>M002</commandCodeId> <ageState>recent</ageState> <name>1</name> <value>Auto</value> </returnvalue> </returnvalues> </message> </roadSideMessage> XML8kod&12:&Ett&svar&på&ett&styrningsmeddelande&i&syfte&att&informera&om&uppdaterat&värde&på&efterfrågat&objekt.&I&detta& fall&har&budskapet&på&en&skylt&ändrats&till&”70”& Följande tabeller beskriver tillåtet innehåll i meddelandet. 5.4.4.1.2.1 Huvuddel (xsi:type = CommandResponse) Element commandTimeStamp 5.4.4.1.2.2 Värde (tidsstämpel) Beskrivning Tidsstämpling enligt W3C XML dateTimedefinition med en noggrannhet på 3 decimaler. Tidsstämplingen sker i anläggning och gäller för då statusen hämtas. All tidsstämpling anges i UTC. Eventuella returvärden (returnvalue) Element commandCodeId Värde (enl. SUL) ageState recent old unknown name type (skickas ej) (enl. SUL) (enl. SUL) Beskrivning Styrningsordens unika beteckning. Den exakta utformningen bestäms av signalutbyteslistan (SUL). Exemplen i denna handling är utformade enligt följande format: Myyy, där yyy är löpnummer. Medföljande värde är aktuellt Medföljande värde är föråldrat (”gammalmärkt”) Medföljande värde är okänt och inga uppdateringar kommer att skickas. Unik referens för värdet Värdets datatyp. Definieras i SUL men skickas ej i meddelandet Generell definition: raw Värdet är uttryckt som råvärde scale Värdet är uttryckt som skalvärde unit Värdet uttryckt i enheter string Textinformation integer Numeriskt värde (16-bits signed integer), [-32768 – 32767] long Numeriskt värde (32-bit signed long) real Flyttal (64-bit double precision floating point) boolean Boolesk datatyp ordinal Representerar index eller nummerordning TDOK 2010:21_Mall Riktlinje v. 1.0 29 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 base64 unit (skickas ej) value 5.4.4.2 (enl. SUL) (enl. SUL) Binär data uttryckt i base64-format enligt RFC-4648 Värdets enhet. Definieras i SUL men skickas ej i meddelandet Värde från utrustning Meddelandeutbyte mellan anläggning och annan anläggning/överordnat system Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figurer. 1 2 5.4.5 Förfrågan om styrning skickas till anläggning Anläggning svarar med svar på styrningsmeddelande för angivet objekt KVITTERING PÅ ATT MEDDELANDE MOTTAGITS Kvitteringsmeddelanden skickas som ett initialt svar på samtliga meddelanden. Dessa ska inte förväxlas med larmkvittering som har en annan funktion. Syftet med kvitteringsmeddelanden är att på protokollnivå kunna utesluta kommunikationsavbrott och att fungera som en bekräftelse på att meddelandet har nått mottagaren. Det finns två typer utav kvitteringsmeddelanden – en typ som bekräftar att meddelandet har nått mottagaren och att denna har förstått budskapet – och en annan typ som bekräftar att meddelandet har nått mottagaren men att denna ej har förstått budskapet. Kvittensmeddelande är interaktionsstyrt och skickas när godtyckligt meddelande tas emot från överordnat system eller annan anläggning, med undantag från andra kvittensmeddelanden. 5.4.5.1 Meddelandestruktur – mottagare har förstått budskapet TDOK 2010:21_Mall Riktlinje v. 1.0 30 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 Ett kvittensmeddelande där mottagande part har förstått budskapet är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="MessageAck"> <originalMessageId>{E4FSD010-C336-41ac-BD58-5C80A72C7092}</originalMessageId> </message> </roadSideMessage> XML8kod&13:&En&meddelandekvittens&i&syfte&för&att&försäkra&att&föregående&meddelande&har&mottagits& Följande tabell beskriver tillåtet innehåll i meddelandet. 5.4.5.1.1 Huvuddel (xsi:type = MessageAck) Element originalMessageId 5.4.5.2 Värde (GUID) Beskrivning Meddelandeidentitet. Genereras som ett GUID (Globally unique identifier) i den utrustningen som skickade det ursprungliga meddelandet. Endast version 4 av Leach-Salz UUID används. Denna meddelandeidentititet används för att hänvisa till vilket meddelande som kvitteras. Meddelandestruktur – mottagare har ej förstått budskapet Ett kvittensmeddelande där mottagande part ej har förstått budskapet är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="MessageNotAck"> <originalMessageId>{E4FSD010-C336-41ac-BD58-5C80A72C7092}</originalMessageId> <reason>alarmCode: A054 does not exist</reason> </message> </roadSideMessage> XML8kod&14:&En&meddelandekvittens&i&syfte&för&att&försäkra&att&föregående&meddelande&har&mottagits,&men&att&detta&inte& har&förståtts&utav&mottagande&part& Följande tabell beskriver tillåtet innehåll i meddelandet. 5.4.5.2.1 Huvuddel (xsi:type = MessageNotAck) Element originalMessageId Värde (GUID) Beskrivning Meddelandeidentitet. Genereras som ett GUID (Globally unique identifier) i den utrustningen som skickade det ursprungliga meddelandet. Endast TDOK 2010:21_Mall Riktlinje v. 1.0 31 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 reason 5.4.5.3 5.4.5.3.1 1 2 5.4.5.3.2 1 2 (valfritt) version 4 av Leach-Salz UUID används. Denna meddelandeidentititet används för att hänvisa till vilket meddelande som kvitteras. Felmeddelande där all relevant information framgår gällande det meddelande som ej förstods utav mottagande system. Meddelandeutbyte mellan anläggning, annan anläggning och överordnat system Överordnat system skickar initialt meddelande Godtyckligt meddelande skickas från överordnat system eller annan anläggning Anläggning svarar med ett kvittensmeddelande. Anläggning skickar initialt meddelande Godtyckligt meddelande skickas från anläggning Överordnat system eller annan anläggning svarar med ett kvittensmeddelande. TDOK 2010:21_Mall Riktlinje v. 1.0 32 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4.6 RSMP/SUL VERSION Version av RSMP samt revision av SUL skickas alltid direkt efter etablering av kommunikation. Båda kommunicerande parter skickar detta som första meddelande och inväntar därefter meddelandekvittering innan någon annan kommunikation påbörjas. Samtliga RSMP-versioner som stöds ska skickas med i meddelandet. Detta meddelande ska även kunna kompletteras i framtiden med fler taggar/variabler (t.ex. datum) utav att det påverkar befintliga implementationer. Om någon av parterna är obekväm med versionerna så meddelas detta via meddelandekvittering (MessageNotAck) till den andra parten; därefter avslutas kommunikationen och ett larm genereras internt hos båda parter. Ifall båda parterna har stöd för flera RSMP-versioner som båda stödjer ska alltid den senaste versionen användas per automatik. 5.4.6.1 Meddelandestruktur Ett versions-meddelande är utformat enligt nedan. I nedanstående exempel har den avsändande partnern stöd för RSMP version 1.0, 1.2 samt 1.3 och använder SUL version 1.3. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4/RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Version"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <siteIds> <siteId>F+40100=416</siteId> </siteIds> <rsmpVersions> <rsmpVersion>1.0</rsmpVersion> <rsmpVersion>1.2</rsmpVersion> <rsmpVersion>1.3</rsmpVersion> </rsmpVersions> <sxlVersion>1.3</sxlVersion> </message> </roadSideMessage> XML8kod&15:&Ett&versionsmeddelande&i&syfte&för&att&informera&vilka&version&av&RSMP&som&stöds&och&revision&av&SUL&som& används& Följande tabell beskriver tillåtet innehåll i meddelandet. 5.4.6.1.1 Element siteId Huvuddel (xsi:type = Version) Värde (enl. SUL) Beskrivning Anläggningsidentitet. Används för att ge möjlighet att hänvisa till en ”logisk” benämning på en anläggning. Följande format kan användas: " Använder anläggningsdels-id från Trafikverkets komponent-id standard enl. VV:publ 2007:54 ISSN 1401-9612. T.ex. TDOK 2010:21_Mall Riktlinje v. 1.0 33 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 " rsmpVersion sxlRevision 5.4.6.2 (enl. riktlinje) (enl. SUL) ”40100”. Det går även att använda komplett komponent-id enl. VV:publ 2007:54 ISSN 1401-9612 av grupperat objekt i anläggningen utifall anläggningsdels-id är otillräckligt för att unikt särskilja en anläggning. Samtliga anläggningsidentiteter (siteId) i kommunikationsförbindelsen skickas med i meddelandet. Version av RSMP. T.ex. ”1.0”, ”1.1” eller ”1.3” Revision av SUL. T.ex. ”1.3” Meddelandeutbyte mellan anläggning, annan anläggning och överordnat system Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figurer. 5.4.6.2.1 1 5.4.6.2.2 Anläggning skickar versions-meddelande Versions-meddelande skickas från anläggning Överordnat system/annan anläggning skickar versions-meddelade TDOK 2010:21_Mall Riktlinje v. 1.0 34 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 1 5.4.7 Versions-meddelande skickas från överordnat system/annan anläggning WATCHDOG Det primära syftet med Watchdog-meddelanden är att säkerställa kommunikationsförbindelsen mellan anläggning och överordnat system – dock ej till eventuella subsystem; till det används larm. Det sekundära syftet med Watchdog-meddelanden är tillhandahålla tidstämpel som används för regelbunden tidssynkronisering. Såtillvida inte särskilda skäl föreligger, så ska anläggning regelbundet synkronisera sin klocka baserat på tidstämpling i Watchdog-meddelande från överordnat system – dels vid etablering av kommunikation samt minst en gång per dygn. Watchdog-meddelanden skickas i båda riktningar i varje kommunikationsförbindelse. Vid initial etablering av kommunikationsförbindelse (efter RSMP-versionskontroll) ska watchdog-meddelanden skickas. 5.4.7.1 Meddelandestruktur Ett watchdog-meddelande är utformat enligt nedan. Fet text innebär variabelt innehåll, t.ex. meddelandeinformation, status, identitet och tidpunkt. Övrig text är del av meddelandets grundstruktur. <?xml version="1.0" encoding="utf-8"?> <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4/RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Watchdog"> <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> <watchdogTimestamp>2009-10-02T14:34:34.341Z</watchdogTimestamp> </message> </roadSideMessage> XML8kod&16:&Ett&watchdog8meddelande&i&syfte&för&att&försäkra&att&kommunikationen&fungerar& Följande tabell beskriver tillåtet innehåll i meddelandet. 5.4.7.1.1 Huvuddel (xsi:type = Watchdog) Element watchdogTimestamp 5.4.7.2 Värde (tidsstämpel) Beskrivning Tidsstämpling enligt W3C XML dateTimedefinition med en noggrannhet på 3 decimaler. Tidsstämplingen sker i anläggning och gäller för då watchdog-meddelandet skickas. All tidsstämpling anges i UTC. Meddelandeutbyte mellan anläggning, annan anläggning och överordnat system Kvittering på att meddelanden mottagits (enl. kapitel 5.4.5) är implicit i nedanstående figurer. TDOK 2010:21_Mall Riktlinje v. 1.0 35 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.4.7.2.1 1 5.4.7.2.2 1 Anläggning skickar watchdog-meddelande Watchdog-meddelande skickas från anläggning Överordnat system/annan anläggning skickar watchdog-meddelande Watchdog-meddelande skickas från överordnat system/annan anläggning TDOK 2010:21_Mall Riktlinje v. 1.0 36 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5 5.5.1 Tillämpning av JSON MOTSVARIGHET AV TERMER Följande tabell redovisar motsvarigheterna av de termer som används i XML-exemplen jämfört med de termer som används i JSON-exemplen i denna handling. Observera att elementen formateras som JSON string elements och inte som t.ex. JSON number eller boolean elements. Element i XML acknowledgeState ageState (statusmeddelande) ageState (styrningsmeddelande) aggregatedStatusSpecialisation aggstatusTimeStamp alarmCodeId alarmSpecialisation alarmState timestamp arguments category command commandCodeId commandTimeStamp componentId externalAlarmCodeId externalEventCodeId externalNtsAlarmCodeId externalNtsId functionalPosition functionalState message xsi:type messageId name originalMessageId priority reason returnvalue returnvalues (alarm) returnvalues (statusresponse) rsmpVersion rsmpVersions roadSideMessage ntsObjectId sideIds siteId source state status statuses Element i JSON ack age q aSS aSTS aCId aSp aS ts arg cat cO cCI cTS cId xACId xECId xNACId xNId fP fS type mId n oMId pri rea rv rvs sS vers RSMP mType: rSMsg ntsOId siteId sId source se s sS TDOK 2010:21_Mall Riktlinje v. 1.0 37 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 statusCodeId statusTimestamp suspendState sxlRevision type unit updateRate watchdogTimestamp 5.5.2 sCI sTs sS SXL t u uRt wTs WRAPPING AV PAKET Både Json och XML paket kan vara knepiga att avkoda såtillvida man inte alltid vet när man har ett komplett paket. Json saknar slut-tag och XML slut-tag kan förekomma i textmassan. För att kunna känna av ett paketslut måste man göra en helt egen parser alternativt göra en del kod-tricks vilket inte är särskilt bra. I både Json och XML kan det förekomma tabbar (0x09), CR (0x0d) och LF (0x0a). Är paketen serialiserade med .NET finns inte dessa specialtecken. Naturligt är därför användandet av ett formfeed (0x0c), dvs ’\f’ i C/C++ samt C# världen. Formfeed förekommer inte i själva paketet eftersom det är kodat i UTF-8 och koden behöver bara söka av inbufferten efter 0x0c och hantera varje paket ända tills de inte förekommer fler. Exempel: {"mHdr":{"mType":"rSMsg","type":"Alarm","mId":"d2e9a9a1-a082-44f5-b4e0-6c9233 a204c","ts":"2009-1002T14:34:34.345Z"},"oId":{"sId":"AB+81102=881CG001","xNId ":"","cId":"AB+81102=881DG002"},"aOId":{"aCId":"A052","xACId":"052","xNACId": "052","aSp":"Acknowledge"}}<0x0c> JSON8kod&1:&Exempel&på&wrapping&av&paket& Tecken inom <> är bytens binära innehåll i hex (ASCII koden), ex <0x0c> är ASCII kod 12, dvs FF (formfeed). TDOK 2010:21_Mall Riktlinje v. 1.0 38 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.3 5.5.3.1 LARMMEDDELANDEN Struktur för larmmeddelande Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "Alarm", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "mId": "E68A0010-C336-41ac-BD585C80A72C7092", RoadSideMessage_1_0_1_4.xsd"> "ntsOId": "F+40100=416CG100", <message xsi:type="Alarm"> "xNId": "23055", <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> "cId": "AB+84001=860VA001", <ntsObjectId>F+40100=416CG100</ntsObjectId> "aCId": "A001", <externalNtsId>23055</externalNtsId> "xACId": "Lampfel på lykta 1 (röd)", <componentId>AB+84001=860VA001</componentId> "xNACId": "3143", <alarmCodeId>A001</alarmCodeId> "aSp": "Issue", <externalAlarmCodeId>Lampfel på lykta 1 (röd)</externalAlarmCodeId> "ack": "notAcknowledged", <externalNtsAlarmCodeId>3143</externalNtsAlarmCodeId> "aS": "active", <alarmSpecialisation xsi:type="Issue"> "sS": "notSuspended", <acknowledgeState>notAcknowledged</acknowledgeState> "aTs": "2009-10-01T11:59:31.571Z", <alarmState>active</alarmState> "cat": "D", <suspendState>notSuspended</suspendState> "pri": "2" <timestamp>2009-10-01T11:59:31.571Z</timestamp> "rvs": [ <category>D</category> { <priority>2</priority> "n": "signalgrupp", <returnvalues> "v": "1" <returnvalue> }, <name>signalgrupp</name> { <value>1</value> "n": färg", </returnvalue> <returnvalue> <name>färg</name> "v": "röd" }] } <value>röd</value> </returnvalue> </returnvalues> </alarmSpecialisation> </message> </roadSideMessage> XML/JSON8kod&1:&Exempel&på&motsvarighet&av&larmmeddelande&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 39 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.3.2 Struktur för Larmkvitteringsmeddelande Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "Alarm", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "mId": "E68A0010-C336-41ac-BD585C80A72C7092", RoadSideMessage_1_0_1_4.xsd"> "ntsOId": "F+40100=416CG100", <message xsi:type="Alarm"> "xNId": "23055", <messageId>{E68A0010-C336-41ac-BD58- "cId": "AB+84001=860VA001", 5C80A72C7092}</messageId> "aCId": "A001", <ntsObjectId>F+40100=416CG100</ntsObjectId> "xACId": "Larmfel på lykta 1 (röd)", <externalNtsId>23055</externalNtsId> "xNACId": "3143", <componentId>AB+84001=860VA001</componentId> "aSp": "acknowledge", <alarmCodeId>A001</alarmCodeId> "ack": "Acknowledged", <externalAlarmCodeId>Larmfel på lykta 1 (röd)</externalAlarmCodeId> "aS": "active", <externalNtsAlarmCodeId>3143</externalNtsAlarmCodeId> "sS": "notSuspended", <alarmSpecialisation xsi:type="Acknowledge"> "aTs": "2009-10-01T11:59:31.571Z", </message> "cat": "b", </roadSideMessage> "pri": "2" "rvs": [ { "n": "signalgrupp", "v": "1" }, { "n": färg", "v": "röd" }] } XML/JSON8kod&2:&Exempel&på&motsvarighet&av&larmkvitteringsmeddelande&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 40 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.3.3 Struktur för Larmblockeringsmeddelande Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "Alarm", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "mId": "E68A0010-C336-41ac-BD585C80A72C7092", RoadSideMessage_1_0_1_4.xsd"> "ntsOId": "F+40100=416CG100", <message xsi:type="Alarm"> "xNId": "23055", <messageId>{E68A0010-C336-41ac-BD58- "cId": "AB+84001=860VA001", 5C80A72C7092}</messageId> "aCId": "A001", <ntsObjectId>F+40100=416CG100</ntsObjectId> "xACId": "Larmfel på lykta 1 (röd)", <externalNtsId>23055</externalNtsId> "xNACId": "3143", <componentId>AB+84001=860VA001</componentId> <alarmCodeId>A001</alarmCodeId> "aSp": "suspend" } <externalAlarmCodeId>Larmfel på lykta 1 (röd)</externalAlarmCodeId> <externalNtsAlarmCodeId>3143</externalNtsAlarmCodeId> <alarmSpecialisation xsi:type="Suspend"> <suspendAction>suspend</suspendAction> </alarmSpecialisation> </message> </roadSideMessage> XML/JSON8kod&3:&Exempel&på&motsvarighet&av&larmblockeringsmeddelande&XML/JSON& 5.5.4 5.5.4.1 ”AGGREGERAD STATUS”-MEDDELANDE Meddelandestruktur Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. TDOK 2010:21_Mall Riktlinje v. 1.0 41 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "AggregatedStatus", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "mId": "E68A0010-C336-41ac-BD585C80A72C7092", RoadSideMessage_1_0_1_4.xsd"> "ntsOId": "F+40100=416CG100", <message xsi:type="AggregatedStatus"> "xNId": "23055", <messageId>{E68A0010-C336-41ac-BD58- "cId": "F+40100=416CG100", 5C80A72C7092}</messageId> "aSTS": "2009-10-02T14:34:34.345Z", <ntsObjectId>F+40100=416CG100</ntsObjectId> "fP": "Trafikstyrning", <externalNtsId>23055</externalNtsId> "fS": "Automatiskt nedsatt hastighet", <componentId>F+40100=416CG100</componentId> <aggstatusTimeStamp>2009-1002T14:34:34.345Z</aggstatusTimeStamp> "se": ["false", "true", "true", "false", "false", "false", "false", "false"] } <aggregatedStatusSpecialisation> <functionalPosition>Trafikstyrning</functionalPosition> <functionalState>Automatiskt nedsatt hastighet</functionalState> <state> <name>1</name> <state>false</state> </state> <state> <name>2</name> <state>true</state> </state> <state> <name>3</name> <state>true</state> </state> <state> <name>4</name> <state>false</state> </state> <state> <name>5</name> <state>false</state> </state> <state> <name>6</name> <state>false</state> </state> <state> <name>7</name> <state>false</state> </state> <state> <name>8</name> <state>false</state> </state> </aggregatedStatusSpecialisation> TDOK 2010:21_Mall Riktlinje v. 1.0 42 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 </message> </roadSideMessage> XML/JSON8kod&4:&Exempel&på&motsvarighet&av&”aggregerad&status”8&meddelande&XML/JSON& 5.5.5 5.5.5.1 STATUSMEDDELANDEN Struktur för meddelande med förfrågan om status för angivet objekt Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "StatusRequest", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="StatusRequest"> "cId": "AB+84001=860VA001", <messageId>{E68A0010-C336-41ac-BD58- "sS":[ 5C80A72C7092}</messageId> {"sCI": "S003" <ntsObjectId>F+40100=416CG100</ntsObjectId> ”n":"speed"}, <externalNtsId>23055</externalNtsId> {"sCI": "S003", "n":"occupancy"} <componentId>AB+84001=860VA001</componentId> <statuses> <status> <statusCodeId>S003</statusCodeId> <name>speed</name> </status> <status> <statusCodeId>S003</statusCodeId> <name>occupancy</name> </status> </statuses> ] } </message> </roadSideMessage> XML/JSON8kod&5:&Exempel&på&motsvarighet&av&statusförfrågan&XML/JSON& 5.5.5.2 Struktur för meddelande med status för berört objekt Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. TDOK 2010:21_Mall Riktlinje v. 1.0 43 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "StatusResponse", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="StatusResponse"> "cId": "AB+84001=860VA001", <messageId>{E68A0010-C336-41ac-BD58- "sTs": "2009-10-02T14:34:34.345Z", 5C80A72C7092}</messageId> "sS":[ <ntsObjectId>F+40100=416CG100</ntsObjectId> {"sCI": "S003", <externalNtsId>23055</externalNtsId> "n":"1", <componentId>AB+84001=860VA001</componentId> "s": "70", <statusTimeStamp>2009-10-02T14:34:34.345Z</statusTimeStamp> "q": "recent"}, <returnvalues> {"sCI": "S007", <returnvalue> "n":"1", <statusCodeId>S003</statusCodeId> "s": "0", <ageState>recent</ageState> "q": "unknown"} <name>1</name> ] <status>70</status> } Text </returnvalue> <returnvalue> <statusCodeId>S007</statusCodeId> <ageState>unknown</ageState> <name>1</name> <status>0</status> </returnvalue> </returnvalues> </message> </roadSideMessage> XML/JSON8kod&6:&Exempel&på&motsvarighet&av&svar&på&statusförfrågan&XML/JSON& 5.5.5.3 Struktur för meddelande med förfrågan om prenumeration på status för ett eller flera objekt Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "StatusSubscribe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092”, xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="StatusSubscribe"> "cId": "AB+84001=860VA001", TDOK 2010:21_Mall Riktlinje v. 1.0 44 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 <messageId>{E68A0010-C336-41ac-BD58- "sS":[ 5C80A72C7092}</messageId> {"sCI": "S003", <ntsObjectId>F+40100=416CG100</ntsObjectId> "n": "speed", <externalNtsId>23055</externalNtsId> "uRt": "10"}, <componentId>AB+84001=860VA001</componentId> {"sCI": "S003", <statuses> "n":" occupancy ", <status> "uRt": "10"} <statusCodeId>S003</statusCodeId> <name>speed</name> ] } <updateRate>10</updateRate> </status> <status> <statusCodeId>S003</statusCodeId> <name>occupancy</name> <updateRate>10</updateRate> </status> </statuses> </message> </roadSideMessage> XML/JSON8kod&7:&Exempel&på&motsvarighet&av&förfrågan&om&prenumeration&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 45 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.5.4 Struktur för meddelande med svar på förfrågan om prenumeration på status för ett eller flera objekt Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "StatusUpdate", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="StatusUpdate"> "cId": "AB+84001=860VA001", <messageId>{E68A0010-C336-41ac-BD58- "sTs": "2009-10-02T14:34:34.345Z", 5C80A72C7092}</messageId> "sS":[ <ntsObjectId>F+40100=416CG100</ntsObjectId> {"sCI": "S003", <externalNtsId>23055</externalNtsId> "n":"1", <componentId>AB+84001=860VA001</componentId> "s": "70", <statusTimeStamp>2009-10-02T14:34:34.345Z</statusTimeStamp> "q": "recent"}, <returnvalues> {"sCI": "S007", <returnvalue> "n":"1", <statusCodeId>S003</statusCodeId> "s": "0", <ageState>recent</ageState> "q": "unknown"} <name>1</name> <status>70</status> ] } </returnvalue> <returnvalue> <statusCodeId>S007</statusCodeId> <ageState>unknown</ageState> <name>1</name> <status>0</status> </returnvalue> </returnvalues> </message> </roadSideMessage> XML/JSON8kod&8:&Exempel&på&motsvarighet&av&svar&på&förfrågan&om&prenumeration&XML/JSON& 5.5.5.5 Struktur för meddelande med förfrågan om avslutande av prenumeration på status för ett eller flera objekt Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. TDOK 2010:21_Mall Riktlinje v. 1.0 46 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "StatusUnsubscribe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092”, xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="StatusUnSubscribe"> "cId": "AB+84001=860VA001", <messageId>{E68A0010-C336-41ac-BD58- "sS":[ 5C80A72C7092}</messageId> {"sCI": "S003", <ntsObjectId>F+40100=416CG100</ntsObjectId> "n":"speed"}, <externalNtsId>23055</externalNtsId> {"sCI": "S003", <componentId>AB+84001=860VA001</componentId> "n":" occupancy”} <statuses> <status> ] } <statusCodeId>S003</statusCodeId> <name>speed</name> </status> <status> <statusCodeId>S003</statusCodeId> <name>occupancy</name> </status> </statuses> </message> </roadSideMessage> XML/JSON8kod&9:&Exempel&på&motsvarighet&av&svar&på&förfrågan&om&prenumeration&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 47 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.6 5.5.6.1 STYRNINGS- OCH KOMMANDOMEDDELANDEN Struktur för styrningsmeddelande Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "CommandRequest", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="CommandRequest"> "cId": "AB+84001=860VA001", <messageId>{E68A0010-C336-41ac-BD58- "arg": [ 5C80A72C7092}</messageId> { <ntsObjectId>F+40100=416CG100</ntsObjectId> "cCI": "M003", <externalNtsId>23055</externalNtsId> "n": "1", <componentId>AB+84001=860VA001</componentId> "cO": "setValue", <arguments> "v": "Auto" <argument> <commandCodeId>M002</commandCodeId> }] } <name>1</name> <command>setValue</command> <value>Auto</value> </argument> </arguments> </message> </roadSideMessage> XML/JSON8kod&10:&Exempel&på&motsvarighet&av&styrningsmeddelande&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 48 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.6.2 Struktur för meddelande med svar på styrning Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "CommandResponse", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "ntsOId": "F+40100=416CG100", RoadSideMessage_1_0_1_4.xsd"> "xNId": "23055", <message xsi:type="CommandResponse"> "cId": "AB+84001=860VA001", <messageId>{E68A0010-C336-41ac-BD58- "cTS": "2009-10-02T14:34:34.345Z", 5C80A72C7092}</messageId> "rvs": [ <ntsObjectId>F+40100=416CG100</ntsObjectId> { <externalNtsId>23055</externalNtsId> "cCI": "M002", <componentId>AB+84001=860VA001</componentId> "age": "recent", <commandTimeStamp>2009-10- "n": "1", 02T14:34:34.345Z</commandTimeStamp> "v": "70" <returnvalues> <returnvalue> }] } <commandCodeId>M002</commandCodeId> <ageState>recent</ageState> <name>1</name> <value>Auto</value> </returnvalue> </returnvalues> </message> </roadSideMessage> XML/JSON8kod&11:&Exempel&på&motsvarighet&av&svar&på&styrningsmeddelande&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 49 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.7 5.5.7.1 KVITTERING PÅ ATT MEDDELANDE MOTTAGITS Meddelandestruktur - mottagare har förstått budskapet Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "MessageAck", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 "oMId": "F4FSD010-D587-7A3B-8BD5-5C80A72C7154" } RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="MessageAck"> <originalMessageId>{E4FSD010-C336-41ac-BD585C80A72C7092}</originalMessageId> </message> </roadSideMessage> XML/JSON8kod&12:&Exempel&på&motsvarighet&av&kvittering&där&mottagaren&har&förstått&budskapet&XML/JSON& 5.5.7.2 Meddelandestruktur - mottagare har ej förstått budskapet Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "MessageNotAck", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "oMId": "F4FSD010-D587-7A3B-8BD5-5C80A72C7154", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> "rea": "alarmCode: A054 does not exist" } <message xsi:type="MessageNotAck"> <originalMessageId>{E4FSD010-C336-41ac-BD585C80A72C7092}</originalMessageId> <reason>alarmCode: A054 does not exist</reason> </message> </roadSideMessage> XML/JSON8kod&13:&Exempel&på&motsvarighet&av&kvittering&där&mottagaren&ej&har&förstått&budskapet&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 50 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.8 5.5.8.1 RSMP/SUL VERSION Meddelandestruktur Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" xmlns="http://roadsidemessage.vv.se/1_0_1_4" "mType": "rSMsg", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "type": "Version", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4/RoadSideMessage_1_0_1_4.xsd"> <message xsi:type="Version"> "mId": "E68A0010-C336-41ac-BD585C80A72C7092", <messageId>{E68A0010-C336-41ac-BD58-5C80A72C7092}</messageId> "siteId":[ <siteIds> {"sId":"F+40100=416CG100"}], <siteId>F+40100=416CG100</siteId> "RSMP":[ </siteIds> {"vers":"1.0"}, <rsmpVersions> {"vers":"1.2"}, <rsmpVersion>1.0</rsmpVersion> {"vers":"1.3"}], <rsmpVersion>1.2</rsmpVersion> <rsmpVersion>1.3</rsmpVersion> "SXL":"1.3" } </rsmpVersions> <sxlVersion>1.3</sxlVersion> </message> </roadSideMessage> XML/JSON8kod&14:&Exempel&på&versionsmeddelande&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 51 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 5.5.9 5.5.9.1 WATCHDOG Meddelandestruktur Nedanstående exempel redovisar motsvarigheten av meddelandestruktur mellan XML och JSON. Observera att vissa rader är radbrytna. XML <?xml version="1.0" encoding="utf-8"?> JSON { <roadSideMessage modelBaseVersion="1.0" "mType": "rSMsg", xmlns="http://roadsidemessage.vv.se/1_0_1_4" "type": "Watchdog", xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" "mId": "E68A0010-C336-41ac-BD58-5C80A72C7092", xsi:schemaLocation="http://roadsidemessage.vv.se/1_0_1_4 RoadSideMessage_1_0_1_4.xsd"> "wTs": "2009-10-02T14:34:34.345Z", } <message xsi:type="Watchdog"> <messageId>{E68A0010-C336-41ac-BD585C80A72C7092}</messageId> <watchdogTimestamp>2009-1002T14:34:34.345Z</watchdogTimestamp> </message> </roadSideMessage> XML/JSON8kod&16:&Exempel&på&motsvarighet&av&watchdog8meddelande&XML/JSON& TDOK 2010:21_Mall Riktlinje v. 1.0 52 (52) RIKTLINJE DokumentID Ev. ärendenummer Version TDOK 2011:256 [Ärendenummer] 3.1.2 6 Ändringslogg Fastställd version Dokumentdatum Ändring Namn 1.0 2011-05-20 DO 3.0 3.1.1 3.1.2 2011-11-04 2011-12-23 2012-02-29 Protokollet förtydligat och watchdog reviderat Protokollet reviderat Mindre revidering Mindre revidering DO DO DO TDOK 2010:21_Mall Riktlinje v. 1.0
© Copyright 2024