Page updated on 10 April 2026

Photo of me
My banner

Behavioural model

The model describes behavioural aspects of the command and control system. At present, this is an incomplete draft that will be amended as development progresses.

The contents of the this web page is as follows:



Bits route messages

This section covers the bits used in message interactions of the route setting interface. The route massage is a half-duplex serial interface and is 11 bits long. The layout is:

Start bit Message bits Parity bit End bit
s 7 6 5 4 3 2 1 0 p e

Common abbreviations used in the paragraphs below:

x Means N/A

Message bit 0 ≤ 1

Bit 0 ≤ 1 indicates the route action.

Bit 1 Bit 0 Re message
a1 a0 All

Designation of bits:

an Route action. The two letters stand for the route commands:

a1 a0 Route action
0 0 None
0 1 Get route
1 0 Set route
1 1 Release route

Message bit 2

Bit 2 is allocated to the type of route where the the action is for.

Bit 2 Re message
t All

Designation of bit:

t Route type. The letter stands for the route type:

t Route type
0 Main route
1 Shunting route

Message bit 3 ≤ 6

The allocation for bit 3 ≤ 6 is depends on the message. For the massage to get a main route it is to communicate to which cab unit (train ID) the route should be connected for traction. For the message to set a main route it is to communicate the signal aspects at the beginning of the route depending of the position of turnouts along the route and the signal aspect at the end of the route. For the other messages the bits are ignored.

Bit 6 Bit 5 Bit 4 Bit 3 Re  message
n3 n2 n1 n0 getMainRoute
d1 d0 m1 m0 SetMainRoute
x x x x SetShuntingRoute
GetShuntingRoute
ReleasePartMainRoute
ReleasePartShuntingRoute

Designation of bits:

nn Train ID. The bit value 0x0 is a request to return the driver’s cab unit number (TrainID) set in the associated traction selection controller.
The bit value 0x0 ≤ 0xF represents to which driver’s cab unit the route tracks should be connected to. This allows to drive 15 trains on the layout.
It is ignored if the route type is for shunting.
mn Main signal aspect. The two letters represent the aspects of main signals at the start of a main route, see below.
dn Distant signal aspect. The two letters represent the aspects of distant signals at the start of the route, see below.

Main signal aspects:

m1 m0 Main signal aspect
0 0 No restriction
0 1 60 kmh restriction
1 0 40 kmh restriction
1 1 At danger

Distant signal aspects:

d1 d0 Distant signal aspect
0 0 Expect no restriction
0 1 Expect 60 kmh restriction
1 0 Expect 40 kmh restriction
1 1 Expect at danger

Message bit 7

Bit 7 is used to set the polarity on the tracks in the return loops.

Bit 7 Re message
r getMainRoute in return loops
x All the others

Designation of bit:

r Reversed polarity. The letter stands for the reversed polarity of the marshalling tracks. This is required for return loops.

r Polarity
0 No polarity change
1 Reverse polarity

Route interactions

Main route setting interactionsZST+ZZT pressed

The collaboration diagrams, below shows the communication between components to achieve a main route settings.

The first diagram covers main route setting between an entrance signal and an exit signal. The messages and purpose of them between the components are:

  1. getMainRoute:
    Obtain CabNo
  2. getMainRoute:
    Check if route is clear.
    Deliver CabNo to traction selectors.
    Set target point route at turnouts.
  3. setMainRoute:
    Set route status at main signals.
    Obtain aspect target main signal.
    Enable traction at traction selectors.
    Lock turnouts.
    Obtain lowest maximum speed of points.
    Set aspect at start distance and main signal.

The diagrams below shows the communication between components to achieve this main route setting.

Figure with SpDrL60-col3,1,1 Main route setting, entrance to exit signal.

Message 1: getMainRoute

Component Prerequisite Action
Component Prerequisite Action
R3 ZST pressed (Start). Not blocked. Not locked.  
VR3 Not blocked. Not locked. Send message 1.
Massage reference: 1.1 ⇦
3   Destination message 1.

Message 2: getMainRoute

Component Prerequisite Action
Component Prerequisite Action
3 Not vacant. Cab number is set. Add Cab number to message 2. Send message 2.
Massage reference: 2.1 ⇨
VR3 Not locked.
R3 Not blocked. Not locked. Pass message 2 through.
Massage reference: 2.2 ⇨
103 Vacant. Not locked Enable traction from Cab number in massage 2. Pass message 2 through.
Massage reference: 2.3 ⇨
W2 Vacant. Not locked. Not blocked. Add maximum speed to message 2 for both directions. Send message 2 in both directions.
Massage reference: 2.4 ⇨ and 2.5.1 ⇩
W1 Vacant. Not locked. Not blocked. Store direction message 2 came from. Add maximum speed to message 2. Send message 2.
Massage reference: 2.5.2 ⇨
v1 Not locked. Not blocked. Pass message 2 through.
Massage reference: 2.5.3 ⇨
101 Vacant. Not locked Enable traction from Cab number in massage 2. Pass message 2 through
Massage reference: 2.5.4 ⇨
n.V1 Not locked Pass message 2 through
Massage reference: 2.5.5 ⇨
h
A ZZT pressed (Target). Vacant. Not blocked. Not locked. Pass message 2 through.
Massage reference: 2.5.6 ⇨
Jp21   Destination message 2.

Message 3: setMainRoute

Component Prerequisite Action
Component Prerequisite Action
The last automatic block, here Jp21 Vacant. Not Locked Enable traction from Cab number in massage 2. Send message 3.
Massage reference: 3.1 ⇦
Label in progress

The second diagram covers a route between a exit signal and running track. The messages between the components and purpose of them are:

  1. getMainRoute:
    Obtain CabNo
  2. getMainRoute:
    Check if route is clear.
    Deliver CabNo to traction selectors.
    Set target point route at turnouts.
  3. getMainRoute:
    Check if overlap route is clear.
  4. setMainRoute:
    Set route status at main signals.
    Enable traction at traction selectors.
    Set and lock turnouts.
    Obtain lowest maximum speed of points.
    Set aspect at start main signal.

The diagrams below shows the communication between components to achieve this main route setting.

Figure with SpDrL60-col3,1,2 Main route setting, exit to running track.

Message 1: getMainRoute

Component Prerequisite Action
Component Prerequisite Action
h
A ZST pressed (Start). Not blocked. Not locked. Send message 1.
Massage reference: 1.1 ⇨
Jp21 Destination message 1.

Message 2: getMainRoute

Component Prerequisite Action
Component Prerequisite Action
The last automatic block, here Jp21 Not vacant. Cab number is set. Add Cab number to message 2. Send message 2.
Massage reference: 2.1 ⇦
h
A ZST pressed (start). Not blocked. Not locked. Pass message 2 through.
Massage reference: 2.2 ⇦
n.V1 Not locked. Pass message 2 through.
Massage reference: 2.3 ⇦
101 Vacant. Not locked. Pass message 2 through.
Massage reference: 2.4 ⇦
v1 Not locked. Pass message 2 through.
Massage reference: 2.5 ⇦
W1 Vacant. Not blocked. Not locked. Add maximum speed to message 2 for both directions. Send message 2 in both directions.
Massage reference: 2.6 ⇦ and 2.7.1 ⇧
W2 Vacant. Not blocked. Not locked. Store direction message 2 came from. Add maximum speed to message 2. Send message 2.
Massage reference: 2.7.2 ⇦
103 Vacant. Not locked. Pass message 2 through.
Massage reference: 2.7.3 ⇦
VR3 Not locked.
R3 ZZT pressed (Target) Not locked Pass message 2 through.
Massage reference: 2.7.4 ⇦
3 Vacant. Not locked. Pass message 2 through.
Massage reference: 2.7.5 ⇦
VH3
H3 Destination message 2.

Message 3: getMainRoute

Component Prerequisite Action
Component Prerequisite Action
H3 ZZT Pressed (Target). Not Blocked. Not locked
VH3 Not Blocked. Not locked Send message 3.
Massage reference: 3.1 ⇦
W3 Label in progress
Massage reference: 3.2 ⇦
203 Destination message 3.

Message 4: setMainRoute

Component Prerequisite Action
Component Prerequisite Action
203 Not vacant. Cab number is set. Enable traction from Cab number in massage 2. Send message 3.
Massage reference: 4.1 ⇨
W3 Label in progress
Massage reference: …

Shunting route settings interactionsVST+VZT pressed

The collaboration diagrams, below shows the communication between components to achieve a shunting route settings.

The first diagrams covers a shunting route between a shunting signal at an exit signal to a terminating track. The messages and purpose of them between the components are:

  1. getShuntingRoute:
    Check if no route is set.
    Set target point route at turnouts.
  2. setShuntingRoute:
    Enable shunting traction at traction selectors.
    Lock turnouts.
    Show shunting allowed aspect.
Figure with SpDrL60-col3,2,1 Shunting route setting from shunting signal at exit signal.

Message 1: getShuntingRoute

Component Prerequisite Action
Component Prerequisite Action
VR3 VST pressed (Start). Not locked. Not blokked. Send message 1.
R3 Not locked. Pass message 1 through.
Massage reference: 1.1 ⇨
103   Pass message 1 through
Massage reference: 1.2 ⇨
W2 Vacant. Not Locked. Not blocked. Pass message 1 to both turnout directions
Massage reference: 1.3.1 ⇨
v1 Not Locked. Not blocked. Pass message 1 through
Massage reference: 1.3.2 ⇨
3b   Pass message 1 through
Massage reference: 1.3.3 ⇨
n.V1 Destination message 1.

Message 2: setShuntingRoute

Component Prerequisite Action
Component Prerequisite Action
n.V1 VZT pressed (Target). Not Locked. Not blocked. Set lock
Send message 2
Massage reference: ⇦ 2.1
3b Label in progress Allow traction
Pass message 2 through
Massage reference: ⇦ 2.2
v1   Set lock
Pass message 2 through
Massage reference: ⇦ 2.3
W2   Set lock
Pass message 2 through to entry point of turnout
Massage reference: ⇦ 2.4
103   Allow traction
Pass message 2 through
Massage reference: ⇦ 2.5
R3   Set lock
Pass message 2 through
VR3   Set Lock
Set shunting allowed signal aspect
Pass message 2 through
Massage reference: ⇦ 2.6
3   Destination message 1. Allow traction.

The second diagram covers a route from a shunting signal. The messages between the components and purpose of them are:

  1. getShuntingRoute:
    Check if no route is set.
    Set target point route at turnouts.
  2. setShuntingRoute:
    Enable shunting traction at traction selectors.
    Lock turnouts.
    Show shunting allowed aspect.
Figure with SpDrL60-col3,2,2 Shunting route setting-From shunting signal.

Message 1: getShuntingRoute

Component Prerequisite Action
Component Prerequisite Action
v1 VST pressed (Start)
Massage reference: 1.1 ⇦
201 Label in progress
Massage reference: 1.2 ⇦
W1
Massage reference: 1.3 ⇦ and 1.4.1 ⇧
W2
Massage reference: 1.4.2 ⇦
103
Massage reference: 1.4.3 ⇦
VR3
R3
Massage reference: 1.4.4 ⇦
3
Massage reference: 1.4.5 ⇦

Message 2: setShuntingRoute

Component Prerequisite Action
Component Prerequisite Action
H3 VZT pressed (Target)
VH3 Label in progress
Massage reference: 2.1 ⇨
3
Massage reference: 2.2 ⇨
R3
VR3
Massage reference: 2.3 ⇨
103
Massage reference: 2.4 ⇨
W2
Massage reference: 2.5 ⇩
W1
Massage reference: 2.6 ⇨
201
Massage reference: 2.7 ⇨
v1

Main route releasing interactionTrain detection

The collaboration diagrams, below shows the communication between components to achieve a main route releasing.

The first diagram covers main route releasing from an exit signal to a running track. The messages and purpose of them between the components are:

  1. releasePartMainRoute:
    Sets passed signal at danger.
  2. releasePartMainRoute:
    Unlocks part main route of vacant components.
  3. releasePartMainRoute:
    Unlocks part main route of vacant components.
  4. releasePartMainRoute:
    Unlocks part main route of vacant components.
Figure with sSpDrL60-col3.1.3 Main route releasing-from exit signal.

Message 1: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
103 Changes to non vacant (Train enters section)
Massage reference: 1.1 ⇦
Label in progress

Message 2: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
103 Changes to vacant (Train leaves section)
Massage reference: 2.1 ⇦
Label in progress

Message 3: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
101 Changes to vacant (Train leaves section)
Massage reference: 3.1 ⇦
Label in progress

Message 4: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
Jp21 Changes to vacant (Train leaves section)
Massage reference: 4.1 ⇦
Label in progress

The second diagram covers main route releasing between a entrance and exit signal. The messages between the components and purpose of them are:

  1. releasePartMainRoute:
    Sets passed signal at danger.
    Unlocks vacant components.
    Disengages traction.
  2. releasePartMainRoute:
    Ditto.
  3. releasePartMainRoute:
    Releases mainRouteSet next main or intermediate signal.
  4. releasePartMainRoute:
    Releases overlapped traction selector.
    Unlocks overlapped turnout.
  5. releasePartMainRoute:
    Unlocks vacant components.
    Disengages traction.
Figure with SpDrL60-col3_1_4 Main route releasing from entrance signal.

Message 1: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
Jp21 Changes to vacant (Train leaves section)
Massage reference: 1.1 ⇨
Label in progress

Message 2: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
101 Changes to vacant (Train leaves section)
Massage reference: 2.1 ⇨
Label in progress

Message 3: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
3 Changes to nonVacant (Train enters section)
Massage reference: 3.1 ⇦
Label in progress

Message 4: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
VH3
H3
Massage reference: 4.1 ⇦
Label in progress

Message 5: releasePartMainRoute

Component Prerequisite Action
Component Prerequisite Action
103 Changes to vacant (Train leaves section)
Massage reference: 5.1 ⇨
Label in progress

Shunting route releasing interactionsTrain detection

The collaboration diagrams, below shows the communication between components to achieve a shunting route releasing.

The first diagram covers shunting route releasing from an exit signal to a running track. The messages and purpose of them between the components are:

  1. releasePartShuntRoute:
    Releases shuntRouteSet.
  2. releasePartShuntRoute:
    Sets passed signal at danger.
    Disengages traction.
Figure with SpDrL60-col3.2.3 Shunting route releasing from shunting signal at exit signal.

Message 1: releasePartShuntRoute

Component Prerequisite Action
Component Prerequisite Action
3b Changes to nonVacant (Train enters section)
Massage reference: 1.1 ⇨
Label in progress

Message 2: releasePartShuntRoute

Component Prerequisite Action
Component Prerequisite Action
103 Changes to vacant (Train leaves section)
Massage reference: 2.1 ⇦
Label in progress

The second diagram covers shunting route releasing between a entrance and exit signal. The messages between the components and purpose of them are:

  1. releasePartShuntRoute:
    Sets previous signal at danger.
  2. releasePartShuntRoute:
    Sets previous signal at danger.
  3. releasePartShuntRoute:
    Releases shuntRouteSet.
  4. releasePartShuntRoute:
    Sets previous signal at danger.
Figure with SpDrL60-col3.2.4 Shunting route releasing from shunting signal.

Message 1: releasePartShuntRoute

Component Prerequisite Action
Component Prerequisite Action
101 Changes to vacant (Train leaves section)
Massage reference: 1.1 ⇨
Label in progress

Message 2: releasePartShuntRoute

Component Prerequisite Action
Component Prerequisite Action
201 Changes to vacant (Train leaves section)
Massage reference: 2.1 ⇨
Label in progress

Message 3: releasePartShuntRoute

Component Prerequisite Action
Component Prerequisite Action
3 Changes to nonVacant (Train enters section)
Massage reference: 3.1 ⇦
Label in progress

Message 4: releasePartShuntRoute

Component Prerequisite Action
Component Prerequisite Action
103 Changes to vacant (Train leaves section)
Massage reference: 4.1 ⇨
Label in progress

Main route cancelling interactionsZZT+FRT pressed

The collaboration diagrams, below shows the communication between components to achieve main route cancelling.

The first diagram covers main route cancelling between an exit and entrance signal. The messages and purpose of them between the components are:

  1. releasePartMainRoute:
    Disable traction of the traction selector at the adjacent block
  2. releasePartMainRoute:
    Clear route set status at main signals.
    Disable traction at traction selectors.
    Unlock turnouts.
Figure with SpDrL60-col3_1_5 Interaction collaboration main route cancelling.

Message 1: Label in progress

Component Prerequisite Action
Component Prerequisite Action
Massage reference: …
Label in progress

The second diagram covers a route between a entrance and exit signal. The messages between the components and purpose of them are:

  1. releasePartMainRoute:
    Disable traction of the traction selector of the overlap after the exit signal
  2. releasePartMainRoute:
    Clear route set status at main signals.
    Disable traction at traction selectors.
    Unlock turnouts.
Figure with SpDrL60-col3,1,6 Interaction collaboration main route cancelling.

Message 1: Label in progress

Component Prerequisite Action
Component Prerequisite Action
Massage reference: …
Label in progress

Shunting route cancelling interactionsVZT+FRT pressed

The collaboration diagrams, below shows the communication between components to achieve main route cancelling.

The first diagram covers main route cancelling between an exit and entrance signal. The messages and purpose of them between the components are: releasePartMainRoute: Disable traction of the traction selector at the adjacent block releasePartMainRoute: Clear route set status at main signals. Disable traction at traction selectors. Unlock turnouts.

Figure with SpDrL60-col3,2,5 Shunting route cancelling from shunting signal at exit signal.

Message 1: Label in progress

Component Prerequisite Action
Component Prerequisite Action
Massage reference: …
Label in progress

The second diagram covers a route between a entrance and exit signal. The messages between the components and purpose of them are: releasePartMainRoute: Disable traction of the traction selector of the overlap after the exit signal releasePartMainRoute: Clear route set status at main signals. Disable traction at traction selector

Figure with SpDrL60-col3,2,6 Shunting route setting from target shunting signal.

Message 1: Label in progress

Component Prerequisite Action
Component Prerequisite Action
Massage reference: …
Label in progress

_prer