This guide applies to Simutrans-Extended version 12.x and above only.Short comments about the new signals in Simutrans-Extended:UnidirectionalSignals are now unidirectional signals that no longer prevent trains passing in the opposite direction, but are ignored by trains passing in the opposite direction.
However its possible to build bidirectional signals if they are using the working method of
cab_signalling,
moving_block as well as
track_circuit_blockSignalboxesA signal can't just be built anymore as in previous versions: They need signalboxes in order to be built. A signalbox is in the real world the shelf or the building from which the signals are controlled, and newer techniques allows for more efficient signal systems with greater numbers and more remote controlled signals. In Simutrans, the signalbox is coded as a player building to be put next to the track:
Dat file reference for: Buildings and StopsVideo of Signals and signalboxesAspectsThe signals may now be coded to have up to 5 aspects, in addition to aspects for permissive signals and choose signals showing alternative routes.
The ordinary five aspects are:
# DANGER
# CLEAR
# CAUTION
# PRELIMINARY CAUTION
# ADVANCED CAUTIONAditional aspects that can be added:
# CALL ON
# CLEAR (subsidiary route)
# CLEAR (main route)
# CAUTION (subsidiary route)
# etc........More details how to combine the aspects are described underneath in the dat-file reference.
Permissive signalsIt is now possible to make a signal work in the permissive block mode. This is a variation of either track circuit block or absolute block or cab_signalling. It is a real life signalling system that is used to increase line capacity. I think that it is still used on the London Underground, or, in any event, was in use there until very recently. In a permissive block system, a train that is brought to a stand at a signal at danger may proceed even though the signal is at danger provided that it travels slowly enough to stop on seeing the train ahead. This is only possible where the signal controls a section of straight, unidirectional track. In real life, there sometimes are and sometimes are not subsidiary signal arms showing a "call on" aspect allowing the train to proceed in this way.
has_call_on=1 indicates the presence of graphics for such an aspect. It is possible to have permissive signals without a visible call on aspect: in this case, they will continue to show a danger aspect when the train passes. There are underground permissive signals that work in this way in Pak128.Britian-Ex. In Simutrans-Extended, permissive signals will work as such only if the route to the next signal has no junctions. If there are junctions, the permissive functionality is disabled and the signal works as an ordinary stop signal. In Pak128.Britain-Ex, the signal's sighting speed is lower for these call on signals, so there is a real disadvantage in placing them where they do not work as such. Provided that the line to the next signal has no junction, the train, once it has come to a stand at the signal, will be given a call on aspect, and will be able to proceed in drive by sight mode. This allows multiple trains to enter a section, which might be useful in busy goods loops, for instance, or low speed high density urban passenger lines. Choose signals cannot be permissive signals, as it is assumed that there will be junctions ahead. Note, however, that it is planned in future for signals that are not defined as permissive to have call on aspects to deal with light engine movements and splitting and combining trains; this is a significant new set of features, however, and has not been implemented yet.
Choose signalsThe choose signals have now become even smarter! Beside their function to send trains to different platforms on a station, it can now also find a free path through occupied tracks on a station to the other end for bypassing trains. This feature is used together with an "end of choose"-sign which has to be placed on the exits of the station. When a train aproach the choose signal, it will be given a route all the way till its destination or the "end of choose" sign, whichever is encountered first.
Also the signal can now have different graphics whether it operate as a choose signal or as a normal signal.
"Station signals"Signals with
working_method=time_interval or
working_method=time_interval_with_telegraph as well as
is_longblocksignal=1, will behave as station signals when placed on a station tile. Station signals will clear only if another train has not departed in the same direction from any platform within 5 minutes (or such other time as may have been specified in simuconf.tab for time interval signals). Only one station signal is needed for all platforms, since the station signal is per definition bidirectional and will work in either direction. The station signal in time interval
with telegraph mode will additionally not clear unless it can make a directional reservation (as before). In principle, station signals in plain time interval mode should also not clear unless the sighting distance number of tiles beyond the station are clear.
The station signals are most suited to small stations or stations on single track lines. Larger stations would better suit more plain signals on each platform.
Also note that the station signal do
not signal
towards the station: You will still need a choose signal.
Additionally, these parameters needs to be set in order to achieve a station signal:
is_longblocksignal=1has_selective_choose=1aspects=3As well as these graphics:
# DANGER
# CLEAR (inverse)
# CAUTION (inverse)
# CLEAR (obverse)
# CAUTION (obverse)Short about signals working methods:drive by sightWhen the train leaves the depot, this will automatically be its initial working method. The train driver uses his eyes to look ahead and secure that the track is free. This working method is ideal for eg trams inside cities, so they can drive closer to each other.
- Trains will never go faster than to stop inside its sighting distance.
- No signals at all are needed for trains to operate in this working method.
- Creates very easy deadlocks
- Trains automatically go into drive by sight when they leave the depot, or leave a platform with no signal on it, or passes a sign with
working_method=drive_by_sightVideo of drive by sight signallingTime interval signalling- Signals are at clear by default
- Signals will turn to danger on the passage of a train
- Signals will revert to caution 5 (in-game) minutes after a train passes
- Signals will revert to clear 10 (in-game) minutes after a train passes
- Trains must pass signals at caution at no more than half line speed or half the signal's sighting speed, whichever is the lower
- Pre-signals are effective as repeaters and serve to enhance the sighting distance of a stop signal
- If trains collide in this method, both trains will come to a stand for a long time before continuing in the drive by sight working method
- Choose signals have some choose functionality, but be careful to avoid deadlocks at terminus stations with this working method
Time interval with telegraph*to be added*
One train staffOne train staff (and "staff" as in stick rather than employee) is a system in which only one train is permitted on a whole stretch of line. It is very simple in operation: only a train whose driver is in physical possession of the staff may enter the section. This system must therefore have only one entry and exit point for all trains, or else the staff will be left in the wrong place. It is only really useful for either entire lines where only one train is running (very basic railways, where this would be placed on the exit from the depot and not on the train's normal route), or single track dead-end sections that have no internal signalling. In Simutrans-Extended, the staff cabinets (there can be more than one for a section, but they must be placed in an immediately adjacent tile to one another to work as one) work by reserving the train's entire route until it comes back and reaches that cabinet again (or until it reaches the same point in its schedule as it is now, whichever is sooner).
Token blockToken block is a much more sophisticated system than "One train staff" -system and can be used to control singletracked lines. In real railways, it requires a train's driver to hold a physical token before entering the section. However, there is more than one such token, meaning that many trains can go through the section in one direction one after another. Only one token can be released at any one time. This is ensured by telegraph equipment at either end of the section. The rest of the tokens are locked in the token machine. This allows signalling of a single track line with multiple sections and multiple entry and exit points. In Simutrans-Extended, trains will reserve the route only as far as the next signal, but will not unreserve the route until they pass the next signal.
Absolute blockThe absolute block system prevents that no more than one train is inside the same block at the same time. This is especially used on lines with two or more tracks.
Usually, everything is checked by the humans in the signalboxes, which use telephone or telegraph to communicate between signalboxes. In some cases there where some level of protection like electromechanic or electric relay systems to prevent a signal or a point to be shifted at wrong times.
It has the particular feature of generally having only two aspect signals, but three aspect signals did exist, and the distant aspect where then controlled from the next signalbox on the line, why its called a "combined signal" (code:
is_presignal=1 and
aspects=3).This means that the next signalbox must be in range of the three aspect signal, otherwise no presignal aspects are shown.
Normal distant signals indicate the aspects of all the signals controlled by the same signalbox. This means that the distant signal should be placed BEFORE the "first" signal that the signalbox control. If any signal that the signalbox control show danger, the distant signal will also show caution. Only if all signals are clear, the distant signal will show clear.
The intermediate blocksignal makes it possible to split a section between two signal boxes in two without having to build an additional signalbox.
Track circuit blockThe main feature of track circuit block in reality is that its an automatic signal and works for single tracked lines. The tracks can now automatically detect wether there is a train on the track, and this is used to work the signals. On a straight piece of track with no junctions between signals, the signal will automatically revert to danger on sensing a train in the block behind the signal. When no train is in the next block, the signal will show "clear". However, in some paksets (countries), the signal will show "danger" instead of "clear" until approached by a train (used with
normal_danger=1). Signals at junctions in track circuit block are semi-automatic and will remain at danger until a route is booked to another signal.
The distant signals now always represent the state of the very next signal, not all the stop signals controlled by the same signalbox as had hitherto been the case with absolute block signalling. This means that multiple aspect signal are available: a single signal which contains indications not just as to whether the block ahead is free, but also as to whether the block after that (or the third or fourth block) is clear.
- Trains will make a directional reservation (shown in blue in the block reservation display) when they reserve through a section containing bidirectional signals
- The directional reservation ends at the next one way sign
- A tile with a directional reservation can be reserved (as a normal (red) block reservation) by any train proposing to go in the same direction
- Bidirectional lines in track circuit block mode should be signalled using bidirectional signals.
If
is_presignal=1 is defined, then it can only have
aspects=2.
Cab signallingCab signals are treated in exactly the same way as track circuit block multiple aspect signals, save that there is an unlimited sighting distance. For ETRMS style signals with no visible aspects, it is recommended to leave the number of aspects at 2 to prevent reserving further ahead than necessary.
Moving block signalling- The "max_distance_to_signalbox" parameter in the .dat files is used as the maximum distance between the signals themself (the signalbox range works as normal)
- If there is more than this maximum space between signals, trains will revert to drive by sight mode after the point at the end of that space.
- Choose signals will not let a train past them unless the whole block is free, in a similar fashion to absolute/track circuit block signals.
- The above behaviour of choose signals is necessary to prevent deadlocks at terminus stations. Always use a choose signal before terminus stations when using moving block signals.
.dat parameters for signals:obj=roadsignname=copyright=waytype=trackintro_year=intro_month=retire_year=retire_month=cost=maintenance: The amount of Simucents(??) this signal costs per month
maintenance=signal_upgrade_cost: The amount of Simucents it costs to upgrade TO this signal. Default if not specified: Full purchase price.
signal_upgrade_cost=upgrade_group: Another signal in the same upgrade group as this signal will automatically upgrade to this signal in the following conditions:
(1) The other signal is obsolete;
(2) This signal can be built and is not obsolete; and
(3) the underlying track is being renewed or replaced.
Be very careful to make sure that signals in the same signal group are functionally identical to avoid unpredictable results, and likewise, make sure that only one signal in every upgrade group is current at the same time so as to avoid unpredictable results.
upgrade_group= (Example
upgrade_group=4)
working_method: The working method used by this signal. Default if not specified:
track_circuit_block. Using
drive_by_sight makes this signal an "end of signalling" sign (beyond which trains will operate in drive by sight mode) rather than a signal in the conventional sense. Possible methods:
working_method=drive_by_sight
working_method=time_interval
working_method=time_interval_with_telegraph
working_method=one_train_staff
working_method=token_block
working_method=absolute_block
working_method=track_circuit_block (default, if nothing specified)
working_method=cab_signalling
working_method=moving_block
is_signal: Wheter this is a normal signal. As in Standard,
is_signal=1 should not be defined at the same time as
is_presignal=1 is defined. Exception is for a combined signal (see below).
is_signal=1is_presignal: This signal is a distant- or repeater signal (dependent on the working method). If this signal has more than 2 aspects and use
"working_method=absolute_block" it is treated as a combined signal (that is, a signal that is both a distant and a stop signal at once). The stop signal part will always work, but the distant signal part will only work if the next signalbox on the train's route is in range. If signal is
"working_method=track_circuit_block", is_presignal=1 is only supported when
"aspects=2"is_presignal=1is_longblocksignal: A signal with this parameter will attempt to create a directional reservation like if it had been a double faced track circuit block signal, despite it is being a single faced signal. Currently, the parameter can only be used on time interval w/o telegraph signals and the other working methods that serve directional reservations.
If this parameter is used together with the time interval w/o telegraph working methods, this signal will become a "station signal" (read the top most section).
is_longblocksignal=1aspects: the number of aspects that a signal has (default: 2 for all signals but pre-signals; max numbers of aspects is 5)
aspects= (Example:
aspects=4)
max_speed: The maximum speed at which a train can safely approach this signal in km/h. Used to simulate that some signals might be difficult to read above certain speeds (default if not specified: 160)
max_speed=free_route: This signal is a choose signal.
free_route=1has_selective_choose: Whether special graphics are provided for this signal when it is operating as a choose signal or as a normal signal.
has_selective_choose=1permissive: If this signal shows "stop", trains may proceed beyond this signal in "drive by sight" working method. Can be used together with
has_call_on=1 to show a specific graphic when the train proceed beyond the signal.
permissive=1has_call_on: Whether the signal has specific "call-on" graphics defined.
has_call_on=1max_distance_to_signalbox: The maximum distance in meters from any signalbox that this signal can be placed EXCEPT for signals with
working_method=moving_block, in which this entry specify the maximum distance between moving block signals/beacons (any greater space than these and the train reverts to drive by sight after that distance has passed). A value of zero equals to an infinite distance to signalbox.
max_distance_to_signalbox=signal_groups: A comma separated list of numbers (1 to 31); if any of these numbers match any numbers specified in a signalbox's "signal_groups" comma separated list, this signal can be built from that signalbox. An entry of 0 (default) or 1 (a known bug) means that this signal can be built without a signalbox. Therefore, the lowest usable value is 2.
signal_groups= (Example:
signal_groups=2,5,17,24)
allow_underground: whether this signal may be built underground, overground or both. 0 means that it can be built only overground. 1 means that it can be built only underground. 2 means that it can be built either underground or overground. Default: 2
allow_underground=intermediate_block: Together with
working_method=absolute_block, this signal is an "intermediate block"-signal, which allows an extra section to be inserted into an absolute block section between two signal boxes using semi-automatic signals without replacing the signalbox or existing mechanical signals
intermediate_block=1normal_danger: This signal wil not reset to clear after a train has passed it. Used together with
working_method=track_circuit_block or
working_method=cab_signalling to simulate countries where signals must be at danger by default.
normal_danger=1double_block: Only allowed with
working_method=absolute_block,
working_method=track_circuit_block and
working_method=cab_signal, this signal resembles the functionallity of the Simutrans Standard "Two block signal". It will not clear unless the next signal can also be set to clear. This is especially usefull when you change working methods and want a train to hold at another position than where the signal with the new working method is located.
double_block=1single_way: Makes this a oneway sign
single_way=1is_private: Makes the tracks behind this sign private for you
is_private=1end_of_choose: Makes this an end of choose sign. Choose signals may find paths to go through a station up to this sign.
end_of_choose=1Graphics representation:Dependent on which parameters is included above, the order of the graphics parameters are different.
Starting from Image[0], every state has 4 pictures defined in this order:
2 Aspect:
DANGER, CLEAR3 Aspect:
DANGER, CLEAR, CAUTION4 Aspect:
DANGER, CLEAR, CAUTION, PREL CAUTION5 Aspect:
DANGER, CLEAR, CAUTION, PREL CAUTION, ADV CAUTIONSignals with
has_selective_choose=1 defined:
2 Aspect:
DANGER, CLEAR (sub route), CLEAR (main route)3 Aspect:
DANGER, CLEAR (sub route), CAUTION (sub route), CLEAR (main route), Caution (main route)4 Aspect:
DANGER, CLEAR (sub route), CAUTION (sub route), PREL CAUTION (sub route), CLEAR (main route), CAUTION (main route), PREL CAUTION (main route)5 Aspect:
DANGER, CLEAR (sub route), CAUTION (sub route), PREL CAUTION (sub route), ADV CAUTION (sub route), CLEAR (main route), CAUTION (main route), PREL CAUTION (main route), ADV CAUTION (main route)Signals with
has_call_on=1 defined:
2 Aspect:
DANGER, CLEAR, CALL ON3 Aspect:
DANGER, CLEAR, CAUTION, CALL ON4 Aspect:
DANGER, CLEAR, CAUTION, PREL CAUTION, CALL ON5 Aspect:
DANGER, CLEAR, CAUTION, PREL CAUTION, ADV CAUTION, CALL ONA signal with
is_presignal=1 and
aspects=2:
2 Aspect:
CAUTION, CLEARA "station signal" will need these graphics definitions:
3 Aspect:
DANGER, CLEAR (inverse), CAUTION (inverse), CLEAR (obverse), CAUTION (obverse)
Example from Pak.Britain object: four-aspect-colour-light-led-square-choose
# DANGER
Image[0]=images/signal-1-aspect-led-square-route-indicator-danger.1.2,42,-2
Image[1]=images/signal-1-aspect-led-square-route-indicator-danger.1.0,-37,12
Image[2]=images/signal-1-aspect-led-square-route-indicator-danger.1.1,-7,-18
Image[3]=images/signal-1-aspect-led-square-route-indicator-danger.1.3,10,27
# CLEAR (subsidiary route)
Image[4]=images/signal-1-aspect-led-square-route-indicator-clear.1.2,42,-2
Image[5]=images/signal-1-aspect-led-square-route-indicator-clear.1.0,-37,12
Image[6]=images/signal-1-aspect-led-square-route-indicator-clear.1.1,-7,-18
Image[7]=images/signal-1-aspect-led-square-route-indicator-clear.1.3,10,27
# CAUTION (subsidiary route)
Image[8]=images/signal-1-aspect-led-square-route-indicator-caution.1.2,42,-2
Image[9]=images/signal-1-aspect-led-square-route-indicator-caution.1.0,-37,12
Image[10]=images/signal-1-aspect-led-square-route-indicator-caution.1.1,-7,-18
Image[11]=images/signal-1-aspect-led-square-route-indicator-caution.1.3,10,27
# PRELIMINARY CAUTION (subsidiary route)
Image[12]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.2,42,-2
Image[13]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.0,-37,12
Image[14]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.1,-7,-18
Image[15]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution.1.3,10,27
# CLEAR (main route)
Image[16]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.2,42,-2
Image[17]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.0,-37,12
Image[18]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.1,-7,-18
Image[19]=images/signal-1-aspect-led-square-route-indicator-clear-main.1.3,10,27
# CAUTION (main route)
Image[20]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.2,42,-2
Image[21]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.0,-37,12
Image[22]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.1,-7,-18
Image[23]=images/signal-1-aspect-led-square-route-indicator-caution-main.1.3,10,27
# PRELIMINARY CAUTION (main route)
Image[24]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.2,42,-2
Image[25]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.0,-37,12
Image[26]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.1,-7,-18
Image[27]=images/signal-1-aspect-led-square-route-indicator-preliminary-caution-main.1.3,10,27
Icon=> images/signal-icons.6.8
Cursor=images/signal-icons.6.9
.dat parameters for signalboxes:
The signal boxes are treated as buildings with the normal building parameters: Dat file reference for: Buildings and Stops
Obj=building
type=signalbox
Name=
copyright=
intro_year=
intro_month=
retire_year=
retire_month=
level=
cost=
maintenance=
population_and_visitor_demand_capacity=
employment_capacity=
mail_demand=
allow_underground= 0=only overground, 1=only underground, 2=both over- and underground
signal_groups: As with signals: see above
signal_groups= (Example: signal_groups=16,24)
radius: The maximum distance in meters from this signalbox that any signal connected to it can be placed
radius=
capacity: The maximum number of signals that can be connected to this signalbox at any given time
capacity=
To be updated........
edit 24/10-15 - Ves: Updated with some general info and aspects
edit 28/10-15 - Ves: Corrected info about is_signal
edit 9/11-15 - Ves: Added Intermediate block signals
edit 11/11-15 - Ves: Added more info about track circuit block and absolute block
edit 17/11-15 - Ves: Added "normal_danger=1"
edit 3/2-16 - Ves: Added references to the dat file reference for Buildings and Stops
edit 22/5-16 - Ves: Added text to upgrade costs
edit 30/6-16 - Ves: Added initial about time interval with telegraph and is_longblocksignal
edit 13/9-16 - Ves: Added information about "Station signals"
edit 6/2-17 - Ves: info about signal_groups=1
edit 28/4-17 - Ves: Added information about double_block=1
edit 11/6-17 - Ves: Added the meaning of max_distance_to_signalbox=0 as well as correcting some typos