Most signal systems need to know if one ore more blocks ahead are free to determine the aspect.
Rocrail is able to provide such information to the signaling system if the property Reserve second next block is set in the rocrail.ini:
This flag is global and for all trains.
To classify trains it is better to leave this flag unset but use the individuals found in the Loco Details Tab. If only Inter City trains have this flag set it will give some better runs.
In the following example the train starts in block 1 and has to wait in block 5. The running direction is from left to right and block 4 has routes to block 5 and 6, and block 9 routes back to block 1.
Screen shots are provided for every sensor event.
The example can be tested with the DDA or DDX library by simulating sensor events with mouse clicks.
Layout file: signals-ahead.xml
|Start; two blocks ahead are reserved.|
|Enter block 2; block 4 is reserved.|
|In block 2; signal block 1 is set to red.|
|Enter block 3; block 5 is reserved in which the train must wait.|
|In block 3; signal block 2 is set to red.|
|Enter block 4; no further block is reserved because the train must wait in block 5.|
|In block 4; signal block 3 is set to red.|
|Enter block 5 where the train must wait.|
|In block 5; signal block 4 is set to red.|
|block||start||enter 2||in 2||enter 3||in 3||enter 4||in 4||enter 5||in 5|
A white aspect is set incase there are thrown switches in the route instead of green for no break expected in next block. (svn2513)
For example if after the wait in block 5 the train is free to run to block 7 and 9, the signal aspect for block 5 would be set to white.
Map the white aspect on green or yellow if it cannot be shown by the hardware signal decoder or the signaling system.
|white||green with flashing number or flashing yellow with stable number in the number board ; might be a hardware solution|
remark: the color white is not used. A flashing signal could be used in some circumstances but in model railroad in my opinion not necessary. But:
flashing green : allowed to pass with the velocity number multiplied by 10 next block is free
flashing number and aspect yellow : allowed to pass with the velocity number multiplied by 10 keep braking the next signals aspect could be red.
|green||Hp1||go / proceed (at line speed)|
|white||Sh1||shunting only: line is clear, go after permission was granted|
|yellow||Hp2||slow (40km/h unless otherwise specified)|