2. Signal Exchange List

2.1. Object Types

2.1.1. Grouped objects

ObjectType Description
Traffic Light Controller  

Figure 2.1: Grouped objects

2.1.2. Single objects

ObjectType Description
Signal group  
Detector logic  

Figure 2.2: Single objects

2.2. Aggregated status

ObjectType Status functionalPosition functionalState Description
Traffic Light Controller See state-bit definitions below      

Figure 2.3: Aggregated status

State- Bit nr (12345678) Description Comment
1 Local mode Traffic Light Controller is in local mode. NTS has no control.
2 No Communications  
3 High Priority Fault Traffic Light Controller is in fail safe mode; e.g. yellow flash or dark mode
4 Medium Priority Fault Traffic Light Controller has a medium priority fault, but not in fail safe mode. E.g. several lamp faults or detector fault
5 Low Priority Fault Traffic Light Controller has a low priority fault. E.g. Detector fault
6 Connected / Normal - In Use  
7 Connected / Normal - Idle Traffic Light Controller dark according to configuration. NOTE! When dark according to configuration the controller is considered to be in use
8 Not Connected  

Figure 2.4: State bits

2.3. Alarms

ObjectType alarmCodeId Description Priority Category
Traffic Light Controller A0001 Serious hardware error 2 D
Traffic Light Controller A0002 Less serious hardware error 3 D
Traffic Light Controller A0003 Serious configuration error 2 D
Traffic Light Controller A0004 Less serious configuration error 3 D
Traffic Light Controller A0005 Communication error between traffic light controllers / synchronisation error 3 D
Traffic Light Controller A0006 Safety error 2 D
Traffic Light Controller A0007 Communication error between one or multiple traffic light controllers and central control system. 3 D
Signal group A0008 Dead lock error 2 D
Traffic Light Controller A0009 Other error 3 D
Traffic Light Controller A0010 Door open 3 D
Signal group A0101 Pushbutton error 3 D
Signal group A0201 Serious lamp error 2 D
Signal group A0202 Less serious lamp error 3 D
Detector logic A0301 Detector error (hardware) 3 D
Detector logic A0302 Detector error (logic error) 3 D

Figure 2.5: Alarms

2.3.1. A0001

Serious hardware error

Is a “major fault” defined according to 3.8 i EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675.

2.3.2. A0002

Less serious hardware error

Is a “minor fault” defined according to 3.11 in EN12675.

2.3.3. A0003

Serious configuration error

Is a “major fault” defined according to 3.8 in EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675.

2.3.4. A0004

Less serious configuration error

Is a “minor fault” defined according to 3.11 in EN12675.

2.3.5. A0005

Communication error between traffic light controllers / synchronisation error

Is a “minor fault” defined according to 3.11 in EN12675.

2.3.6. A0006

Safety error

Is a “major fault” defined according to 3.8 in EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675.

2.3.7. A0007

Communication error between one or multiple traffic light controllers and central control system.

Used for communication errors with the central system. Includes NTP connection loss if the TLC is configured to use NTP.

Is a “minor fault” defined according to 3.11 in EN12675.

2.3.8. A0008

Dead lock error

Used for dead lock errors.

For instance; a signal group has requested green but is unable to switch due to a conflicting signal group for an extended period of time. At some point the request times out and the controller goes failure mode. The cause for this error is due to configuration errors or external sources.

Is a “major fault” defined according to 3.8 in EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675.

Name Type Value Comment
timeplan integer [designation] Current time plan

Figure 2.6: A0008

2.3.9. A0009

Other error

Used for other errors not covered by any other alarm type

Is a “minor fault” defined according to 3.11 in EN12675.

2.3.10. A0010

Door open

Used for open door (room or cabinet).

2.3.11. A0101

Pushbutton error

Used for push buttons

2.3.12. A0201

Serious lamp error

Used for lamp errors

Is a “major fault” defined according to 3.8 in EN12675 which causes the controller to switch to a “failure mode” according to 3.6 in EN12675.

Name Type Value Comment
color string -red
-yellow
-green
Color of lamp

Figure 2.7: A0201

2.3.13. A0202

Less serious lamp error

Used for lamp errors

Is a “minor fault” defined according to 3.11 in EN12675.

Name Type Value Comment
color string -red
-yellow
-green
Color of lamp

Figure 2.8: A0202

2.3.14. A0301

Detector error (hardware)

Is a “minor fault” defined according to 3.11 in EN12675.

Name Type Value Comment
detector string [designation] Designation of the detector (hardware)
type string -loop
-input
Type of detector
loop: Inductive detector loop
input: External input
errormode string -on
-off
Detector forced on/off while detector error
manual boolean -True
-False
Manually controlled detector logic (True/False)

Figure 2.9: A0301

2.3.15. A0302

Detector error (logic error)

For instance; detector continuously on or off during an extended time.

Is a “minor fault” defined according to 3.11 in EN12675.

Name Type Value Comment
detector string [designation] Designation of the detector (hardware)
type string -loop
-input
Type of detector.
loop: Inductive detector loop
input: External input
errormode string -on
-off
Detector forced on/off while detector error
manual boolean -True
-False
Manually controlled detector logic (True/False)
logicerror string -always_off
-always_on
-intermittent
Type of logic error
always_off: no detection during predefined max time
always_on: detection constantly on during predefined max time
intermittent: intermittent logic fault (flutter)

Figure 2.10: A0302

2.4. Status

ObjectType statusCodeId Description
Traffic Light Controller S0001 Signal group status
Traffic Light Controller S0002 Detector logic status
Traffic Light Controller S0003 Input status
Traffic Light Controller S0004 Output status
Traffic Light Controller S0005 Traffic Light Controller starting
Traffic Light Controller S0006 Emergency stage
Traffic Light Controller S0007 Controller switched on
Traffic Light Controller S0008 Manual control
Traffic Light Controller S0009 Fixed time control
Traffic Light Controller S0010 Isolated control
Traffic Light Controller S0011 Yellow flash
Traffic Light Controller S0012 All red
Traffic Light Controller S0013 Police key
Traffic Light Controller S0014 Current time plan
Traffic Light Controller S0015 Current traffic situation
Traffic Light Controller S0016 Number of detector logics
Traffic Light Controller S0017 Number of signal groups
Traffic Light Controller S0018 Number of time plans
Traffic Light Controller S0019 Number of traffic situations
Traffic Light Controller S0020 Control mode
Traffic Light Controller S0021 Manually set detector logic
Traffic Light Controller S0022 List of time plans
Traffic Light Controller S0023 Dynamic bands
Traffic Light Controller S0024 Offset time
Signal group S0025 Time-of-Green / Time-of-Red
Traffic Light Controller S0026 Week time table
Traffic Light Controller S0027 Time tables
Traffic Light Controller S0028 Cycle time
Traffic Light Controller S0029 Forced input status
Traffic Light Controller S0030 Forced output status
Traffic Light Controller S0031 Trigger level sensitivity for loop detector
Traffic Light Controller S0091 Operator logged in/out OP-panel
Traffic Light Controller S0092 Operator logged in/out web-interface
Traffic Light Controller S0095 Version of Traffic Light Controller
Traffic Light Controller S0096 Current date and time
Traffic Light Controller S0097 Checksum of traffic parameters
Traffic Light Controller S0098 Configuration of traffic parameters
Detector logic S0201 Traffic Counting: Number of vehicles
Detector logic S0202 Traffic Counting: Vehicle speed
Detector logic S0203 Traffic Counting: Occupancy
Detector logic S0204 Traffic Counting: Number of vehicles of given classification
Traffic Light Controller S0205 Traffic Counting: Number of vehicles
Traffic Light Controller S0206 Traffic Counting: Vehicle speed
Traffic Light Controller S0207 Traffic Counting: Occupancy
Traffic Light Controller S0208 Traffic Counting: Number of vehicles of given classification

Figure 2.11: Status

2.4.1. S0001

Signal group status

Provides the status of each signal group, including basic information such as green, yellow and red. But also detailed technical information.

Can be used to draw a live signal group diagram as well provide diagnostic information about the performance of the controller.

Name Type Value Comment
signalgroupstatus string [text] Signal group status as text field
cyclecounter integer [0-999] Cycle counter
basecyclecounter integer [0-999] Base cycle counter
stage integer [0-999] Current stage (isolated)

Figure 2.12: S0001

2.4.2. S0002

Detector logic status

Provides the status of all detector logics of the controller.

Can be used to draw a live signal group diagram as well provide diagnostic information about the performance of the controller. Can also be used for bus priority, external control systems, and much more.

Name Type Value Comment
detectorlogicstatus string [text] Detector logic status as text field

Figure 2.13: S0002

2.4.3. S0003

Input status

Input (1-255) of the controllers general purpose I/O.

Input is used where the traffic light controller must react to external control. It could be external detectors, bus priority, and much more.

Name Type Value Comment
inputstatus string [text] Input status as text field
extendedinputstatus string [text] Extended input status as text field

Figure 2.14: S0003

2.4.4. S0004

Output status

Output (1-255) of the controllers general purpose I/O.

Can be used for all types of output where the traffic light controller needs to control other equipment. Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.

Name Type Value Comment
outputstatus string [text] Output status as text field
extendedoutputstatus string [text] Extended output status as text field

Figure 2.15: S0004

2.4.5. S0005

Traffic Light Controller starting

The traffic signal is starting, e.g. it is in startup mode and has not begun working normally yet.

During startup mode the traffic controller shows dark, red, yellow flash or using the predetermined start cycle (minimum times).

Name Type Value Comment
status boolean -False
-True
False: Controller is not in start up mode
True: Controller is currently in start up mode

Figure 2.16: S0005

2.4.6. S0006

Emergency stage

The status is active during emergency prioritization.

Used in situations where full priority is given in the emergency vehicle program.

Name Type Value Comment
status boolean -False
-True
False: Emergency stage inactive
True: Emergency stage active
emergencystage integer [1-255] Number of emergency stage

Figure 2.17: S0006

2.4.7. S0007

Controller switched on

The controller is active and is not in dark mode.

Used to determine if the controller is operating, e.g. it shows red, green or yellow to the vehicles.

During maintenance work the controller might be using dark mode (no output to the signal heads).

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status boolean -False
-True
False: Traffic Light Controller in dark mode
True: Traffic Light Controller not in dark mode

Figure 2.18: S0007

2.4.8. S0008

Manual control

Traffic control deactivated in controller

Signal timings is controlled manually by service personnel using the operating panel of the controller.

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status boolean -False
-True
False: Manual control inactive
True: Manual control active

Figure 2.19: S0008

2.4.9. S0009

Fixed time control

Traffic actuated control deactivated and a pre-timed control is used.

Usually only used in case normal detectors can’t be used, e.g. during maintenance work.

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status boolean -False
-True
False: Fixed time control inactive
True: Fixed time control active

Figure 2.20: S0009

2.4.10. S0010

Isolated control

Isolated control mode indicates that the controller operates independently of any other traffic light controllers. This may different depending on traffic program (time plan).

Used to determine if the controller is operating independently or operating with other controllers (coordination).

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status boolean -False
-True
False: Isolated control disabled
True: Isolated control enabled (Vehicle actuated control or Fixed time control)

Figure 2.21: S0010

2.4.11. S0011

Yellow flash

The controller shows yellow flash.

Yellow flash may be used during a serious fault (depending on configuration) or maintenance work. It can also be manually set using M0001.

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status boolean -False
-True
False: Yellow flash disabled
True: Yellow flash enabled

Figure 2.22: S0011

2.4.12. S0012

All red

The controller show all red

All red can be manually set using the controllers operating panel during maintenance work.

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status boolean -False
-True
False: All red disabled
True: All red enabled

Figure 2.23: S0012

2.4.13. S0013

Police key

The controller is forced to dark mode or yellow flash.

The “police key” is a external control switch present in some controllers that manually switches the controller to either dark mode or yellow flash.

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
status integer -0
-1
-2
0: disabled
1: dark mode
2: yellow flash

Figure 2.24: S0013

2.4.14. S0014

Current time plan

The current time plan (signal program) used in the controller. There may be 1-255 predefined time plans.

The time plan (signal program) may change signal timings, cycle time, control strategy and much more. Typical usage is is scenario based control where change of program is used to change priority etc.

Name Type Value Comment
status integer [1-255] Current time plan

Figure 2.25: S0014

2.4.15. S0015

Current traffic situation

The current traffic situation used in the controller.

Used for area-based control where a command can be sent to a master traffic light controller about which predefined traffic situation to use (1-255).

Traffic situation is a concept used to divide multiple TLC’s into areas and sub-areas. The traffic situation gives the possibility to change the TLC sub-area dynamically depending on the time of day and the traffic flow. Depending on the traffic situation each TLC selects the time plan dynamically.

Name Type Value Comment
status integer [1-255] Current traffic situation

Figure 2.26: S0015

2.4.16. S0016

Number of detector logics

Can be used by the management system to check the number of detector logics configured in the controller.

Name Type Value Comment
number long [1-65025] Number of detector logics

Figure 2.27: S0016

2.4.17. S0017

Number of signal groups

Can be used for the management system to check the number of signal groups configured in the controller.

Name Type Value Comment
number long [1-65025] Number of signal groups

Figure 2.28: S0017

2.4.18. S0018

Number of time plans

Can be used for the management system to check the number of time plans configured in the controller.

Name Type Value Comment
number long [1-65025] Number of time plans (depreciated)

Figure 2.29: S0018

2.4.19. S0019

Number of traffic situations

Can be used for the management system to check the number of traffic situations configured in the controller.

Name Type Value Comment
number long [1-65025] Number of traffic situations

Figure 2.30: S0019

2.4.20. S0020

Control mode

Can be used for the management system to check the current control mode (startup, normal, standby, failure, test).

Name Type Value Comment
intersection integer [0-255] 0: Not applicable (only one intersection exists or applicable for all intersection of the traffic light controller)
Other value: Intersection number
controlmode string -startup
-control
-standby
-failure
-test
startup: Startup mode
control: Normal control
standby: Standby mode
failure: Failure mode
test: Test mode

Figure 2.31: S0020

2.4.21. S0021

Manually set detector logic

Provides status of detector logic (1-255) regarding if they are either forced to true or false.

Can be used to connect RSMP compatible detection equipment to the traffic light controller. Can also be used for prioritization.

Name Type Value Comment
detectorlogics string [text] Manually set detector logics (1/0) as text field

Figure 2.32: S0021

2.4.22. S0022

List of time plans

Provides a list of the configured time plans which is possible to use. This status was added due to status S0018 only provides the total number of time plans and not which were possible to use with M0002.

Can be used for the management system to check the number of time plans configured in the controller.

Name Type Value Comment
status string [text] Comma separated list of configured time plans. E.g. “1,2,3,5”

Figure 2.33: S0022

2.4.23. S0023

Dynamic bands

Provides a list of all defined dynamic bands. Dynamic bands moves start of signal groups in the cycle and changes the signal timings.

A typical usage of dynamic bands is scenario based control where changing of signal timings is used for optimal traffic flow.

Name Type Value Comment
status string [text] Dynamic bands.
Each dynamic band are written as pp-dd-ee where:
pp=Time plan
dd=Dynamic band number (from 1-10)
ee=Extension in seconds in this band

Each dynamic band is separated with a comma.

E.g.
pp-dd-ee,pp-dd-ee

Figure 2.34: S0023

2.4.24. S0024

Offset time

Offset time is used to define an offset between intersections in coordinated control. It is based on the expected travel time between intersections.

Can be used by the management system to check to fine tune the coordination for optimal traffic flow.

Name Type Value Comment
status string [text] Offset table
Each offset time is written as pp-tt where:
pp=time plan
tt=offset time in seconds

Each offset time is separated with a comma

E.g.
pp-tt,pp-tt

Figure 2.35: S0024

2.4.25. S0025

Time-of-Green / Time-of-Red

Provides predicted signal timings of green and red for each signal group. Max, min and likely time to green and red.

Name Type Value Comment
minToGEstimate string [time stamp] Time stamp for the minimum time for the signal group to go to green. If the signal group is green, it is the minimum time for the next green.
Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
maxToGEstimate string [time stamp] Time stamp for the maximum time for the signal group to go to green. If the signal group is green, it is the maximum time for the next green.
Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
likelyToGEstimate string [time stamp] Time stamp for the most likely time for the signal group to go to green. If the signal group is green, it is the most likely time for the next green.
Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
ToGConfidence integer [0-100] Confidence of the likelyToGEstimate. 0-100%
minToREstimate string [time stamp] Time stamp for the minimum time for the signal group to go to red. If the signal group is red, it is the minimum time for the next red.
Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
maxToREstimate string [time stamp] Time stamp for the maximum time for the signal group to go to red. If the signal group is red, it is the maximum time for the next red.
Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
likelyToREstimate string [time stamp] Time stamp for the most likely time for the signal group to go to red. If the signal group is red, it is the most likely time for the next red.
Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
ToRConfidence integer [0-100] Confidence of the likelyToREstimate. 0-100%

Figure 2.36: S0025

2.4.26. S0026

Week time table

Week time table for signal programs (time plan) to use for each day during a week.

The week time table determine which predefined signal timings (time plan) to use during the week for optimal traffic flow.

Name Type Value Comment
status string [text] Week time table. Defines time table to use for each week day
Each day is written as d-t where:
d=day of week
t=time table nr

Day of week legend:
0=Monday
1=Tuesday
2=Wednesday
3=Thursday
4=Friday
5=Saturday
6=Sunday

Each segment is separated with a comma
E.g.
d-t,d-t

Figure 2.37: S0026

2.4.27. S0027

Time tables

Time of day for when to switch signal program (time plan).

The signal timings (time plan) to use during time of day for optimal traffic flow.

Name Type Value Comment
status string [text] Time Table. Defines time tables.
Each time definition is written as t-o-h-m where:
t=time table nr (1-12)
o=function
h=hour - switching time
m=minute - switching minute

Function legend:
0=no plan is selected by time table
1=set plan 1

16= set plan 16

hour and minute is using local time (not UTC)

Each time definition is separated with a comma

E.g.
t-o-h-m,t-o-h-m

Figure 2.38: S0027

2.4.28. S0028

Cycle time

Cycle time (or cycle length) is the sum of all phases in a time plan (traffic program). This time is fixed when using fixed time control or coordination (except “local coordination”). When the cycle counter reaches this length it is reset back to zero.

Changing the cycle time can be used as part of scenario based control.

Name Type Value Comment
status string [text] Cycle time table
Each cycle time is written as pp-tt where:
pp=time plan
tt=cycle time in seconds

Each cycle time is separated with a comma


E.g.
pp-tt,pp-tt

Figure 2.39: S0028

2.4.29. S0029

Forced input status

Provide status of input (1-255) regarding if they are forced or not. Can be used for all types of input where the traffic light controller must react to external control.

Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.

Name Type Value Comment
status string [text] Forced input status as text field

Figure 2.40: S0029

2.4.30. S0030

Forced output status

Provide status of output (1-255) regarding if they are forced or not. Can be used for all types of output where the traffic light controller needs to control other equipment.

Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.

Name Type Value Comment
status string [text] Forced output status as text field

Figure 2.41: S0030

2.4.31. S0031

Trigger level sensitivity for loop detector

The trigger level sensitivity determines at what level the loop detector should trigger. If it set too low then then traffic will not be detected as intended. If it is set too high the detector might give false positives.

Can be used to make sure that the detectors detect traffic as intended.

Name Type Value Comment
status string [text] Loop detector trigger level sensitivity is written as dd-ss where:
dd=loop detector number
ss=sensitivity value
Each loop detector is separated with a comma. E.g.dd-ss,dd-ss.

Figure 2.42: S0031

2.4.32. S0091

Operator logged in/out OP-panel

Provides information if maintenance personnel is currently working on site.

Name Type Value Comment
user string -[username]
-[nobody]
[username]: User currently logged in
[nobody]: No one logged in
status string -login
-logout
login: Somebody currently logged in
logout: Nobody currently logged in

Figure 2.43: S0091

2.4.33. S0092

Operator logged in/out web-interface

Provides information if maintenance personnel is currently working with the controller.

Name Type Value Comment
user string -[username]
-[nobody]
[username]: User currently logged in
[nobody]: No one logged in
status string -login
-logout
login: Somebody currently logged in
logout: Nobody currently logged in

Figure 2.44: S0092

2.4.34. S0095

Version of Traffic Light Controller

Provides diagnostic version information.

Name Type Value Comment
status string [text] Manufacturer, product name and version of traffic light controller

Figure 2.45: S0095

2.4.35. S0096

Current date and time

Provides diagnostic information about the current date and time set in the controller.

Name Type Value Comment
year integer YYYY Year according to format YYYY. NOTE: UTC is used
month integer MM Month (01-12) according to format MM. Note: UTC is used
day integer DD Day of month (01-31) according to format DD. Note: UTC is used
hour integer HH Hour of day (00-23) according to format DD. Note: UTC is used
minute integer MM Minute (00-59) according to format MM. Note: UTC is used
second integer SS Second (00-59) according to format SS. Note: UTC is used

Figure 2.46: S0096

2.4.36. S0097

Checksum of traffic parameters

Can be used to check if any traffic parameter has been changed.

For instance, depending on controller, maintenance personnel can modify traffic parameters on site to optimize traffic flow. This status provides the ability to monitor if any traffic parameter has been changed. The traffic parameters may be downloaded with S0098.

Name Type Value Comment
checksum string [text] Checksum of the traffic parameters
Uses SHA-2 as hashing algorithm
Includes
- all signal programs, including program versions
- signal group settings
- time plans
- safety matrix
- intergreen times
- detector settings

It should NOT include:
- network settings
- log files
- software
- other device settings that are not part of the signal program

Note:
- The checksum should be calculated using the same data as used in S0098
timestamp string [time stamp] Time stamp of the checksum. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z

Figure 2.47: S0097

2.4.37. S0098

Configuration of traffic parameters

Can be used to download all traffic parameters from the controller.

For instance, depending on controller, maintenance personnel can modify traffic parameters on site to optimize traffic flow. This status provides the ability to downloaded them.

Name Type Value Comment
config base64 [binary] Traffic parameters
Includes
- all signal programs, including program versions
- signal group settings
- time plans
- safety matrix
- intergreen times
- detector setting

It should NOT include:
- network settings
- log files
- software
- other device settings that are not part of the signal program

Note:
- There is no way to upload this binary file to the TLC using RSMP
- The format of the binary file is not specified and is not expected to be compatible between suppliers
timestamp string [time stamp] Time stamp of the config. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
version string [text] Version information of the configuration. Contains basic information such as controller id, changes to config and other information. The format is not specified in detail

Figure 2.48: S0098

2.4.38. S0201

Traffic Counting: Number of vehicles

Used for Traffic counting.

Name Type Value Comment
starttime string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
vehicles long [number] Number of vehicles on a given detector logic (since last update)

Figure 2.49: S0201

2.4.39. S0202

Traffic Counting: Vehicle speed

Used for Traffic counting.

Name Type Value Comment
starttime string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
speed integer [speed] Average speed in km/h

Figure 2.50: S0202

2.4.40. S0203

Traffic Counting: Occupancy

Used for Traffic counting.

Name Type Value Comment
starttime string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
occupancy integer [0-100] Occupancy in percent (0-100%)

Figure 2.51: S0203

2.4.41. S0204

Traffic Counting: Number of vehicles of given classification

Used for Traffic counting.

Name Type Value Comment
starttime string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
P long [number] Number of cars
PS long [number] Number of cars with trailers
L long [number] Number of trucks
LS long [number] Number of trucks with trailers
B long [number] Number of busses
SP long [number] Number of trams
MC long [number] Number of motor cycles
C long [number] Number of bicycles
F long [number] Number of pedestrians

Figure 2.52: S0204

2.4.42. S0205

Traffic Counting: Number of vehicles

This status was introduced to improve performance in case traffic counting is done on all all detectors.

Name Type Value Comment
start string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
vehicles string [0-65535,…] Number of vehicles
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)

Figure 2.53: S0205

2.4.43. S0206

Traffic Counting: Vehicle speed

This status was introduced to improve performance in case traffic counting is done on all all detectors.

Name Type Value Comment
start string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
speed string [0-65535,…] Average speed in km/h (integer)
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)

Figure 2.54: S0206

2.4.44. S0207

Traffic Counting: Occupancy

This status was introduced to improve performance in case traffic counting is done on all all detectors.

Name Type Value Comment
start string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
occupancy string [0-100,…] Occupancy in percent (%) (0-100)
- Value expressed as an integer with a range of 0-100.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)

Figure 2.55: S0207

2.4.45. S0208

Traffic Counting: Number of vehicles of given classification

This status was introduced to improve performance in case traffic counting is done on all all detectors.

Name Type Value Comment
start string [time stamp] Time stamp for start of measuring. Format according to W3C XML dateTime with a resolution of 3 decimal places. All time stamps in UTC. E.g. 2009-10-02T14:34:34.341Z
P string [0-65535,…] Number of cars
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
PS string [0-65535,…] Number of cars with trailers
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
L string [0-65535,…] Number of trucks
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
LS string [0-65535,…] Number of trucks with trailers
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
B string [0-65535,…] Number of busses
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
SP string [0-65535,…] Number of trams
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
MC string [0-65535,…] Number of motor cycles
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
C string [0-65535,…] Number of bicycles
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)
F string [0-65535,…] Number of pedestrians
- Value expressed as an integer with a range of 0-65535.
- Contains data from all detector logics. Each detector logic is separated with a comma.
- The value is set to “-1” if no data could be measured (e.g. detector fault)

Figure 2.56: S0208

2.5. Commands

ObjectType commandCodeId Description
Traffic Light Controller M0001 Sets functional position
Traffic Light Controller M0002 Sets current time plan
Traffic Light Controller M0003 Sets traffic situation the controller uses.
Traffic Light Controller M0004 Restarts Traffic Light Controller
Traffic Light Controller M0005 Activate emergency route
Traffic Light Controller M0006 Activate input
Traffic Light Controller M0007 Activate fixed time control
Detector logic M0008 Sets manual activation of detector logic
Signal group M0010 Start of signal group. Orders a signal group to green.
Signal group M0011 Stop of signal group. Orders a signal group to red.
Traffic Light Controller M0012 Request start or stop of a series of signal groups.
Traffic Light Controller M0013 Activate a series of inputs
Traffic Light Controller M0014 Set dynamic bands
Traffic Light Controller M0015 Set Offset time
Traffic Light Controller M0016 Set week time table
Traffic Light Controller M0017 Set time tables
Traffic Light Controller M0018 Set Cycle time
Traffic Light Controller M0019 Force input
Traffic Light Controller M0020 Force output
Traffic Light Controller M0021 Set trigger level sensitivity for loop detector
Traffic Light Controller M0103 Set security code
Traffic Light Controller M0104 Set clock

Figure 2.57: Commands

2.5.1. M0001

Sets functional position

Sets the controller to yellow flash, dark mode or normal control.

Requires security code 2

Name Command Type Value Comment
status setValue string -NormalControl
-YellowFlash
-Dark
NormalControl: Normal Control
YellowFlash: Enables yellow flash
Dark: Enables dark mode
securityCode setValue string [text] Security code 2
timeout setValue integer [0-1440] Time in minutes until controller automatically reverts to previous functional position.
0=no automatic return
intersection setValue integer [0-255] Intersection number

Figure 2.58: M0001

2.5.2. M0002

Sets current time plan

Change of traffic program of the traffic light controller.

Typical usages is scenario based control where change of program is used to change signal timings etc.

This command changes the signal timings for optimal traffic flow.

Requires security code 2

Name Command Type Value Comment
status setPlan boolean -False
-True
False: Controller uses time plan according to programming
True: Controller uses time plan according to command
securityCode setPlan string [text] Security code 2
timeplan setPlan integer [1-255] designation of time plan

Figure 2.59: M0002

2.5.3. M0003

Sets traffic situation the controller uses.

Used for area-based control where a command can be sent to a master traffic light controller about which predefined traffic situation to use (1-255).

Traffic situation is a concept used to divide multiple TLC’s into areas and sub-areas. The traffic situation gives the possibility to change the TLC sub-area dynamically depending on the time of day and the traffic flow. Depending on the traffic situation each TLC selects the time plan dynamically.

Requires security code 2

Name Command Type Value Comment
status setTrafficSituation boolean -False
-True
False: Controller uses traffic situation according to own programming
True: Controller uses traffic situation according to command
securityCode setTrafficSituation string [text] Security code 2
traficsituation setTrafficSituation integer [1-255] designation of traficsituation

Figure 2.60: M0003

2.5.4. M0004

Restarts Traffic Light Controller

Used in the event of serious faults in the device where a restart is considered to be able to remedy a problem.

Requires security code 2

Name Command Type Value Comment
status setRestart boolean -False
-True
True: Restart controller
securityCode setRestart string [text] Security code 2

Figure 2.61: M0004

2.5.5. M0005

Activate emergency route

The function is made for emergency prioritization. Works in the same way as the M0006 and M0008 where the traffic light controller responds to an input.

Should be used in situations where full priority is given in the emergency vehicle program.

Requires security code 2.

Name Command Type Value Comment
status setEmergency boolean -False
-True
False: Activate emergency route
True: Deactivate emergency route
securityCode setEmergency string [text] Security code 2
emergencyroute setEmergency integer [1-255] Number of emergency route

Figure 2.62: M0005

2.5.6. M0006

Activate input

Set given input (1-255) of the controllers general purpose I/O to either true or false.

The function can provide an input to the traffic light controller on which a predefined action can be taken.

Can be used for all types of input where the traffic light controller must react to external control.

Typical usages are bus priority, coordination between traffic controllers, external control systems, and much more.

Requires security code 2

Name Command Type Value Comment
status setInput boolean -False
-True
False: Deactivate input
True: Activate input
securityCode setInput string [text] Security code 2
input setInput integer [1-255] Number of Input

Figure 2.63: M0006

2.5.7. M0007

Activate fixed time control

Deactivates the traffic actuated control using detectors and activates pre-timed control.

Can be used in case normal detectors can’t be used, e.g. during maintenance work.

Requires security code 2.

Name Command Type Value Comment
status setFixedTime boolean -False
-True
False: Deactivate fixed time control
True: Activate fixed time control
securityCode setFixedTime string [text] Security code 2

Figure 2.64: M0007

2.5.8. M0008

Sets manual activation of detector logic

Set given detector logic (1-255) to either true or false.

Can e.g. be used to connect RSMP compatible detection equipment to the traffic light controller. Can also be used for prioritization.

Requires security code 2

Name Command Type Value Comment
status setForceDetectorLogic boolean -False
-True
False: Deactivate manual control of detector logic
True: Activate manual control of detector logic
securityCode setForceDetectorLogic string [text] Security code 2
mode setForceDetectorLogic boolean -False
-True
False: Deactivate detector logic
True: Activate detector logic

Figure 2.65: M0008

2.5.9. M0010

Start of signal group. Orders a signal group to green.

Although this command is intended to be used with coordination it is not actually specified to be used for this yet. It is reserved in the SXL for possible future use.

Intended for use with coordination of signaling systems where a traffic light controller communicates with neighboring controllers. Only used when a primary controller orders signal group of other controller to green or red (Coordination with external control bits).

Requires security code 2

Name Command Type Value Comment
status setStart boolean -False
-True
False: No command (default)
True: Order a signal group to green
securityCode setStart string [text] Security code 2

Figure 2.66: M0010

2.5.10. M0011

Stop of signal group. Orders a signal group to red.

Although this command is intended to be used with coordination it is not actually specified to be used for this yet. It is reserved in the SXL for possible future use.

Intended for use with coordination of signaling systems where a traffic light controller communicates with neighboring controllers. Only used when a primary controller orders signal group of other controller to green or red (Coordination with external control bits).

Requires security code 2

Name Command Type Value Comment
status setStop boolean -False
-True
False: No command (default)
True: Order a signal group to red
securityCode setStop string [text] Security code 2

Figure 2.67: M0011

2.5.11. M0012

Request start or stop of a series of signal groups.

Starts or stops several signal groups.

This command was introduced due to coordination requirements needing to set many signal groups to green and red at the same time and M0010 and M0012 being to slow to send a message for each signal group individually.

Although this command is intended to be used with coordination it is not actually specified to be used for this yet. It is reserved in the SXL for possible future use.

Intended for use with coordination of signaling systems where a traffic light controller communicates with neighboring controllers.

Only used when a primary controller orders signal group of other controller to green or red (Coordination with external control bits).

May also include purposes for adaptive control where a UTC system or a local traffic light controller takes over the phase control (stage control).

Requires security code 2.

Name Command Type Value Comment
status setStart string [text] Orders signal groups to green or red. Sets a block of 16 signal groups at a time. Can be repeated to set several blocks of 16 signal groups. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon is used in example below.

1=Order signal group to green
0=Order signal group to red

Format: [Offset],[Bits to set],[Bits to unset]:…

Offset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.

Example 1:
“5, 4134, 65” sets input 6,7,10,17 = on and 5,11 = off
(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)

Example 2:
“22, 1, 4” sets input 22 = on and 24 = off
(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)

And both these examples could be sent in the same message as:
“5,4143,65:22,1,4”

Such a message would order signal group 6,7,10,17,22 to green and signal group 5,11,24 to red
securityCode setStart string [text] Security code 2

Figure 2.68: M0012

2.5.12. M0013

Activate a series of inputs

Set given inputs (1-255) of the controllers general purpose I/O to either true or false.

This command was introduced due to coordination requirements needing to set many inputs to true/false at the same time and M0006 being to slow to send a message for each input individually. With this command many inputs can be set to true/false at the same time using a single RSMP message.

Can be used for all types of input where the traffic light controller must react to external control. Typical usages are bus priority, coordination between traffic controllers, external control systems, and much more.

Requires security code 2

Name Command Type Value Comment
status setInput string [text] Sets/Unsets a block of 16 inputs at a time. Can be repeated to set several blocks of 16 inputs. Values are separated with comma. Blocks are separated with semicolon. Since semicolon breaks the SXL csv-format, colon, “:” is used in example below.

Format: [Offset],[Bits to set],[Bits to unset]:…

Offset sets where the 16 inputs starts from followed by two 16 bit values telling which bit to set and unset in binary format, i.e. first bit have value 1 and last bit have value 32768.

Example 1:
“5, 4134, 65” sets input 6,7,10,17 = on and 5,11 = off
(Input starts from no. 5 and bit 1,2,5,12 = 1 and bit 0,6 = 0)

Example 2:
“22, 1, 4” sets input 22 = on and 24 = off
(Input starts from no. 22 and bit 0 = 1 and bit 2 = 0)

And both thease examples could be sent in the same message as:
“5,4143:65:22,1,4”

Such a message would activate input 6,7,10,17,22 and deactivate input 5,11,24
securityCode setInput string [text] Security code 2

Figure 2.69: M0013

2.5.13. M0014

Set dynamic bands

Can be used to change between predefined signal timings. Moves the start of signal groups in the cycle.

This command can be used to change the split of green time during the cycle. A typical usage is scenario based control where changing of signal timings is used for optimal traffic flow.

Requires security code 2

Name Command Type Value Comment
plan setCommands integer [0-255] Plan to be changed
status setCommands string [text] Dynamic bands.
Each dynamic band are written as dd-ee where:
dd=Dynamic band number (from 1-10)
ee=Extension in seconds in this band

Each dynamic band is separated with a comma.

E.g.
dd-ee,dd-ee
securityCode setCommands string [text] Security code 2

Figure 2.70: M0014

2.5.14. M0015

Set Offset time

Offset time is used to define an offset between intersections in coordinated control. It is based on the expected travel time between intersections.

This command can be used to fine tune the coordination for optimal traffic flow.

Requires security code 2.

Name Command Type Value Comment
status setOffset integer [0-255] Set offset time in seconds
plan setOffset integer [0-255] Time plan nr
securityCode setOffset string [text] Security code 2

Figure 2.71: M0015

2.5.15. M0016

Set week time table

Set which time table for signal programs to use for each day during a week.

This command changes the signal timings during the week for optimal traffic flow.

Requires security code 2.

Name Command Type Value Comment
status setWeekTable string [text] Week time table. Defines time table to use for each week day
Each segment is written as d-t where:
d=day of week
t=time table nr

Day of week legend:
0=Monday
1=Tuesday
2=Wednesday
3=Thursday
4=Friday
5=Saturday
6=Sunday

Each segment is separated with a comma

E.g.
d-t,d-t
securityCode setWeekTable string [text] Security code 2

Figure 2.72: M0016

2.5.16. M0017

Set time tables

Set time of day for when to automatically switch signal program (time plan).

This command changes the signal timings according to time of day for optimal traffic flow.

Requires security code 2.

Name Command Type Value Comment
status setTimeTable string [text] Time Table. Defines time tables.
Each time definition is written as t-o-h-m where:
t=time table nr (1-12)
o=function
h=hour - switching time
m=minute - switching minute

Function legend:
0=no plan is selected by time table
1=set plan 1

16= set plan 16

hour and minute is using local time (not UTC)

Each time definition is separated with a comma.

E.g.
t-o-h-m,t-o-h-m
securityCode setTimeTable string [text] Security code 2

Figure 2.73: M0017

2.5.17. M0018

Set Cycle time

Cycle time (or cycle length) is the sum of all phases in a time plan (traffic program). This time is fixed when using fixed time control or coordination (except “local coordination”). When the cycle counter reaches this length it is reset back to zero.

This command provides the ability to change the cycle time when using coordinated or fixed time control. It changes the timings for optimal traffic flow. Can be used with scenario based control.

Requires security code 2.

Name Command Type Value Comment
status setCycleTime integer [1-255] Set cycle time in seconds
plan setCycleTime integer [0-255] Time plan nr
securityCode setCycleTime string [text] Security code 2

Figure 2.74: M0018

2.5.18. M0019

Force input

Force a given input (1-255) of the controllers general purpose I/O to either True or False. Can be used for all types of input where the traffic light controller must react to external control.

Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.

Requires security code 2.

Name Command Type Value Comment
status setInput boolean -False
-True
False: Force input
True: Release input
securityCode setInput string [text] Security code 2
input setInput integer [1-255] Number of Input
inputValue setInput boolean -False
-True
False: input forced to False
True: input forced to True

Figure 2.75: M0019

2.5.19. M0020

Force output

Force a given output (1-255) of the controllers general purpose I/O to either True of False. Can be used for all types of output where the traffic light controller needs to control other equipment.

Can be used for bus priority, coordination between traffic controllers, external control systems, and much more.

Requires security code 2.

Name Command Type Value Comment
status setOutput boolean -False
-True
False: Force output
True: Release output
securityCode setOutput string [text] Security code 2
output setOutput integer [1-255] Number of Output
outputValue setOutput boolean -False
-True
False: output forced to False
True: output forced to True

Figure 2.76: M0020

2.5.20. M0021

Set trigger level sensitivity for loop detector

The trigger level sensitivity determines at what level a loop detector should trigger. If it set too low then then traffic will not be detected as intended. If it is set too high the detector might give false positives.

This command provides the ability to fine tune loop detectors to make sure they detect traffic as intended.

Requires security code 2

Name Command Type Value Comment
status setLevel string [text] Loop detector trigger level sensitivity is written as dd-ss where:
dd=loop detector number
ss=sensitivity value
securityCode setLevel string [text] Security code 2

Figure 2.77: M0021

2.5.21. M0103

Set security code

Change the security code to use when sending commands

Security codes are used as an extra layer of security in many commands. They need to match between the supervision system and the traffic light controller in order for the commands to be executed.

Name Command Type Value Comment
status setSecurityCode string -Level1
-Level2
Level1: Change security code 1
Level2: Change security code 2
oldSecurityCode setSecurityCode string [text] Previous security code
newSecurityCode setSecurityCode string [text] New security code

Figure 2.78: M0103

2.5.22. M0104

Set clock

Can be used to manually set the clock of the traffic light controller if automatic time synchronization (NTP or watchdog sync) is not available. For instance, during maintenance work.

Requires security code 1

Name Command Type Value Comment
securityCode setDate string [text] Security code 1
year setDate integer [YYYY] Changes internal clock. Note: UTC is used
Year according to YYYY
month setDate integer [MM] Changes internal clock. Note: UTC is used
Month according to MM (01-12)
day setDate integer [DD] Changes internal clock. Note: UTC is used
Day in month according to DD (01-31)
hour setDate integer [HH] Changes internal clock. Note: UTC is used
Hour according to HH (00-23)
minute setDate integer [MM] Changes internal clock. Note: UTC is used
Minute according to MM (00-23)
second setDate integer [SS] Changes internal clock. Note: UTC is used
Second according to SS (00-59)

Figure 2.79: M0104