Difference between revisions of "TD"

From Open Rail Data Wiki
Jump to navigation Jump to search
m (Added a list of topic names)
m (Update S-Class data, correct table format)
Line 5: Line 5:
 
Train Describer (TD) data is available only in geographical feeds, as well as a country-wide feed.  Topic name are as follows:
 
Train Describer (TD) data is available only in geographical feeds, as well as a country-wide feed.  Topic name are as follows:
  
{| border="1"
+
{| class="wikitable"
 
!Topic
 
!Topic
 
!Description
 
!Description
Line 57: Line 57:
 
|Western Wales and Marches
 
|Western Wales and Marches
 
|}
 
|}
 
  
 
== Overview ==
 
== Overview ==
Line 77: Line 76:
 
* '''SH''' - Signalling data refresh finished
 
* '''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.
+
The CA, CB, CC and CT messages are referred to as C-Class, and the SF, SG and SH messages are referred to as S-Class.
  
'''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.
+
=== C-Class ===
 
 
=== Format ===
 
  
 
Messages are sent in JSON format, as follows:
 
Messages are sent in JSON format, as follows:
Line 89: Line 86:
 
* {"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"}}
 +
 +
==== CA message ====
 +
 +
The CA message is a 'step' message.  This moves the description from the 'from' berth, in to the 'to' berth, cancelling the description in the 'from' berth and overwriting any description in the 'to' berth.
 +
 +
==== CB message ====
 +
 +
The CB message is a 'cancel' message.  This cancels the description in the 'from' berth.
 +
 +
==== CC message ====
 +
 +
The CC message is an 'interpose' message.  This inserts the description in to the 'to' berth, overwriting any description in the 'to' berth.
 +
 +
==== CT message ====
 +
 +
The CT message is a 'heartbeat' message, periodically sent from a train describer.
 +
 +
=== S-Class ===
 +
 +
Messages are sent in JSON format, as follows:
 +
 
* {"SF_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SF", "address"=>"3E", "data"=>"18", "report_time"=>"073814"}}
 
* {"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"}}
 
* {"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"}}
 
* {"SH_MSG"=>{"time"=>"1349696911000", "area_id"=>"WJ", "msg_type=>"SH", "address"=>"30", "data"=>"900000C0", "report_time"=>"073814"}}
  
== S* messages ==
+
S-Class messages report the status of the following signalling elements:
 
 
'''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
 
* '''Signal aspects''' - whether the signal is displaying its most restrictive aspect or not
Line 106: Line 120:
 
* '''Track circuits''' - whether a particular track circuit is occupied or not
 
* '''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.
+
Not all train describers provide S-Class data, and those that do can may a subset of the available types of signalling elements.  Support may vary within a route - for example, 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.
 +
 
 +
==== Interpreting S-Class data ====
  
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.
+
Consider the S-Class data as a set of 2,048 bits, grouped in to bytes numbered from 0x00 to 0xFF.  Each bit relates to a particular signalling element.
  
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.
+
Each time an element changes state, an SF message is sent with the value of the elements in the entire byte.
  
=== Interpretation ===
+
Every few hours, the state of all bits is sent as a 'refresh' in a series of SG messages with the value of groups of four bytes.  These messages are terminated with an SH message.
  
 
To decode the set of addresses and bits in to signalling elements, several other sets of data are required:
 
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 mapping table containing a list of bits and the signalling elements to which they refer
* A diagram containing signal numbers and permissible routes, point numbers, TRTS plungers, level crossings and track circuits
+
* A diagram containing signal numbers, routes available from signals, point numbers and track circuit detail
  
If S-Class data is released, it is anticipated that the SOP tables will be provided here in JSON format.
+
These translation tables are not currently available for all train describers that support S-Class data, however the information is being collated.

Revision as of 12:13, 21 January 2013

Train Describer (TD) Feed

Topics

Train Describer (TD) data is available only in geographical feeds, as well as a country-wide feed. Topic name are as follows:

Topic Description
TD_ALL_SIG_AREA All signalling areas
TD_SE_SIG_AREA Scotland - East
TD_SW_SIG_AREA Scotland - West
TD_LNE_NE_SIG_AREA London North Eastern - North East
TD_MC_EM_SIG_AREA Midlands & Continental - East Midlands
TD_LNE_GN_SIG_AREA London North Eastern - Great Northern
TD_LNW_LC_SIG_AREA London North Western - Lancashire and Cumbria
TD_LNW_C_SIG_AREA London North Western - Central
TD_WCS_SIG_AREA West Coast - South
TD_ANG_SIG_AREA Anglia
TD_KENT_MCC_SIG_AREA Kent and Midlands & Continental
TD_SUSS_SIG_AREA Sussex
TD_WESS_SIG_AREA Wessex
TD_WTV_SIG_AREA Western - Thames Valley
TD_WWC_SIG_AREA Western - West Country
TD_WWM_SIG_AREA Western Wales and Marches

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, CC and CT messages are referred to as C-Class, and the SF, SG and SH messages are referred to as S-Class.

C-Class

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"}}

CA message

The CA message is a 'step' message. This moves the description from the 'from' berth, in to the 'to' berth, cancelling the description in the 'from' berth and overwriting any description in the 'to' berth.

CB message

The CB message is a 'cancel' message. This cancels the description in the 'from' berth.

CC message

The CC message is an 'interpose' message. This inserts the description in to the 'to' berth, overwriting any description in the 'to' berth.

CT message

The CT message is a 'heartbeat' message, periodically sent from a train describer.

S-Class

Messages are sent in JSON format, as follows:

  • {"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-Class messages report the status of the following 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. Support may vary within a route - for example, 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.

Interpreting S-Class data

Consider the S-Class data as a set of 2,048 bits, grouped in to bytes numbered from 0x00 to 0xFF. Each bit relates to a particular signalling element.

Each time an element changes state, an SF message is sent with the value of the elements in the entire byte.

Every few hours, the state of all bits is sent as a 'refresh' in a series of SG messages with the value of groups of four bytes. These messages are terminated with an SH message.

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

  • A mapping table containing a list of bits and the signalling elements to which they refer
  • A diagram containing signal numbers, routes available from signals, point numbers and track circuit detail

These translation tables are not currently available for all train describers that support S-Class data, however the information is being collated.