UC:IS:ExchangeOfLogicalTrainPositions
Exchange of Logical Train Positions Subschema: Infrastructure Related subschemas: IL TT RS Reported by: Siemens Mobility | |||
| |||
For general information on use cases see UC:Use cases |
Use case / Anwendungsfall
Exchange of Logical Train Positions
Description / Beschreibung
Current train positions should be exchanged between a TMS and other systems. Current position means: the position of trains on the rail network are transmitted as soon as they are running. Ideally, other systems should be informed almost in real-time where the trains are at the moment. This information should be provided each time a train moves from one infrastructure element (e.g. track section, route, station, train number field, timetable element) to the next.
For example, one use case is a TMS that provides the current (dispatching) timetable and train positions to a customer information system (CIS). The customer information system needs the current train positions to provide output (e.g. announcing an arriving train on a platform) at the correct time.
Data Flows and Interfaces / Datenflüsse und Schnittstellen
A TMS typically uses a separate topology layer for the logical train positions, consisting of something like 'train number fields'. In our TMS, a train number field is always placed between two consecutive main signals. When a train location is reported for a train number field, it means that the train is currently on that route (within the two delimiting main signals). When the train passes the signal at the end of the train number field, the train location is stepped to the next train number field. In addition to the exchange of train locations, it should also be possible to exchange the information when a route is set for a train (path reservation). This is also done based on train number fields, i.e. a train location or a path reservation can be reported for a train number field. When a train number field is no longer occupied by a train (train location or path reservation), the train number field is reported as cleared again.
Normally there is one train number field between consecutive signals in the same direction, but there may be more than one train number field (e.g. at platforms for joining or splitting trains). Train number fields are used in both directions if there are signals in both directions (bidirectional traffic).
The following drawing shows an example for train number fields:
- Functionality of the existing proprietary interface
TN: Train Number
The TN information is provided as vector TN steppings (train locations or path reservation). Each vector has an origin and a destination train number field. In case of a null vector, origin and destination are identical. Otherwise, the origin is the old top of train location or path reservation and the destination is the new top. The following scenarios show the principle of the TN stepping.
Scenarios:
TN Stepping
TN 1234 manually inserted in train number field DMD of station BJ
TN location is in train number field DMD, the length of the TN vector is null.
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Route set to track 11 for train 1234
The top of the TN vector is forwarded to train number field 11 (→ TN top is now in train number field 11).
<tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Next route set to track 21 for train 1234
The top of the TN vector is forwarded to train number field 21 (→ TN top is now in train number field 21).
<tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>21</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Train 1234 has passed the signal (marker board)
TN has been forwarded to train number field 11. The location of TN 1234 is now in train number field 11. (train number field DMD is empty).
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Manual TN stepping
TN 1234 manually inserted in train number field DMD of station BJ
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
TN 1234 manually forwarded to train number field 11 of station BJ
TN has been forwarded to train number field 11. The location of TN 1234 is now in train number field 11. (The TN in train number field DMD is deleted and now train number field DMD is empty).
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping> <tdDeletion> <occupancy> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </occupancy> </tdDeletion>
Setting signal (marker board) to stop
TN 1234 manually inserted in train number field DMD of station BJ
TN location is in train number field DMD, the length of the TN vector is null.
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Route set to track 11 for train 1234
The top of the TN vector is forwarded to train number field 11 (→ TN top is now in train number field 11).
<tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Signal (marker board) set to stop and route released to track 11 for train 1234
TN location is in train number field DMD, the length of the TN vector is null.
<tdDeletion> <occupancy> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </occupancy> </tdDeletion> <tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Shorten a route
TN 1234 manually inserted in train number field DMD of station BJ
TN location is in train number field DMD, the length of the TN vector is null.
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Route set to track 11 for train 1234
The top of the TN vector is forwarded to train number field 11 (→ TN top is now in train number field 11).
<tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
4.3 Next route set to track 21 for train 1234
The top of the TN vector is forwarded to train number field 21 (→ TN top is now in train number field 21).
<tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>21</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Route shortened to track 11 for train 1234
The top of the TN vector is taken back to train number field 11 (→ TN top is now in train number field 11).
<tdDeletion> <occupancy> <trainNumberField> <name>21</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </occupancy> </tdDeletion> <tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Change TN on the fly for a driving train
TN 1234 manually inserted in train number field DMD of station BJ
TN location is in train number field DMD, the length of the TN vector is null.
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
Route set to track 11 for train 1234 with an order to to change the number 1234 to 5678 on the fly in track 11
The top of the TN vector is forwarded to train number field 11 and the TN is changed to 5678.
<tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping> <tdStepping> <type>PATH</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>5678</trainNumber> </destination> </tdStepping>
Train 1234 has passed the signal (marker board)
TN has been forwarded to train number field 11. The location of the changed TN 5678 is now in train number field 11 (train number field DMD is empty).
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>11</name> <station>BJ</station> </trainNumberField> <trainNumber>5678</trainNumber> </destination> </tdStepping>
Delete TN
TN 1234 manually inserted in train number field DMD of station BJ
TN location is in train number field DMD, the length of the TN vector is null.
<tdStepping> <type>LOCATION</type> <origin> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </origin> <destination> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </destination> </tdStepping>
TN 1234 manually deleted from train number field DMD of station BJ
The TN in train number field 11 is deleted.
<tdDeletion> <occupancy> <trainNumberField> <name>DMD</name> <station>BJ</station> </trainNumberField> <trainNumber>1234</trainNumber> </occupancy> </tdDeletion>
Interference with other railML® schemas / Interferenz mit anderen railML®-Schemen
Characterizing Data / Charakterisierung der Daten
How often do the data change (update)?
Real-time (seconds)
How big are the data fragments to be exchanged (complexity)?
Very small (element)
Which views are represented by the data (focus)?
Signaling