Preview only show first 10 pages with watermark. For full document please download

Rsmp Protocol Road Side Equipment_3_1_2

   EMBED


Share

Transcript

GUIDELINE (UNOFFICIAL TRANSLATION) Skapat av (Efternamn, Förnamn, org) DokumentID Ev. ärendenummer Fastställt av Dokumentdatum Version [Fastställt av] 2012-02-29 3.1.2 (unofficial) [Ärendenummer] Dokumenttitel RSMP – Communication protocol - road side equipment 1 Table of contens 1   TABLE OF CONTENS .................................................................................. 1   2   DEFINITIONS ............................................................................................ 3   3   INTRODUCTION ........................................................................................ 5   3.1   BACKGROUND ................................................................................................................ 5   4   PURPOSE ................................................................................................... 7   4.1   IDENTIFIED REQUIREMENTS ........................................................................................... 7   5   APPLICABILITY ......................................................................................... 8   5.1   SCOPE ............................................................................................................................ 8   5.1.1   RESPONSIBILITY ................................................................................................................8   5.2   OBJECT MODEL .............................................................................................................. 8   5.3   TRANSPORT OF DATA ...................................................................................................... 9   5.3.1   Communication establishment ........................................................................................... 9   5.3.2   Communication disruption ................................................................................................. 9   5.3.3   Transport between site and supervision system ............................................................... 9   5.3.4   Transport between sites ...................................................................................................... 9   5.4   BASIC STRUCTURE ........................................................................................................ 10   5.4.1   Alarm messages ..................................................................................................................11   5.4.2   Aggregated status message .............................................................................................. 18   5.4.3   Status Messages ................................................................................................................ 21   5.4.4   Command messages......................................................................................................... 28   5.4.5   Message acknowledgement .............................................................................................. 31   5.4.6   RSMP/SXL Version ........................................................................................................... 34   5.4.7   Watchdog ........................................................................................................................... 36   5.5   USAGE OF JSON .......................................................................................................... 39   5.5.1   Comparison of elements .................................................................................................... 39   5.5.2   Wrapping of packets ........................................................................................................ 40   5.5.3   Alarm messages ................................................................................................................ 41   5.5.4   Aggregated status Message .............................................................................................. 43   5.5.5   Status MessageS ................................................................................................................ 45   5.5.6   Command messages ..........................................................................................................50   5.5.7   Message acknowledgement .............................................................................................. 52   5.5.8   RSMP/SXL Version ........................................................................................................... 53   5.5.9   Watchdog ........................................................................................................................... 54   TDOK 2010:21_Mall Riktlinje v. 1.0 1 (55) 2 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 6   CHANGE LOG ........................................................................................... 55   TDOK 2010:21_Mall Riktlinje v. 1.0 3 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 2 Definitions Term Meaning SXL Signal exchange list NTS National Traffic management system. Replaces CTS Maximo STA’s support system for maintenance ITS site Local roadside equipment. Covers both field level and local level Site Local roadside equipment Supervision system Object See ITS equipment See ITS equipment Control and supervision system for regional and/or national level An object is a abstract term which is used in control and supervision systems. An object can have on or more statuses that may change depending on changes of circumstance of the object or control of the object from external source. Communication with the object is made using exchange of signals, e.g. commands, status and alarms. An object may also be equivalent of a physical equipment. E.g. camera, but could also be abstract such as an algorithm. An object is identified using the objects component id. Please note that an object is not necessarily the same thing as an NTS object. Aggregated object An aggregated object consists of one or many other objects. E.g. Component group (CG) Object type An object type is a classification of objects that controls the properties of all the objects of the same object type. The object type determines how the object is presented in supervision system, how it is grouped and which functional positions, alarm codes, commands NTS Object and statuses that exists that object type. Used for objects in NTS All control and supervision related functions in NTS consist of NTS objects. An NTS object can represent on or many objects. An NTS objects is identified in the communication interface using “externalNtsId”. NTS can not use the format used in component-id. An object and NTS object and use the same component-id. TDOK 2010:21_Mall Riktlinje v. 1.0 4 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) NTS-Object type A NTS object type is a classification of NTS objects. Determines among other things which functional positions that are possible for the NTS object. Component A component is a object or NTS object. Component-ID A component is identified using component-id. A component-id identifies components. The format used for the STA’s sites is specified in the STA publication 2007:54 ISSN 1401-9612, e.g. AA+BBCDD=EEEFFGGG. XML eXtensible Markup Language JSON JavaScript Object Notation TCP/IP Transfer Control Protocol/Internet Protocol W3C World Wide Web Consortium DATEX II European standard for message exchange between traffic system s(www.datex2.eu) RSMP Road Side Message Protocol TDOK 2010:21_Mall Riktlinje v. 1.0 5 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 3 Introduction This document presents a general protocol for communication between supervision systems and equipment, and direct communication between sites. The aim is to offer a standardized protocol that works the same way regardless of supplier or type of equipment. 3.1 Background Historically, the Swedish Transport Administration has had a regional organization structure which was responsible for the procurement and management of technical systems , including ITS facilities . This has meant that different regions have had different requirements for functionality and interfaces to higher level systems. The Swedish Transport Administration has also been dependent on technology specific and proprietary communication protocols, resulting in limited ability to coordinate the management and operation of various technology areas and regions. The Swedish Transport Administration currently has a national organization for the management of technical facilities and systems. This organization is responsible for creating a uniform structure and set of requirements on the administrations technical systems. This is for: • • Facilitate the implementation, management and operation of facilities Facilitate supplier market to develop concepts and solutions that work nationally and does not require regional adaptations. In this way, given the means to achieve a consistent functionality against road users, operations and maintenance, management and control centers. Ultimately, the Swedish Transport Administration will in this way get better effects of investments. In order to create a sustainable system park that is upgradeable and scalable, the following principal system architecture has been developed. The architecture is based on the creation of a number of levels with well-defined interfaces with the overlying and underlying level. In this way, one can introduce new functionality, upgrade or replace a system at each level without affecting other systems or activities. TDOK 2010:21_Mall Riktlinje v. 1.0 6 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Figure  1.  Principal  system  architecture   TDOK 2010:21_Mall Riktlinje v. 1.0 7 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 4 Purpose The purpose of this protocol is to create a standardized way to communicate between systems at the local level and systems at the regional level regardless of supplier and technology. The goal is to be able to easily add and remove signals in new facilities and applications without having to expand or change the standards and guidelines. This means that the protocol , as opposed to many other standards and protocols do not include detailed information about the signal exchange but is focused on defining the types of signals which are then described construction or items specifically. The goal is that in the long term, based on installed systems and objects, is to be able to produce signal exchange lists of type object that can be reused in new contracts so that alarm messages, commands, etc. have the same names regardless of facility or provider. The purpose of the signal exchange is to provide information relating to, for example, traffic contol managers and administrators . E.g.the information needed to monitor and control the plant, as well as the information that can be used for statistics and analysis of traffic and plant status. For instance, alarms contains sufficient information to be able to create a work order in Maximo which is then sent to the operating contractor, ie. sufficient information about the type of skills and equipment necessary to correct the error. Additional detailed information about an alarm ( e.g. which I / O card has broken, the LED chain that is out of order, etc.) can read on site via vendor-specific web interface or operator panel. 4.1 Identified requirements In order to provide an information exchange that is not depenent of technology area or vendor specific information - four message types have been identified that cover all types of information that the Swedish Transport Administration needs. The information in each message is dynamic and is defined by facility type or specific facility in a specific signal exchange list (SXL). This list also represents the interface between the supervision system / other facilities and equipment. The four message types are: • Alarm. System, traffic- or monitoring alarms that require action by the traffic or engineer . Usually from the facility to the monitoring system at onset • Aggregated status. An aggregated status that gives an overview picture of the status of the plant. Usually from the facility at the change or when connecting to a main control system • Status, status changes , indications and detailed information should be logged or made visible at the supervision level. Sent upon request from the supervision system / other facility or via subscription (either from a change in status or using time intervals) • Command. Commands sent from a supervision system or other facility to alter the equipment / object status or control principle TDOK 2010:21_Mall Riktlinje v. 1.0 8 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 5 Applicability 5.1 Scope This document is a generic protocol specification for RSMP interface that describes the protocol transfer mechanisms and function. The document is a specification that allows for many use cases within and outside the Swedish Transport Administration. The document is provided for those who need to implement a RSMP interface. 5.1.1 RESPONSIBILITY The Swedish Transport Administration (STA) is providing this interface specification as information only. The STA is not responsible for any consequences that implementation of the specification can lead to for the supplier or any third party. 5.2 Object model This protocol usess the Datex II ( datex2.eu ) meta- model for its object model. Meta model consists of a set of rules that describe how classes and objects are defined. The reason why the Datex II metamodel has been adopted is that it will eventually provide the possiblity for this protocol to become an international standard that can later be included with the object model for Datex II. The object model is technology independent, ie can be implemented in various ways such as using ASN.1 , JSON or XML. In Chapter 5.4 all examples is provided in XML format for clarity. But the communication between the facility and supervision systems / other facility uses JSON format. In Chapter 5.5 all message types in both XML and JSON are provided side by side. Objects used for message exchange is Alarm with subclasses Issue, Acknowledge and Suspend. For other objects there are classes AggregatedStatus, StatusRequest, StatusResponse, CommandRequest, CommandResponse, Watchdog, MessageAck, MessageAck, MessageNotAck. For detailed information about how these classes are used, see chapter 5.4 Basic structure . TDOK 2010:21_Mall Riktlinje v. 1.0 9 (55) GUIDELINE DokumentID 5.3 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Transport of data The message flow is different between different types of messages. Some messages are event driven and sent without a request (push) , while others are interaction driven , ie . they sent in response to a request from a host system or other system ( client- server). To ensure that messages reach their destinations a message acknowledgment is sent for all messages This gives the application a simple way to follow up on the message exchange. To communicate between equpiments and supervisions systems a pure TCP connection is used (TCP / IP) , and the data sent is based on the JSON format , ie formatted text. 5.3.1 COMMUNICATION ESTABLISHMENT When establishing communication, messages are sent in the following order. 1. 2. 3. 4. RSMP / SXL version (according to chapter 5.4.6 ) Watchdog (according to chapter 5.4.7 ) Aggregated status (according to chapter 5.4.2) All active and blocked alarm is sent (according to chapter 5.4.1 ). The alarms that are not sent will be interpreted as non- active and non-blocked by the supervision system. 5. Any remaining messages in the equipment's outgoing communication buffer is sent 6. Any previous subscriptions to status messages are re-established ; because they automatically cease at communication disruption 5.3.2 COMMUNICATION DISRUPTION In the event of a communications failure the outgoing messages are stored in the equipment's communication buffer. Once communication is restored all the messages in the communications buffer are sent. Any subscriptions to status messages ceases if the communication failure occurs. In the event of communications failure or power outage outgoing communication buffer of equipment not empty , this does not apply watchdog messages. The internal communication buffer of the device must at a minimum be sized to be able to store 1000 messages. At full communication buffer the FIFO principle applies. 5.3.3 TRANSPORT BETWEEN SITE AND SUPERVISION SYSTEM Supervision system acts a socket server and waits for the site to connect. If the communication were to fail it is the site’s responsibility to reconnect. 5.3.4 TRANSPORT BETWEEN SITES One site acts as socket server and waits for the other site to connect. If the communication were to fail it is the connecting site’s responsibility to reconnect. TDOK 2010:21_Mall Riktlinje v. 1.0 10 (55) GUIDELINE DokumentID 5.4 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Basic structure Unicode (ISO 10646) and UTF-8 is used for all messages. All messages are based on the structure presented below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 XML  code  1:  Basic  structure  for  a  XML  message.  In  this  example  the  message  type  is  an  alarm  message     The following table is describing the variable content of the message: Element messageId Value (GUID) ntsObjectId (valbar) (Defined in SXL) externalNtsId (valbar) (Defined in SXL) Description Message identity. Generated as a GUID (Globally unique identifier) in the equipment that sent the message. Only version 4 of Leach-Salz UUID is used. Component-id for the NTS object which the message is referring to. Identity for the NTS objects in communication between NTS and other systems. The format is 5 integers (Mentioned in SL31 Object-Identity) Defined in cooperation with representatives from NTS. Unique for the site. componentId (defined SXL) Component id for the object which the message is refereeing to TDOK 2010:21_Mall Riktlinje v. 1.0 11 (55) GUIDELINE DokumentID 5.4.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) ALARM MESSAGES An alarm message is sent to the supervision system when: • An alarm becomes active / inactive • An alarm is acknowledged • An alarm is being suspended / un-suspended An acknowlegment of an alarm does not cause a single alarm event to be acknowledged but all alarm events for the specific object with the associated alarm code id. This approach simplifies both in implementation but also in handling - if many alarms occur on the same equipment with short time intervals. A suspsend of an alarm causes all alarms from the specific object with the associated alarm code id to be suspended. Alarm messages are event driven and sent to the supervision system when the alarm occurs. Acknowledgement of alarms and alarm suspend messages are interaction driven. 5.4.1.1 5.4.1.1.1 Message structure Structure for an alarm message An alarm message has the same structure when it’s send regardless whether or not it is a new alarm, being acknowledged or being suspended, with the exception of “alarmSpecialisation”. The following table describes the differences: Element and value Meaing An alarm becomes active/in-active An alarm is acknowledged Suspension of an alarm is being activated/deactivated An alarm message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 A001 Lampfel på lykta 1 (röd) 3143 notAcknowledged TDOK 2010:21_Mall Riktlinje v. 1.0 12 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) active notSuspended 2009-10-01T11:59:31.571Z T 2 signalgrupp 1 färg röd XML  code  2:  An  alarm  message  which  contains  a  lamp  error  at  the  site  AB+84001=860VA001.     The following table is describing the variable content of the message: 5.4.1.1.1.1 Basic (xsi:type = Alarm) Element alarmCodeId Value (Defined in SXL) externalAlarmCodeId (optional) (Manufacturer specific) externalNtsAlarmCodeId (optional) (Defined in SXL) Description Alarm code id. Determined in the signal exchange list (SXL). The examples in this document are defined according to the following format: Ayyy, where yyy is a unique number. Manufacturer specific alarm code and alarm description Manufacturer, model, alarm code och additional alarm description Alarm code in order to identify alarm type during communication with NTS and other system. (Benämns i SL31 Alarm-Code) 5.4.1.1.1.2 Alarm status Element acknowledegeState alarmState suspendState timestamp Value acknowledged notAcknowledged inactive active suspended notSuspended (timestamp) Description The alarm is acknowledged The alarm is not acknowledged The alarm is inactive The alarm is active The alarm is suspended The alarm is not suspended Timestamp for when the alarm either occurs, gets acknowledged or gets suspended. See the contents of alarmSpecialisation to determine which type timetamp is used. The timestamp uses the W3C XML dateTime definition with a 3 decimal places. All timestamps TDOK 2010:21_Mall Riktlinje v. 1.0 13 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) are set at the local level (and not in the supervision system) when the alarm occurs (and not when the message is sent). All timestamps uses UTC. category T D A character, either ”T” or ”D”. An alarm is belongs to one of these categories: T. Traffic alarm D. Technical alarm Traffic alarm: Traffic alarms indicate events in the traffic related functions or the technical processes that effects traffic. A couple of examples from a tunnel: • Stopped vehicle • Fire alarm • Error which affects message to motorists • High level of CO2 in traffic room • Etc. description (only in SXL, never actually sent) (Defined in SXL) priority [0-9] Technical alarm: Technical alarms are alarms that do not directly affect the traffic. One example of a technical alarm is when an impulse fan stops working. Description of the alarm. Only defined in SXL and is never actually sent. (The format of the description is free of choice but has the following requirements: • The text is unique for the object type • The text is defined in cooperation with the Purchaser before use) The priority of the message The following values are defined: 1 = alarm that requires immediate action. 2 = alarm that does not require immediate action, but action is planned during the next work shift. 3 = alarm that will be corrected during the next planned maintenance shift. 5.4.1.1.1.3 Return values Element name type (Only is SXL, not actually sent) Value (Defined in SXL) (Defined in SXL) Description Unique reference of the value The data type of the value. Defined in the SXLbut is not actually sent General definition: raw Value is expressed as raw value scale Value is expressed as scale value unit Value is expressed as units string Text information integer Numerical value (16-bit signed integer), [-32768 – 32767] long Numerical value (32-bit signed long) TDOK 2010:21_Mall Riktlinje v. 1.0 14 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) real unit (Only is SXL, not actually sent) value 5.4.1.1.2 (Defined in SXL) (Defined in SXL) Float (64-bit double precision floating point) boolean Boolean data type ordinal Represents index base64 Binary data expressed in base64 format According to RFC-4648 The unit of the value. Defined in SXL but are not actually sent Value Structure for alarm acknowledgement message An alarm acknowledgement message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 A001 Larmfel på lykta 1 (röd) 3143 XML  code  3:  An  alarm  acknowledgement  message  that  acknowledges  an  alarm     The following table is describing the variable content of the message: 5.4.1.1.2.1 Basic (xsi:type = Alarm) Element Value Description alarmCodeId (Defined in SXL) externalAlarmCodeId (optional) (Manufacturer specific) externalNtsAlarmCodeId (optional) (Defined in SXL) Alarm code id. Determined in the signal exchange list (SXL). The examples in this document are defined according to the following format: Ayyy, where yyy is a unique number. Manufacturer specific alarm code and alarm description Manufacturer, model, alarm code och additional alarm description Alarm code in order to identify alarm type during communication with NTS and other system. (Benämns i SL31 Alarm-Code) TDOK 2010:21_Mall Riktlinje v. 1.0 15 (55) GUIDELINE DokumentID 5.4.1.1.2.2 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Alarm acknowledgement (xsi:type = Acknowledge) (no content) 5.4.1.1.3 Structure for alarm suspend message An alarm suspend message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 A001 Larmfel på lykta 1 (röd) 3143 suspend XML  code  4:  An  alarm  suspend  message  that  suspends  an  alarm   The following table is describing the variable content of the message: 5.4.1.1.3.1 Basic (xsi:type = Alarm) Element Value Description alarmCodeId (Defined in SXL) externalAlarmCodeId (optional) (Manufacturer specific) externalNtsAlarmCodeId (optional) (Defined in SXL) Alarm code id. Determined by the signal exchange list (SXL). The examples in this document are defined according to the following format: Ayyy, where yyy is a unique number. Manufacturer specific alarm code and alarm description Manufacturer, model, alarm code och additional alarm description Alarm code in order to identify alarm type during communication with NTS and other system. (Benämns i SL31 Alarm-Code) 5.4.1.1.3.2 Alarm suspend (xsi:type = Suspend) TDOK 2010:21_Mall Riktlinje v. 1.0 16 (55) GUIDELINE DokumentID Element suspendAction 5.4.1.2 Value suspend resume Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Description Activate suspend of an alarm Deactivate a suspend of an alarm Message exchange between site and supervision system Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. 5.4.1.2.1 An alarm is active/inactive 1 Överordnat  system Larmmeddelande Vägsidesutrustning 1 5.4.1.2.2 An alarm message is sent to supervision system with the status of the alarm (the alarm is active/inactive) An alarm is acknowledged at the supervision system TDOK 2010:21_Mall Riktlinje v. 1.0 17 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Överordnat  system 1 2 Kvitteringsmeddelande Larmmeddelande Vägsidesutrustning 1 An alarm acknowledgement message is sent to the site 2 An alarm message is sent to the supervision system (that the alarm is acknowledged) 5.4.1.2.3 An alarm is acknowledged at the site 1 Överordnat  system Larmmeddelande Vägsidesutrustning 1 5.4.1.2.4 An alarm message is being sent to the supervision system with the status of the alarm (that the alarm is acknowledged) An alarm is suspended/unsuspended from the supervision system TDOK 2010:21_Mall Riktlinje v. 1.0 18 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Överordnat  system 2 1 Blockeringsmeddelande  (av/på) Larmmeddelande Vägsidesutrustning 1 An alarm suspend message is being sent to the site 2 An alarm message is sent to the supervision system with the status of the alarm (that the suspension is activated/deactivated) 5.4.1.2.5 An alarm is suspended/unsuspended from the site 1 Överordnat  system Larmmeddelande Vägsidesutrustning 1 5.4.2 An alarm message is sent to the supervision system with the status of the alarm (that suspension is activated/deactivated) AGGREGATED STATUS MESSAGE This type of message is sent to the supervision system to inform about the status of the site. Aggregated status messages are interaction driven and are sent when the state bits, functional position or functional status is changed at the site. TDOK 2010:21_Mall Riktlinje v. 1.0 19 (55) GUIDELINE DokumentID 5.4.2.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Message structure An aggregated status message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 F+40100=416CG100 2009-10-02T14:34:34.345Z Trafikstyrning Automatiskt nedsatt hastighet 1 false 2 true 3 true 4 false 5 false 6 false 7 false 8 false TDOK 2010:21_Mall Riktlinje v. 1.0 20 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML  code  5:  A  aggregated  status  message  that  informs  that  the  site  has  change  status  bits,  functional  position  and/or   functional  status.   The following tables are describing the variable content of the message: 5.4.2.1.1 Basic (aggregatedStatus) Element aggstatusTimeStamp 5.4.2.1.2 Value (tidsstämpel) Description The timestamp uses the W3C XML dateTime definition with a 3 decimal places. All timestamps are set at the local level (and not in the supervision system) when the event occurs (and not when the message is sent). All timestamps uses UTC. Aggregated status (aggregatedStatusSpecialisation) Element functionalPosition Value (Defined in SXL) Description Functional position functionalState (optional) (Defined in SXL) Functional state state (see below) Status bits (see below) 5.4.2.1.3 Status bits (state) The status bits are a set of 8 bits that describes the state of the site for NTS. Every bit can either be true or false Element state name Value true|false [1-8] Description Status bit Bit nr (integer between 1 and 8) The principle of aggregating of statuses for each bit is defined by the associated comments in the signal exchange list (SXL). A generic description of each bit is presented in the table below Element state Bit (name) 1 2 3 4 Description Status The site is out of operation by the local control system or maintenance personnel working. Supervision system has no contact with the site The site has an alarm that requires immediate action. (Priority 1) The site has an alarm that does not require immediate action but is planned during the Light blue – local control Purple – Communication disruption Red – High priority alarm Yellow – Medium priority alarm TDOK 2010:21_Mall Riktlinje v. 1.0 21 (55) GUIDELINE DokumentID 5 6 7 8 5.4.2.2 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) next work shift (Priority 2) The site has an alarm that will corrected at the next planned maintenance shift (Priority 3) The site is connected and is currently in use. The site is connected but is currently not is use The site is not connected to the supervision system. Blue – Low priority alarm Green - Normal operation – In use Dark grey - rest Light grey – Not Connected Message exchange between site and supervision system Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. 1 Överordnat  system ”Aggregerad  status-­‐”meddelande Anläggning (Functional state, functional position or status bits changes at the site) 1 5.4.3 An aggregated status message is sent to the supervision system. STATUS MESSAGES The status message is a type of message that is sent to the supervision system or other equipment with the status of one or more requested objects. The status message can both be interaction driven or event driver and can be sent during the following prerequisites: • When status is requested from the supervision system or other equipment. • According to subscription – either by using a fixed time interval or when the status change. TDOK 2010:21_Mall Riktlinje v. 1.0 22 (55) GUIDELINE DokumentID 5.4.3.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Message structure 5.4.3.1.1 Structure for a request of a status of one or several objects A status request message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 S003 speed S003 occupancy XML  code  6:  A  status  request  message  that  requests  the  current  value  of  the  requested  object     The following tables are describing the variable content of the message: 5.4.3.1.1.1 Basic (xsi:type = StatusRequest) Element statusCodeId Värde (Defined in SXL) name (Defined in SXL) 5.4.3.1.2 Beskrivning Status code id. Determined by the signal exchange list (SXL). The examples in this document are defined according to the following format: syyy, where yyy is a unique number. Unique reference Structure for a message with status of one or several objects A message with status of one or several objects has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. TDOK 2010:21_Mall Riktlinje v. 1.0 23 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 2009-10-02T14:34:34.345Z S003 speed 70 recent S003 occupancy 14 recent XML  code  7:  An  answer  to  a  status  request  that  contains  the  current  values     The following table is describing the variable content of the message: 5.4.3.1.2.1 Basic (xsi:type = StatusResponse) Element statusTimeStamp Value (timestamp) Description The timestamp uses the W3C XML dateTime definition with a 3 decimal places. All timestamps are set at the local level (and not in the supervision system) when the alarm occurs (and not when the message is sent). All timestamps uses UTC. description (Only is SXL, not actually sent) (Defined in SXL) Descriptionfor the status request. Defined in the SXL but is not actually sent. 5.4.3.1.2.2 Return values (returnvalue) Element statusCodeId Value (Defined in SXL) name type (Only is SXL, not actually sent) (Defined in SXL) (Defined in SXL) Description Status code id. Determined by the signal exchange list (SXL). The examples in this document are defined according to the following format: Syyy, where yyy is a unique number. Unique reference of the value The data type of the value. Defined in the SXL but is not actually sent General definition: raw Value is expressed as raw value scale Value is expressed as scale value unit Value is expressed as units string Text information TDOK 2010:21_Mall Riktlinje v. 1.0 24 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) integer Numerical value (16-bit signed integer), [-32768 – 32767] long Numerical value (32-bit signed long) real Float (64-bit double precision floating point) boolean Boolean data type ordinal Represents index base64 Binary data expressed in base64 format According to RFC-4648 The unit of the value. Defined in SXL but are not actually sent unit (Only is SXL, not actually sent) status (Defined in SXL) (Defined in SXL) Value ageState recent The value is up to date old The value is not up to date unknown The value is unknown and no subscription will be performed. 5.4.3.1.3 Structure for a status subscription request message on one or several objects A message with the request of subscription to a status has the structure according to the example below. The message is used for constructing a list of subscriptions of statuses, digital and analogue values and events that are desirable to send to supervision system, e.g. temperature, wind speed, power consumption, manual control. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 S003 speed 10 S003 occupancy 10 TDOK 2010:21_Mall Riktlinje v. 1.0 25 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML  code  8:  A  message  with  the  request  of  subscription  of  status  for  the  requested  object     The following table is describing the variable content of the message: 5.4.3.1.3.1 Basic (xsi:type = StatusRequest) Element updateRate 5.4.3.1.4 Value (textfält) Description Determines the interval of which the message should be sent. Defined in seconds with decimals, e.g. ”2.5” for 2.5 seconds. Dot (.) is used as decimal point. If “0” means that the value should be sent when changed. Structure for a response message with answer to a request for status subscription for one or several objects A response message with answer to a request for status subscription has the structure according to the example below. This response is always sent immediately after request for subscription regardless if the value recently changed or as an effect of the interval for the subscription. The reason for sending the response immediately is because subscriptions usually are established shortly after RSMP connection establishment and the supervision system needs to update with the current statuses and events. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 2009-10-02T14:34:34.345Z S003 speed 70 recent S003 occupancy 14 recent TDOK 2010:21_Mall Riktlinje v. 1.0 26 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML  code  9:  A  message  with  answer  to  a  request  for  subscription  of  status  on  one  or  several  objects     The allowed content is described in chapter 0 and 5.4.3.1.2.2. 5.4.3.1.5 Structure for a status unsubscription message on one or several objects A message with the request of unsubscription to a status has the structure according to the example below. The request unsubscribes on one or several objects. No particular answer is send for this request, other than the usual message acknowledgement. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 S003 speed S003 occupancy XML  code  10:  A  message  with  the  request  of  unsubscription  of  status  for  the  requested  object   The allowed content is described in chapter 0. 5.4.3.2 Message exchange between site and supervision system/other equipment - request Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. TDOK 2010:21_Mall Riktlinje v. 1.0 27 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 2 1 Överordnat  system eller  annan  anläggning Anläggning Förfrågan  om  status  på  angivet  objekt Meddelande  med  status  på  angivet  objekt 1 2 5.4.3.3 Request of status for an object Response with status of an object Message exchange between site and supervision system/other equipment – subscription Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. TDOK 2010:21_Mall Riktlinje v. 1.0 28 (55) GUIDELINE DokumentID 1 5.4.4 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Update with status of an object COMMAND MESSAGES Command messages are used to give order to do something at the site. The site responds with a command acknowledgement. Command messages are interaction driven and are sent when command are requested on any given object by the supervision system or other equipment 5.4.4.1 5.4.4.1.1 Message structure Structure of a command message request A command request message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 M002 1 setValue Auto TDOK 2010:21_Mall Riktlinje v. 1.0 29 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML  code  11:  A  command  request  message  with  the  intent  to  change  a  value  of  the  requested  object   The following table is describing the variable content of the message: 5.4.4.1.1.1 Values to send with the command (arguments) Element commandCodeId Value (Defined in SXL) name command type (Only is SXL, not actually sent) (Defined in SXL) (Defined in SXL) (Defined in SXL) unit (Only is SXL, not actually sent) value 5.4.4.1.2 (Defined in SXL) (Defined in SXL) Description Command code id. Determined in the signal exchange list (SXL). The examples in this document are defined according to the following format: Myyy, where yyy is a unique number. Unique reference Command The data type of the value. Defined in the SXL but is not actually sent General definition: raw Value is expressed as raw value scale Value is expressed as scale value unit Value is expressed as units string Text information integer Numerical value (16-bit signed integer), [-32768 – 32767] long Numerical value (32-bit signed long) real Float (64-bit double precision floating point) boolean Boolean data type ordinal Represents index base64 Binary data expressed in base64 format According to RFC-4648 The unit of the value. Defined in SXL but are not actually sent Value Structure of command response message A command response message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416CG100 23055 AB+84001=860VA001 TDOK 2010:21_Mall Riktlinje v. 1.0 30 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 2009-10-02T14:34:34.345Z M002 recent 1 Auto XML  code  12:  An  command  response  message  that  informs  about  the  updated  value  of  the  requested  object.   The following table is describing the variable content of the message: 5.4.4.1.2.1 Basic (xsi:type = CommandResponse) Element commandTimeStamp 5.4.4.1.2.2 Value (tidsstämpel) Description The timestamp uses the W3C XML dateTime definition with a 3 decimal places. All timestamps are set at the local level (and not in the supervision system) when the alarm occurs (and not when the message is sent). All timestamps uses UTC.. Return values (returnvalue) Element commandCodeId Value (Defined in SXL) ageState recent old unknown (Defined in SXL) (Defined in SXL) name type (Only is SXL, not actually sent) unit (Only is SXL, not (Defined in SXL) Description Command code id. Determined in the signal exchange list (SXL). The examples in this document are defined according to the following format: Myyy, where yyy is a unique number. The value is up to date The value is not up to date The value is unknown Unique reference of the value The data type of the value. Defined in the SXL but is not actually sent General definition: raw Value is expressed as raw value scale Value is expressed as scale value unit Value is expressed as units string Text information integer Numerical value (16-bit signed integer), [-32768 – 32767] long Numerical value (32-bit signed long) real Float (64-bit double precision floating point) boolean Boolean data type ordinal Represents index base64 Binary data expressed in base64 format According to RFC-4648 The unit of the value. Defined in SXL but are not actually sent TDOK 2010:21_Mall Riktlinje v. 1.0 31 (55) GUIDELINE DokumentID actually sent) value 5.4.4.2 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) (Defined in SXL) Value Message exchange between site and supervision system/other equipment Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. 2 1 Överordnat  system  eller   annan  anläggning Anläggning Styrning  av  angivet  objekt Meddelande  med  svar  på  styrning  för  angivet  objekt 1 2 5.4.5 Command request for an object Command response of an object MESSAGE ACKNOWLEDGEMENT Message acknowledgement is sent as an initial answer to all other messages. This type of message should not be mixed up with alarm acknowledgement, which has a different function. The purpose of message acknowledgement is to detect communication disruptions, function as an acknowledgment that the message has reached its destination and to verify that the message was understood. There are two types of message acknowledgement – Message acknowledgment which confirms that the message was understood and Message not acknowledged which indicates that the message was not understood. The acknowledgement messages are interaction driven and are sent when any other type message are received. TDOK 2010:21_Mall Riktlinje v. 1.0 32 (55) GUIDELINE DokumentID 5.4.5.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Message structure – Message acknowledgement An acknowledgement message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E4FSD010-C336-41ac-BD58-5C80A72C7092} XML  code  13:  An  acknowledgement  message  that  confirms  that  the  previous  message  was  received  and  understood   The following table is describing the variable content of the message: 5.4.5.1.1 Basic (xsi:type = MessageAck) Element originalMessageId 5.4.5.2 Value (GUID) Description Message identity. Generated as a GUID (Globally unique identifier) in the equipment that sent the message. Only version 4 of Leach-Salz UUID is used. This message identity is used in order to inform about which message is being acknowledged. Message structure – Message not acknowledged A not acknowledgement message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E4FSD010-C336-41ac-BD58-5C80A72C7092} alarmCode: A054 does not exist XML  code  14:  An  acknowledgement  message  that  confirms  that  the  previous  message  was  received  but  not  understood   The following table is describing the variable content of the message: 5.4.5.2.1 Basic (xsi:type = MessageNotAck) Element originalMessageId Value (GUID) Description Message identity. Generated as a GUID (Globally unique identifier) in the equipment that sent the message. Only version 4 of Leach-Salz UUID is TDOK 2010:21_Mall Riktlinje v. 1.0 33 (55) GUIDELINE DokumentID reason (optional) 5.4.5.3 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) used. This message identity is used in order to inform about which message is being acknowledged. Error message where all relevant information about the nature of the error can be provided. Message exchange between site and supervision system/other equipment 5.4.5.3.1 Supervision system send initial message Överordnat  system  eller   annan  anläggning 2 1 Meddelande  från  överordnat    system  eller  annan  anläggning Kvittensmeddelande Anläggning 1 2 5.4.5.3.2 A message is sent from supervision system or other equipment The site responds with an message acknowledgement Site sends initial message TDOK 2010:21_Mall Riktlinje v. 1.0 34 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Överordnat  system  eller   annan  anläggning 2 1 Meddelande  från  anläggning Kvittensmeddelande Anläggning 1 2 5.4.6 A message is sent from the site The supervision system or other equipment responds with an message acknowledgement RSMP/SXL VERSION Version of RSMP and revision of SXL are always sent directly after establishing communication. Both communicating systems send this as their first message and waits for message response until any other messages are sent. Information regarding all supported RSMP versions should be included in the version message. The version message should be implemented in such a way that is should be possible to add additional tags/variables (e.g. date) without affecting existing implementations. If any discrepancies with the version numbers are detected between the two communicating systems this should be set using a MessageNotAck. The communication is terminated after that and an internal alarm is activated in both communicating system. If both communicating systems support several RSMP versions it is always the latest version that should be used. 5.4.6.1 Message structure A version message has the structure according to the example below. In the example below the system has support for RSMP version 1.0, 1.2 and 1.3. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} F+40100=416 TDOK 2010:21_Mall Riktlinje v. 1.0 35 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 1.0 1.2 1.3 1.3 XML  cod  15:  A  version  message  that  informs  which  versions  of  RSMP  that  is  supported,  and  which  revision  of  SXL  is  used.   The following table is describing the variable content of the message: 5.4.6.1.1 Basic (xsi:type = Version) Element siteId Value (Defined in SXL) rsmpVersion (Defined in the guidline) (Defined in SXL) sxlRevision 5.4.6.2 Description Site identity. Used in order to refer to a “logical” name of site. At the STA, the following format could be used: -­‐ Using site id from the STAs component id standard VV:publ 2007:54 ISSN 14019612. E.g. ”40100”. -­‐ It is also possible to use the complete component id (VV:publ 2007:54 ISSN 1401-9612) of the grouped object in the site if the above site id part of the component id is insufficient in order to create an unique identity. All the site id that are used are sent in the message Version of RSMP. E.g. ”1.0”, ”1.1” eller ”1.3” Revision of SXL. E.g ”1.3” Message exchange between site and supervision system/other equipment Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. 5.4.6.2.1 The site sends a version message TDOK 2010:21_Mall Riktlinje v. 1.0 36 (55) GUIDELINE DokumentID 1 5.4.7 Version [Ärendenummer] 3.1.2 (unofficial) Version message is sent from the site 5.4.6.2.2 1 Ev. ärendenummer Supervision system/other equipment sends version message Version message is send from supervision system/other equipment WATCHDOG The primary purpose of watchdog messages is to ensure that the communication remains established and to detect any communication disruptions between site and supervision system. For any subsustem alarms are used instead. The secondary purpose of watchdog messages is to provide a timestamp that can be used for simple time synchronization. Unless other time synchronization method is used or other reasons apply, the site should synchronize its clock using the timestamp from watchdog messages – both at communication establishment and then at least once every 24 hours. Watchdog messages are sent in both directions, both from the site and from the supervision system. At initial communication establishment (after version message) the watchdog message should be sent. 5.4.7.1 Message structure A watchdog message has the structure according to the example below. Bold text is content that are variable, e.g. message information. Non-bold text is part of the message basic structure. {E68A0010-C336-41ac-BD58-5C80A72C7092} 2009-10-02T14:34:34.341Z XML  code  16:  A  watchdog  message   TDOK 2010:21_Mall Riktlinje v. 1.0 37 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) The following table is describing the variable content of the message: 5.4.7.1.1 Basic (xsi:type = Watchdog) Element watchdogTimestamp 5.4.7.2 Value (tidsstämpel) Description The timestamp uses the W3C XML dateTime definition with a 3 decimal places. All timestamps are set at the local level (and not in the supervision system) when the alarm occurs (and not when the message is sent). All timestamps uses UTC. Message exchange between site and supervision system/other equipment Message acknowledgement (see chapter 5.4.5) is implicit in the following figure. 5.4.7.2.1 1 5.4.7.2.2 Site sends watchdog message Watchdog message is sent from site Supervision system/other equipment sends watchdog message TDOK 2010:21_Mall Riktlinje v. 1.0 38 (55) GUIDELINE DokumentID 1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Watchdog message is sent from supervision system/other equipment TDOK 2010:21_Mall Riktlinje v. 1.0 39 (55) GUIDELINE DokumentID 5.5 5.5.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Usage of JSON COMPARISON OF ELEMENTS The following table present a comparison of the names used in XML verses JSON. Please note that the JSON elements are formatted as JSON string elements and not JSON number or JSON boolean. Element in 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 statusCodeId Element in 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 sCI TDOK 2010:21_Mall Riktlinje v. 1.0 40 (55) GUIDELINE DokumentID statusTimestamp suspendState sxlRevision type unit updateRate watchdogTimestamp 5.5.2 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) sTs sS SXL t u uRt wTs WRAPPING OF PACKETS Both Json and XML packets can be tricky to decode unless one always know that the packet is complete. Json lacks an end tag and an XML end tag may be embedded in the text source. In order to reliably detect the end of a packet one must therefore make an own parser of perform tricks in the code, which is not very good. In both Json and XML there could exist tab characters (0x09), CR (0x0d) and LF (0x0a). Are the packets serialized using .NET those special characters does not exist. Therefore it is a good practice to use formfeed (0x0c), e.g. ’\f’ in C/C++/C#. Formfeed cannot be embedded in the packets because those are encoded in UTF-8 so the parser only needs to search the incoming buffer for 0x0c and deal with every packet. Example: {"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> JSON  code  1:  Example  of  wrapping  of  a  packet   Character between <> is the bytes binary content in hex (ASCII koden), ex <0x0c> is ASCII code 12, e.g. FF (formfeed). TDOK 2010:21_Mall Riktlinje v. 1.0 41 (55) GUIDELINE DokumentID 5.5.3 5.5.3.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) ALARM MESSAGES Structure for an alarm message The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "ntsOId": "F+40100=416CG100", "xNId": "23055", {E68A0010-C336-41ac-BD58-5C80A72C7092} "cId": "AB+84001=860VA001", F+40100=416CG100 "aCId": "A001", 23055 "xACId": "Lampfel på lykta 1 (röd)", AB+84001=860VA001 "xNACId": "3143", A001 "aSp": "Issue", Lampfel på lykta 1 (röd) "ack": "notAcknowledged", 3143 "aS": "active", "sS": "notSuspended", notAcknowledged "aTs": "2009-10-01T11:59:31.571Z", active "cat": "D", notSuspended "pri": "2" 2009-10-01T11:59:31.571Z "rvs": [ D { 2 "n": "signalgrupp", "v": "1" }, signalgrupp { 1 "n": färg", färg "v": "röd" }] } röd XML/JSON  code  1:  Comparison  of  example  of  alarm  message  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 42 (55) GUIDELINE DokumentID 5.5.3.2 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Structure for alarm acknowledgement message The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "ntsOId": "F+40100=416CG100", "xNId": "23055", {E68A0010-C336-41ac-BD58- "cId": "AB+84001=860VA001", 5C80A72C7092} "aCId": "A001", F+40100=416CG100 "xACId": "Larmfel på lykta 1 (röd)", 23055 "xNACId": "3143", AB+84001=860VA001 "aSp": "acknowledge", A001 "ack": "Acknowledged", Larmfel på lykta 1 (röd) "aS": "active", 3143 "sS": "notSuspended", "aTs": "2009-10-01T11:59:31.571Z", "cat": "b", "pri": "2" "rvs": [ { "n": "signalgrupp", "v": "1" }, { "n": färg", "v": "röd" }] } XML/JSON  code  2:  Comparison  of  example  of  alarm  acknowledgement  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 43 (55) GUIDELINE DokumentID 5.5.3.3 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Structure for alarm suspend message The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "ntsOId": "F+40100=416CG100", "xNId": "23055", {E68A0010-C336-41ac-BD58- "cId": "AB+84001=860VA001", 5C80A72C7092} "aCId": "A001", F+40100=416CG100 "xACId": "Larmfel på lykta 1 (röd)", 23055 "xNACId": "3143", AB+84001=860VA001 A001 "aSp": "suspend" } Larmfel på lykta 1 (röd) 3143 suspend XML/JSON  code  3:  Comparison  of  example  of  alarm  suspend  message  XML/JSON   5.5.4 5.5.4.1 AGGREGATED STATUS MESSAGE Message structure The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. TDOK 2010:21_Mall Riktlinje v. 1.0 44 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML JSON { "ntsOId": "F+40100=416CG100", "xNId": "23055", {E68A0010-C336-41ac-BD58- "cId": "F+40100=416CG100", 5C80A72C7092} "aSTS": "2009-10-02T14:34:34.345Z", F+40100=416CG100 "fP": "Trafikstyrning", 23055 "fS": "Automatiskt nedsatt hastighet", F+40100=416CG100 2009-1002T14:34:34.345Z "se": ["false", "true", "true", "false", "false", "false", "false", "false"] } Trafikstyrning Automatiskt nedsatt hastighet 1 false 2 true 3 true 4 false 5 false 6 false 7 false 8 false TDOK 2010:21_Mall Riktlinje v. 1.0 45 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML/JSON-­‐kod  4:  Exempel  på  motsvarighet  av  ”aggregerad  status”-­‐  meddelande  XML/JSON   5.5.5 5.5.5.1 STATUS MESSAGES Structure for a request of a status of one or several objects The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "xNId": "23055", "cId": "AB+84001=860VA001", {E68A0010-C336-41ac-BD58- "sS":[ 5C80A72C7092} {"sCI": "S003" F+40100=416CG100 ”n":"speed"}, 23055 {"sCI": "S003", "n":"occupancy"} AB+84001=860VA001 S003 speed S003 occupancy ] } XML/JSON  code  5:  Comparison  of  example  of  status  request  message  XML/JSON   5.5.5.2 Structure for a message with status of one or several objects The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. TDOK 2010:21_Mall Riktlinje v. 1.0 46 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML JSON { "xNId": "23055", "cId": "AB+84001=860VA001", {E68A0010-C336-41ac-BD58- "sTs": "2009-10-02T14:34:34.345Z", 5C80A72C7092} "sS":[ F+40100=416CG100 {"sCI": "S003", 23055 "n":"1", AB+84001=860VA001 "s": "70", 2009-10-02T14:34:34.345Z "q": "recent"}, {"sCI": "S007", "n":"1", S003 "s": "0", recent "q": "unknown"} 1 ] 70 } S007 unknown 1 0 XML/JSON  code  6:  Comparison  of  example  of  status  response  message  XML/JSON   5.5.5.3 Structure for a status subscription request message on one or several objects The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "xNId": "23055", {E68A0010-C336-41ac-BD58- "cId": "AB+84001=860VA001", "sS":[ TDOK 2010:21_Mall Riktlinje v. 1.0 47 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 5C80A72C7092} {"sCI": "S003", F+40100=416CG100 "n": "speed", 23055 "uRt": "10"}, AB+84001=860VA001 {"sCI": "S003", "n":" occupancy ", "uRt": "10"} S003 speed ] } 10 S003 occupancy 10 XML/JSON  code  7:  Comparison  of  example  of  status  subscription  message  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 48 (55) GUIDELINE DokumentID 5.5.5.4 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Structure for a response message with answer to a request for status subscription for one or several objects The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "xNId": "23055", "cId": "AB+84001=860VA001", {E68A0010-C336-41ac-BD58- "sTs": "2009-10-02T14:34:34.345Z", 5C80A72C7092} "sS":[ F+40100=416CG100 {"sCI": "S003", 23055 "n":"1", AB+84001=860VA001 "s": "70", 2009-10-02T14:34:34.345Z "q": "recent"}, {"sCI": "S007", "n":"1", S003 "s": "0", recent "q": "unknown"} 1 70 ] } S007 unknown 1 0 XML/JSON  code  8:  Comparison  of  example  of  answer  of  status  subscription  message  XML/JSON   5.5.5.5 Structure for a status unsubscription message on one or several objects The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. TDOK 2010:21_Mall Riktlinje v. 1.0 49 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) XML JSON { "xNId": "23055", "cId": "AB+84001=860VA001", {E68A0010-C336-41ac-BD58- "sS":[ 5C80A72C7092} {"sCI": "S003", F+40100=416CG100 "n":"speed"}, 23055 {"sCI": "S003", AB+84001=860VA001 "n":" occupancy”} ] } S003 speed S003 occupancy XML/JSON  code  9:  Comparison  of  example  of  answer  of  status  unsubscription  message  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 50 (55) GUIDELINE DokumentID 5.5.6 5.5.6.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) COMMAND MESSAGES Structure of a command message request The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "xNId": "23055", "cId": "AB+84001=860VA001", {E68A0010-C336-41ac-BD58- "arg": [ 5C80A72C7092} { F+40100=416CG100 "cCI": "M003", 23055 "n": "1", AB+84001=860VA001 "cO": "setValue", "v": "Auto" M002 }] } 1 setValue Auto XML/JSON  code  10:  Comparison  of  example  of  command  request  message  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 51 (55) GUIDELINE DokumentID 5.5.6.2 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) Structure of command response message The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "xNId": "23055", "cId": "AB+84001=860VA001", {E68A0010-C336-41ac-BD58- "cTS": "2009-10-02T14:34:34.345Z", 5C80A72C7092} "rvs": [ F+40100=416CG100 { 23055 "cCI": "M002", AB+84001=860VA001 "age": "recent", 2009-10- "n": "1", 02T14:34:34.345Z "v": "70" }] } M002 recent 1 Auto XML/JSON  code  11:  Comparison  of  example  of  command  response  message  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 52 (55) GUIDELINE DokumentID 5.5.7 5.5.7.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) MESSAGE ACKNOWLEDGEMENT Message structure – Message acknowledgement The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { {E4FSD010-C336-41ac-BD585C80A72C7092} XML/JSON  code  12:  Comparison  of  example  of  message  acknowledgement  XML/JSON   5.5.7.2 Message structure – Message not acknowledged The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "rea": "alarmCode: A054 does not exist" } {E4FSD010-C336-41ac-BD585C80A72C7092} alarmCode: A054 does not exist XML/JSON  code  13:  Comparison  of  example  of  message  not  acknowledged  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 53 (55) GUIDELINE DokumentID 5.5.8 5.5.8.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) RSMP/SXL VERSION Message structure The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "mId": "E68A0010-C336-41ac-BD585C80A72C7092", {E68A0010-C336-41ac-BD58-5C80A72C7092} "siteId":[ {"sId":"F+40100=416CG100"}], F+40100=416CG100 "RSMP":[ {"vers":"1.0"}, {"vers":"1.2"}, 1.0 {"vers":"1.3"}], 1.2 1.3 "SXL":"1.3" } 1.3 XML/JSON  code  14:  Comparison  of  example  of  version  message  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 54 (55) GUIDELINE DokumentID 5.5.9 5.5.9.1 Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) WATCHDOG Message structure The example below compares the message structure between the XML and JSON formats. Please note that some lines may be wrapped. XML JSON { "wTs": "2009-10-02T14:34:34.345Z", } {E68A0010-C336-41ac-BD585C80A72C7092} 2009-1002T14:34:34.345Z XML/JSON  code  16:  Comparison  of  watchdog  messages  XML/JSON   TDOK 2010:21_Mall Riktlinje v. 1.0 55 (55) GUIDELINE DokumentID Ev. ärendenummer Version [Ärendenummer] 3.1.2 (unofficial) 6 Change log Version Date Change Name (initals) 1.0 2011-05-20 DO 3.0 3.1.1 3.1.2 2011-11-04 2011-12-23 2012-02-29 Protocol clarified and watchdog revised The protocol is revised Minor revision Minor revision DO DO DO TDOK 2010:21_Mall Riktlinje v. 1.0