Switching Yard
The switching yard replaces the 'program loop' in a train track computer. It allows the operator to set up any program using the array of manual points. This directs the train to follow any combination of program steps, so visiting the library subroutine functions in the required order.
As usual, a Mux de-Mux circuit connects the upper program loop with the lower stack of library functions. The whole layout can be expanded to accommodate libraries of any size.
Operation
The train starts at the station platform and is directed to either function 4, 3 or 2. If no function is selected, the train passes to default function 1.
On its return to the yard, the train is switched to the next required function. Trains cannot be returned to the same function it has just returned from, as this creates an immediate infinite loop. So a diagonal row of switches is 'missing' from the array.
If no function is selected, the train passes to the halt line to complete the program.
Switching Yard using Manual Points
Each row of manual points is linked so that only one, (or none) can be selected at a time. This just makes the layout easier to follow.
Note that the 6 manual points just below the main diagonal, allow the train to pass through on the horizontal line without switching the point, as manual points cannot be switched by the train.
|
Click layout to pause/run train | Click points to switch 0/1 | Click start circle to reset train/points |
Lazy points switch between upper 0 or lower 1 branch lines Trains arriving on a branch line switch the point to that line |
|
Sprung points allow branch line trains to join the main line All main line trains go straight ahead and never 'branch off' |
Switching Yard using Lazy Points
This is the same layout using lazy points instead of manual points. Note that trains returning to the yard use the top set of de-Mux points.
Lazy points can be gang linked to others, so that settings might be read from memory. If the computer writes to the same memory locations, then it could modify its own program.
|
Click layout to pause/run train | Click points to switch 0/1 | Click start circle to reset train/points |
Lazy points switch between upper 0 or lower 1 branch lines Trains arriving on a branch line switch the point to that line |
|
Sprung points allow branch line trains to join the main line All main line trains go straight ahead and never 'branch off' |