MovementOrders

From SignalWiki
Jump to navigation Jump to search

The MovementOrders table defines all the scheduled movement orders.

General information

ID
(int)
Automatically increments.
MovementType
(int)
Indicates the type of movement order being defined.
 0: Renumber
 1: Turnaround (Change Cab)
 2: Couple
 3: Uncouple
 4: Call
 5: Change Driver
 6: RESERVED
 7: Pull Up
 8: Stop Short
 9: Stop Ahead
10: Take Switch Lock
11: Take Spur
12: RESERVED
13: Stable Cars
14: Spot Cars
15: RESERVED
16: RESERVED
17: RunAround
18: Content Changes (freight/passenger car load/unload)
Train_ID_SOFT
(string)
Train number of the train for which this order applies.
Train_ID_HARD
(int)
Database ID of train in Timetable table for which this order applies. If the train does not exist in the Timetable table, then this can be left empty. This allows for orders to be defined for trains that are created through other movement orders.
Predecessor_ID
(int)
Database ID within the MovementOrders table of the previous movement order. Is -1 if the order is the first in the list. This allows the simulation to properly sort the orders in the proper sequence.
OrderTrack
(string)
Name of the track where the order is to occur. This can be left empty.
OrderLocation
(string)
Name of the location (station) where the order is to occur. This cannot be left empty.
RenumberID
(string)
Train ID to renumber to. Applies to renumbering orders only.
RenumberUpdatesTNV
(bool)
True when the new train ID is automatically entered into the train number display (TNV) system.
UncoupleLeftID
(string)
Used when the order is an uncouple order. Defines the new name of the consist on the left side of the uncouple point.
UncoupleRightID
(string)
Used when the order is an uncouple order. Defines the new name of the consist on the right side of the uncouple point.
UncoupleIndex
(int)
Indicates where to uncouple, relative to the front of the train.
UncoupleLeftDirection
(int)
Indicates the new direction of the left portion of the split train. 0 = left, 1 = right.
UncoupleRightDirection
(int)
Indicates the new direction of the right portion of the split train. 0 = left, 1 = right.
UncoupleLeftCallsIn
(bool)
If the driver of the new left train should call the dispatcher after uncoupling, then this value should be true.
UncoupleRightCallsIn
(bool)
If the driver of the new right train should call the dispatcher after uncoupling, then this value should be true.
CoupleID_Partner
(string)
Defines the train ID of the train to couple with.
CoupleNewID
(string)
Defines the train ID of the train after coupling.
CoupleCallInForDeparture
(bool)
True when the driver of the newly coupled train calls the dispatcher.
NewDriverPrepTime
(date)
Time of day that a new driver should arrive at a train.
NewDriverType
(int)
Type of the new driver, as defined in the DriverTypes table.
StopShortDistance
(int)
Distance, in metres, that a train should stop before a signal. Used when the movement order is a stop short order.
FreeShuntRegion
(string)
Name of the free shunting region where this order should be defined.
FreeShuntSequence
(int)
Sequence number to use when doing free shunting orders.
FreeShuntSpotCarsNewID
(string)
Train ID of the new train after spotting cars.
FreeShuntSpotCarsNewDirection
(int)
Direction of the train after spotting cars in a free shunting order, 0 = left, 1 = right.
SpurName
(string)
The name of the spur to take.
ContentChanges
(string)
Defines the values to use when executing a Vehicle Contents movement order (type# 18).
PeriodStart
(date)
Date from which the movement order is valid. (you better copy a train and attach the movement orders to that periodic train)
PeriodEnd
(date)
Date at which the movement order no longer valid.

RunAround order (type #17)

The type number for these orders is type #17. Here's what you need in order for such an order to be loaded and executed:

Required fields
OrderStation             - mandatory
OrderTrack               - optional 
UncoupleLeftID           - the name of the resulting train on the left of the splitting point
UncoupleRightID          - the name of the resulting train on the right of the splitting point
CoupleNewID              - the name of the train after re-coupling
PickOffPoint             - splitting index as measured from the FRONT of the train. Typically, this will be 0 if you're just pulling off the first vehicle
RunAroundTime            - time, in seconds, it takes for a loco to run around. If you enter 0, a value will be guessed but it might not be realistic.
CoupleCallInForDeparture - true if you want the driver to call after recoupling.

The train must fully occupy the track on which the order is carried out (that is, the train can only be on 1 track). Train must be stopped, and the splitting index must be correct :you can't pull off more cars than there are in the consist. If there are N cars, you can pull off up to and including N+1 cars, although this would be unusual.

Once the order begins to execute, the consist goes into "timeout" mode where it does not update at all, and no communication is possible. When the loco recouples, I include time for brake testing (similar to a normal couple order) that is dependent on the length and type of train.

Be aware that the direction of the train does NOT change with this order. This means that if the train is going rightwards when the order executes, and the front loco comes off, then the resulting train will be propelled, unless you either:

  1. change direction first, and THEN run around loco
  2. change direction after recoupling



Return to Timetables