Simulations
I have created a simulation of Romsey Signal Box.
I have created a simulation of Romsey Signal Box.
The implementation here runs entirely in the browser (at least once all the files are downloaded). I have taken a few (hopefully minor) liberties with the implementation. Differences from the prototype include:
Impressively (to me at least), a lot of the coding for the simulation is handled by the cascading style sheets. In fact the largest part of the code for the simulation (as measured by the byte count) is actually for the sounds used by the simulation! There is a fair amount of javascript that the drives the simulation. The code is based on my original arduino based hardware simulation, but I do think the javascript is, somewhat incredibly, easier than the corresponding C++ code. That said I may well end up trying to bring my development workflow more up to date - through the main benefit of moving from my Ant based build system would simply be the ability to use the latest javascript tools for unit testing - so it may just be that that I take a look at!
This site currently has Romsey Signal Box Simulation Version 3.284.0 installed.
There are several bell codes that the simulation recognises. These are:
These codes are used to signal to the adjacent signal box that something that needs attention from that box
Bell Code | Description |
---|---|
1 | Attention, I like to offer to a train or a shunting move. If accknowledged a train offering bell code or a shunt move should be the next bell code |
2 | Train Entering Section |
2-1 | Train Leaving Section |
8 | End Shunt. The line is no longer needed for a shunting move |
3-5 | Cancel a previously acknowleded offering of a train. The train will not be entering the section |
5-3 | Train wrongly described. Once acknowledged the correct description bell code should be sent. |
These code describe a train to the adjacent box and offers to direct the train to the adjacent box
Bell Code | Description |
---|---|
4 | Express Train |
3-1 | Passenger Train |
2-2-1 | Empty Train |
5 | Express Freight Train |
4-1 | Freight Train |
3-2 | Slow Freight Train |
2-3 | Light Locomotive (Train Engine running without any trailing coaches or wagons) |
3-3-2 | Request to use the line for shunting moves. The other signal block will not expect a train to arrive at its box. The line is reserved until the end shunt bell code is sent |
The simulation is based on how the Romsey Signal Box was operated just before its closure in 1982. The simulation therefore uses BR standard bell codes and allows passenger services to use the eastern crossover points as these were electrically operated and locked.
The larger you can make the browser window for the simulation the better. While I have attempted to make the simulation responsive to the size of its window, my main testing was done on a 1920x1280 display. On my tablet it looks reasonable and can be used. On my mobile phone it will display but it is very hard to use - particularly if the phone is in portrait mode!
To move a lever you can simply click on it. If the lever is unlocked it will move to its other position. If a lever is locked hovering over it (for those using a mouse) will display text indicating why the simulation has locked the lever.
To make a bell push simply click the large button. A gap between pushes of a second or less will be treated as a short gap, a long gap is up to two seconds. The remote boxes use a cadence of one second for a short gap and 1.5 seconds for a long gap.
To move the commutator between Normal
and Line Clear
or Train On Line
click on the buttons (the greyish squares) next to the desired position of the commutator control.
If you want to see what the simulation thinks the remote box is doing, you can hover (again for those using a mouse) over the image of the remote box's bell to see what it is up to
To add a train or a complete schedule of trains to the simulation, choose the train or schedule from the pull down in the bottom right of the simulation. Once the Add
button is pressed the selected train or schedule will be added to the simulation. The complexity of the task roughly increases from the top to the bottom of the entries on this pull down.
The simulation can be speeded up using the speed controls. This only affects the speed of the trains themselves, the timing of the bell code ringing will be unaffected by the simulation speed.
In absolute block working, a block section (or simply section) is a section of railway line between one signalbox and another – in absolute block, lines are paired, with an up and a down line which run in opposite directions.
The block instrument consists of a small cabinet; its front face displays two indicators — telegraph needles — and has a commutator handle (some early designs of block instruments had miniature semaphore arms instead of needles). The upper indicator shows the state of the forward section, on the line leading away from the signal box. The commutator is used by the signalman to indicate the state of the section approaching his signal box, and the lower indicator repeats the commutator position. All indications are repeated on a similar instrument at the other end of the block section, in the associated signal box. The commutator has three positions and each of the two indicators has three positions: normal (or line blocked), line clear, and train on line. Either integral to the instrument or separately mounted, there is a single-stroke bell and a bell operating device, either a tapper or a plunger.
In a simple double line configuration where the signal boxes are A, B and C in succession, the signal box at B will have two block instruments, one for trains in down and up direction in the section between AB (trains leaving station B and trains approaching station B), upper and middle part of the first instrument and one for trains in up and down direction in the section between BC (trains leaving station B and trains approaching station B) upper and middle part of the second instrument.
The signalling bell, also known as a block bell, is used in conjunction with the block instruments if the bell is not integrated with them. It is a single stroke design and relays the codes from adjacent signal boxes. Each bell has its own distinctive sound or tone to alert the signalman which instrument needs to be attended to. The bells are activated by a (large) push button to make the bell in the adjacent signal box. Each push of the button 'tings' the bell once. A sequence of tings is known as a bell code and the simulation recognises many of the BR bell codes.
Box | Sends | Meaning |
---|---|---|
A | 1 | Calling Attention |
B | 1 | Attending |
A | 3-1 | Is line clear for a Class 2 train? |
B | 3-1 | Line is clear for a Class 2 train |
An example is the process of signalling a train in the up direction (from A to C) past a signal box B. The signal box in rear is A and the signal box in advance is C. The block indicators at B are in the Normal position. The signalman at A "offers" the train to B by sending an "Is Line Clear?" code on the block bell; for example to offer an express passenger train, he sends four beats consecutively; an ordinary passenger train is offered by sending three beats, and after a pause one more beat, usually written as 3-1. If the signalman at B can accept the train safely (if there is no other train in the section, and the line is clear up to B's clearing point[3]) he "accepts" the train by repeating the bell signal, and placing the commutator on his block instrument for the section from A to "Line Clear". The "Line Clear" is repeated at box A, and allows the signalman at A to clear, or "pull off", his signals. In case the line is not clear, B simply does not acknowledge A's "Is Line Clear?", and leaves the commutator in the Normal position.
At this point, B will not clear any of his signals. Firstly, he cannot clear his starting signal without a "Line Clear" from C. As a result, B will not clear his home signal – he can only clear it when he either has a clear run through (which he does not have without a "Line Clear" from C), or is confident that the train will be able to stop at his starting (or section) signal (this is not done until the train is in view and visibly under control). Finally, his distant will not clear without both his home and starting signals being clear.
Box | Sends | Meaning |
---|---|---|
A | 2 | Train Entering Section |
B | 2 | I acknowledge your train entering section |
As the train passes the starting signal at A, the signalman there sends the "Train Entering Section" signal (2 beats) on the block bell to B, and the signalman at B acknowledges the signal and moves the commutator to "Train On Line". His lower indicator on the block indicator to A repeats the position of the commutator.
B immediately offers the train on to C, after calling for attention, by sending the "Is Line Clear?" bell signal (repeating the same steps A had done while offering the train to B); if C accepts it he repeats the bell signal and places his block indicator to "Line Clear", which moves the position of the upper needle indicator in B's block instrument to repeat that indication. B may now clear his signals for the train.
Box | Sends | Meaning |
---|---|---|
B | 1 | Calling Attention |
A | 1 | Attending |
B | 2-1 | The train has now cleared the secion |
A | 2-1 | I acknowledge that the train has cleared the section |
After an interval, the train will arrive and pass B; as it does so, B sends "Train Entering Section" on the block bell to C. Then C acknowledges the bell signal and places the block instrument to "Train On Line". As the train passes, he restores his signals to danger, and when the whole of the train passes B complete with tail lamp attached, B sends the "Train Out Of Section" bell signal (2-1) to A and when A acknowledges it, he places his block indicator to "Normal". The block section between A and B is now normal and A can offer B another train, if he has one.
When the train has reached C, the signalman there sends "Train Out Of Section" on the block bell and when B acknowledges it, C places the block indicator to "Normal".
As the line between Romsey and Eastleigh was singled in 1972, a direction lever is used to control the single line. There is a direction lever in both the Romsey and Eastleigh signal boxes. When a train needs to be signalled through the single line, block bells are used in the same manner as for a double line. However rather than a block indicator being used, the direction lever is used instead. To indicate that a line is clear for a train, the direction lever at the far end of the line is pulled to make that indication. The signal protecting the entry to the single line cannot be pulled (to indicate to the train that it can proceed) unless the direction lever at that far end has been pulled. Once the far end has acknowledged that the train has entered the section, the direction lever is replaced to its normal position.
Text on absolute block signalling taken from Wikipedia and used under terms of the Creative Commons Attribution-ShareAlike 3.0 Unported License. The text used on this page was added to Wikipedia by Wikipedia users (and IP addresses) JonRoma, Denelson83, Afterbrunel, Signalhead, 86.190.37.27, Danny252, 1.23.79.179, 1.23.78.75, Just a guy from the KP, Sir Ross BA, BD2412, 90.241.210.52, 107.190.33.254, Hairy Dude, 86.190.37.150 and 81.77.124.158.
This plugin adds support for my simulation of the preserved Romsey Signal Box by:
Possible Future Enhancements
|
|
Add explanatory messages for the Feb 19 2021 schedule
Tweak the size of the bell push buttons
Fix indentation of lever label annotations
Fix css errors
Fix update detection logic
Common up wordpress plugin updating logic with my other plugins
Fix updating logic!
Update URL of the details page
Many changes including:
Minor adjustments to train timings. Minor refactoring of how the remote boxes handle bell pushes when they expecting a train entering section bell code.
Initial Version
The information on this page was retrieved by Plugin Information Version 3.282.0.
Up Line
Down Line
Down Line
Up Line
REDBRIDGE
EASTLEIGH
KIMBRIDGE
Time | Box | Bell Code |
---|
Train | Origin | Destination | Location | Status |
---|
This is Kimbridge Signaller. I have yet to receive a Train Out of Section for 1S27. Is there a problem?
One or more javascript exceptions have occurred: