TD: Difference between revisions

From Open Rail Data Wiki
Restructured page, made more factual
Add anticipatory information about S-Class data
Line 1: Line 1:
= Train Describer (TD) Feed =
== Overview ==
== Overview ==


=== What on earth is this? ===
The Train Describer feed provides low-level detail about the position of trains and their train reporting number through a network of berths.  Usually, but not always, a berth is associated with a signal - but there are locations (such as terminal platforms at stations) where there may be more than one berth.
 
The TD feed provides low-level detail about the position of trains and their train reporting number through a network of berths.  Usually, but not always, a berth is associated with a signal - but there are locations (such as terminal platforms at stations) where there may be more than one berth.


From each berth, there are zero or more other berths which a train description may move, or 'step' in to.  Some of these may be one-way, some may be two-way.
From each berth, there are zero or more other berths which a train description may move, or 'step' in to.  Some of these may be one-way, some may be two-way.
Line 9: Line 9:
=== Message types ===
=== Message types ===


The Train Describer feed has four message types:
The Train Describer feed has seven message types:
 
* '''CA''' - Berth Step, where a description moves 'from' a berth, 'to' another berth
* '''CB''' - Berth Cancel, where a description is removed from a berth
* '''CC''' - Berth Interpose, where a description is interposed (placed in to) a berth
* '''CT''' - Heartbeat
* '''SF''' - Signalling data update
* '''SG''' - Signalling data refresh
* '''SH''' - Signalling data refresh finished


* CA - Berth Step, where a description moves 'from' a berth, 'to' another berth
The CA, CB and CC messages include a four-character train description.  At present, only class 1, 2 and 9 trains are included in the feed.
* CB - Berth Cancel, where a description is removed from a berth
* CC - Berth Interpose, where a description is interposed (placed in to) a berth
* CT - Heartbeat


With the exception of the CT message type, TD messages include a four-character train description.  At present, only class 1, 2 and 9 trains are included in the feed.
'''NOTE''': The S* message types are not yet available, but have been documented in the anticipation they will be included in the feeds in due course.


== Format ==
=== Format ===


Messages are sent in JSON format, as follows:
Messages are sent in JSON format, as follows:
Line 26: Line 31:
* {"CC_MSG"=>{"time"=>"1349696911000", "area_id"=>"G1", "msg_type"=>"CC", "descr"=>"2J01", "to"=>"G669"}}
* {"CC_MSG"=>{"time"=>"1349696911000", "area_id"=>"G1", "msg_type"=>"CC", "descr"=>"2J01", "to"=>"G669"}}
* {"CT_MSG"=>{"time"=>"1349696911000", "area_id"=>"SA", "msg_type"=>"CT", "report_time"=>"1249"}}
* {"CT_MSG"=>{"time"=>"1349696911000", "area_id"=>"SA", "msg_type"=>"CT", "report_time"=>"1249"}}
* {"SF_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SF", "address"=>"3E", "data"=>"18", "report_time"=>"073814"}}
* {"SG_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SG", "address"=>"30", "data"=>"900000C0", "report_time"=>"073814"}}
* {"SH_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SH", "address"=>"30", "data"=>"900000C0", "report_time"=>"073814"}}
== S* messages ==
'''NOTE''': The S* message types are not yet available, but have been documented in the anticipation they will be included in the feeds in due course.
The SF, SG and SG messages are called S-Class messages, and they show the status of particular signalling elements:
* '''Signal aspects''' - whether the signal is displaying its most restrictive aspect or not
* '''Points''' - whether the points are set normal or reverse
* '''Route set''' - the route set from a signal to another signal or bay platform
* '''TRTS buttons''' - the status of a Train Ready to Start button, used by train dispatch staff to indicate to the signaller that platform duties are complete
* '''Level crossings''' - whether they are lowered or raised
* '''Track circuits''' - whether a particular track circuit is occupied or not
Not all train describers provide S-Class data, and those that do can may a subset of the available types of signalling elements.  Wembley (WY) TD does not provide any S-Class data, whereas Rugby (R1 and T2) TDs provide all types of S-Class data except for level crossings.
S-Class data is held in train describers as a set of 2,048 locations, grouped in sets of 8 from 0x00 to 0xFF, which can hold either a '1' or a '0' depending on the status of a particular signalling element.  Each time an element changes state, an SF message is sent with the address of the group - from 0x00 to 0xFF, and the status of all locations in that group - from 0x00 to 0xFF.  It is entirely possible to receive an SF message which changes only one byte in an address.
Every few hours, the state of all registers is sent in a series of SG messages with addresses incrementing in groups of 0x04, and data of eight bytes (an octet).  The end of the message set is indicated by an SH message.
=== Interpretation ===
To decode the set of addresses and bits in to signalling elements, several other sets of data are required:
* The signalling outputs (SOP) table for the train describer
* A diagram containing signal numbers and permissible routes, point numbers, TRTS plungers, level crossings and track circuits
If S-Class data is released, it is anticipated that the SOP tables will be provided here in JSON format.

Revision as of 18:36, 27 October 2012

Train Describer (TD) Feed

Overview

The Train Describer feed provides low-level detail about the position of trains and their train reporting number through a network of berths. Usually, but not always, a berth is associated with a signal - but there are locations (such as terminal platforms at stations) where there may be more than one berth.

From each berth, there are zero or more other berths which a train description may move, or 'step' in to. Some of these may be one-way, some may be two-way.

Message types

The Train Describer feed has seven message types:

  • CA - Berth Step, where a description moves 'from' a berth, 'to' another berth
  • CB - Berth Cancel, where a description is removed from a berth
  • CC - Berth Interpose, where a description is interposed (placed in to) a berth
  • CT - Heartbeat
  • SF - Signalling data update
  • SG - Signalling data refresh
  • SH - Signalling data refresh finished

The CA, CB and CC messages include a four-character train description. At present, only class 1, 2 and 9 trains are included in the feed.

NOTE: The S* message types are not yet available, but have been documented in the anticipation they will be included in the feeds in due course.

Format

Messages are sent in JSON format, as follows:

  • {"CA_MSG"=>{"time"=>"1349696911000", "area_id"=>"SK", "msg_type"=>"CA", "from"=>"3647", "to"=>"3649", "descr"=>"1F42"}}
  • {"CB_MSG"=>{"time"=>"1349696911000", "area_id"=>"G1", "msg_type"=>"CB", "from"=>"G669", "descr"=>"2J01"}}
  • {"CC_MSG"=>{"time"=>"1349696911000", "area_id"=>"G1", "msg_type"=>"CC", "descr"=>"2J01", "to"=>"G669"}}
  • {"CT_MSG"=>{"time"=>"1349696911000", "area_id"=>"SA", "msg_type"=>"CT", "report_time"=>"1249"}}
  • {"SF_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SF", "address"=>"3E", "data"=>"18", "report_time"=>"073814"}}
  • {"SG_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SG", "address"=>"30", "data"=>"900000C0", "report_time"=>"073814"}}
  • {"SH_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SH", "address"=>"30", "data"=>"900000C0", "report_time"=>"073814"}}

S* messages

NOTE: The S* message types are not yet available, but have been documented in the anticipation they will be included in the feeds in due course.

The SF, SG and SG messages are called S-Class messages, and they show the status of particular signalling elements:

  • Signal aspects - whether the signal is displaying its most restrictive aspect or not
  • Points - whether the points are set normal or reverse
  • Route set - the route set from a signal to another signal or bay platform
  • TRTS buttons - the status of a Train Ready to Start button, used by train dispatch staff to indicate to the signaller that platform duties are complete
  • Level crossings - whether they are lowered or raised
  • Track circuits - whether a particular track circuit is occupied or not

Not all train describers provide S-Class data, and those that do can may a subset of the available types of signalling elements. Wembley (WY) TD does not provide any S-Class data, whereas Rugby (R1 and T2) TDs provide all types of S-Class data except for level crossings.

S-Class data is held in train describers as a set of 2,048 locations, grouped in sets of 8 from 0x00 to 0xFF, which can hold either a '1' or a '0' depending on the status of a particular signalling element. Each time an element changes state, an SF message is sent with the address of the group - from 0x00 to 0xFF, and the status of all locations in that group - from 0x00 to 0xFF. It is entirely possible to receive an SF message which changes only one byte in an address.

Every few hours, the state of all registers is sent in a series of SG messages with addresses incrementing in groups of 0x04, and data of eight bytes (an octet). The end of the message set is indicated by an SH message.

Interpretation

To decode the set of addresses and bits in to signalling elements, several other sets of data are required:

  • The signalling outputs (SOP) table for the train describer
  • A diagram containing signal numbers and permissible routes, point numbers, TRTS plungers, level crossings and track circuits

If S-Class data is released, it is anticipated that the SOP tables will be provided here in JSON format.