You are here: Wiki > start > usertrack > glossary > ACI

Table of Contents

Automatic Code Insertion
Overview
[This bit needs reviewing]
Introduction
TD Berths
Through Platforms
Terminal Platforms
Platform Sharing
Double Docking
Detaching Trains
Joining Trains
More complex situations
ACI Warning

Automatic Code Insertion

Overview

Automatic Code Insertion (ACI) automatically changes the TD on screen when a train moves to its next working .

[This bit needs reviewing]

There are two forms of ACI: a full one for Automatic Route Setting (ARS) Sims; and a simpler form for non-ARS Sims,

In non-ARS Sims, where a join or division instruction is also effected the ACI does not work and manual insertion of the new TD is required.
For example: 5A00 arrives at King's Cross to form 1A00 the TD displayed will change from 5A00 to 1A00.
For example: 5A00 arrives at King's Cross where it divides to form 1A00 and 1A01. Both TDs will need to be manually inserted

For non-ARS simulations, ACI is only provided at certain locations. There are the following options:

ACI-OFF All trains must have their TDs changed manually
ACI-OPP Only trains that are using their timetabled platform will have their TDs changed.
ACI-ON All trains have their TDs changed regardless of platform.

Sims with full ARS have full ACI which will cope with dividing trains. However, this is subject to there being available berths for all the TSs.

For example: 5A00 arrives at Liverpool Street where there are 2 TD berths available per platform. The train then splits into three trains 1A00, 1A01 and 1A02. The ACI will insert the first two TDs and the third will need to be manually inserted once the first train has departed and a berth becomes free

Please note that most Sims have neither ARS or ACI, and will require the user to change TDs manually.

Introduction

In real life the ARS (which is reflected in SimSig) only has the equivalent of:

  • Divide [rear]
  • Join
  • Next
  • Platform share (double dock)
  • Though one can still timetable all the different activity types, ARS will only perform ACI for the above list of activity types.

TD Berths

How this is set up may vary by Sim but the principles apply across the board.

In the case of though platforms there will generally be either one or two TD berths, one per exiting signal.

In Terminal platforms, there can be a number of "background" berths which allow TDs for multiple trains the be held in the order of departure. These are known as the A/B/C (and so on) Berths, and generally, the A Berth will be at the departure end and the B, C and so on leading back to the buffers. At the buffers, there is normally an R (rear) Berth.

Generally, only one berth will be shown on the track diagram which will display the content of the A berth, or if empty the B berth and so on to the R berth. Where two berths are shown the second will be the R Berth alone. The departure end berth can be considered the "next departure" berth while the R berth the "last arrival" berth.

Through Platforms

Where a train has a single activity with a type of "next" then the next will be interposed on top of the current TD if there is a single berth or the train is due to depart in the same direction.

If there is a second berth then, for a reversing train, the next will be interposed in the rear berth and the incoming TD will remain in the arrival berth.

Divides always require at least two berths in the ACI data, otherwise, the interpose will not happen.

Where there are insufficient berths for the new TDs the rearmost berth will be interposed with the first divide rear but the front berth will still be occupied by the arriving train. The arriving train cannot be interposed with the "next" working because the second divide rear has yet to be interposed. The second divide cannot be interposed as there are no spare berths. The only way a berth will become spare is if the front berth empties - by which time the arriving train's TD is no longer there to interpose. Thus, if the front train is signalled out of the station then it will have the arriving train's TD, not the "next". The signaller would have to interpose the "next" manually, remembering that once it has departed, he will then need to interpose the second divide rear in the space vacated by the first train.

Terminal Platforms

On arriving the incoming TD will step to the R berth and ACI will interpose the outgoing TD into the first free berth (starting with the C berth). If an arriving train divides then the TDs will be interposed into the C and B (and if necessary the A) berths in order of departure.

Where there are insufficient berths for the new TDs then once berths become available, more TDs will be interposed. This requires the original TD to still exist at the time of the later interposes.

If a second train arrives on top of the first then the TD in the R berth will be overwritten and will no longer be available to ACI for the first train.

Platform Sharing

This is a feature of the timetable that will permit ARS to route (call-on) into an occupied platform, it's a capability of the real-world ARS but is rarely, if at all, used.

TT writers should remember that in sims which have ARS/ACI enabled, ACI is working as a sub-set of the ARS code. ARS works by what it "sees" not by what is held in the underlying code for the sim. That means that ARS and ACI work from what is displayed on the screen and not by what is shown in the F2 window.

Let us look at some cases where this difference is important and also look at the use of the Platform Share (PS) action. In normal circumstances the developer will have created R,A,B and C berths for a dead end platform and for platforms with two TD berths the buffer end berth will display the TD held in the underlying R berth and the country end berth will display the TD of the next train to depart which it does by reading from berth A to berth C, using the data in the first occupied berth. So it Train 1 has run in and is due to form Train 2, then the berths will show:

Action Berth R Berth C Berth B Berth A Buffer Stop
Berth
Country End
Berth
Train 1 arrives to form Train 2 Train 1 Train 2 empty empty Train 1 Train 2

Double Docking

Double docking occurs when there is a train already at the buffer stops in the platform and another train arrives into the platform. If the second train then reverses and departs the berths will display as:

Action Berth R Berth C Berth B Berth A Buffer Stop
Berth
Country End
Berth
Train 1 arrives to form Train 2 Train 1 Train 2 empty empty Train 1 Train 2
Train 3 arrives to double dock and form Train 4
Train 3 has PS Train 1, PS Train 2, N Train 4
Train 3 Train 2 Train 4 empty Train 3 Train 4
Train 4 departs Train 3 Train 2 empty empty Train 3 Train 2

So although F2 knows that Train 3 has disappeared as its stock has left as Train 4, the TD for that train still shows on the display. Train 2 is at the buffer stop end of the platform.

Detaching Trains

The ARS code only reads detaching at the rear as valid code; DF, DEF and DCF are not recognised.

Action Berth R Berth C Berth B Berth A Buffer Stop
Berth
Country End
Berth
Train 1 arrives with DR Train 2 N Train 3 Train 1 Train 3 Train 2 empty Train 1 Train 2
Train 2 departs Train 1 Train 3 empty empty Train 1 Train 3

Joining Trains

For the ACI to work properly with joining trains, the train arriving second should normally have the N working.

Action Berth R Berth C Berth B Berth A Buffer Stop
Berth
Country End
Berth
Train 1 arrives with J Train 2 Train 1 empty empty empty Train 1 empty
Train 2 arrives with J Train 1, N Train 3 Train 2 Train 3 empty empty Train 2 Train 3

There is a word of warning about ACI for joining trains if there has been a train double-docked on top of the train waiting to join. The TD for the arriving double-docked train will have been put into Berth R by the ARS/ACI code. After departure of the double-docked train Berth R is not holding the TD of the train awaiting the join. When the incoming joining train arrives, ACI is not seeing the TD of the train it is to join so does not recognise the join taking place and does not put the TD of the "joined" departing train into the outbound berth. This does not impact on the uinderlying core code, which carries out the join correctly. However, the signaller has to manually interpose the TD of the departing train.

More complex situations

Things can get more complicated but the underlying logic remains the same. The examples above show that after departure of a train that has been double-docked the R berth will contain the TD of Train 3 which has already departed rather than Train 2 which is the train physically in the platform. If there is a further double-docking to take place then the entering train will need actions of PS Train 3, PS Train 2 which is what the ACI is "seeing" even though Train 3 is no longer at the platform.

Action Berth R Berth C Berth B Berth A Buffer Stop
Berth
Country End
Berth
Train 4 departs Train 3 Train 2 empty empty Train 3 Train 2
Train 5 arrives to double dock and form Train 6
Train 5 has PS Train 3, PS Train 2, N Train 6
Train 5 Train 2 Train 6 empty Train 5 Train 6
Train 6 departs Train 5 Train 2 empty empty Train 5 Train 2

In another more complicated circumstance, suppose that after the departure of the double-docked Trains 3/4, Train 5 is now due to enter the platform and join Train 1 to form Train 6. F2 knows that Train 1 is at the platform and will allow the join. However, the ACI is only "seeing" the TD for Train 3.

Action Berth R Berth C Berth B Berth A Buffer Stop
Berth
Country End
Berth
Train 4 departs Train 3 empty empty empty Train 3 empty
Train 5 arrives to join Train 1
Train 5 has PS Train 3, J Train 1, N Train 6
Train 5 Train 6 empty empty Train 5 Train 6

In summary, although the ACI subset of ARS comes with a warning about its capabilities when handling complex movements, it is possible to handle challenging circumstances provided you can follow the logic and remain aware of the difference between the data held on the F2 display which reflects the actual situation and the data held in the ACI subset.

ACI Warning

Occasionally, when a train is to divide in a platform, there may not be enough TD Berths available for ACI to be carried out. If this is the case, a warning message will be displayed to the user.

An example is shown below.

04:45:01 Warning: Not enough TD berths at Birmingham New Street to interpose next/divides for 5R06

In this example, 5R06 detaches 5N04 off the back of the train. However the platform he is in only has 1 TD berth associated with it and so ACI is unable to interpose 5N04 causing the warning to be given.

This warning message is linked to the 'ARS alarm' Event


Last edited by y10g9 on 24/06/2020 at 14:41