ICD-002 Plugin

Introduction

ICD-002 is a network communication protocol based on XML. The protocol is used over standard TCP/IP client-server connections. It is used by the Swedish Transport Administration - Trafikverket.

Here is a PDF of the protocol documentation:

For customers and integrators intending to use ICD-002, the documents assume a reasonable working knowledge of network communications, XML and XSD. They are targeted at technical teams, typically with software development skills, who are integrating the output from ClearWayâ„¢ into external systems.

This section covers the configuration of the plugin within ClearWayâ„¢ to send Alarm Reports. The configuration controls the network settings as well as enabling how and what data is transmitted through the plugin.

Contents



Overview

When ClearWayâ„¢ generates events, such as alarms, it passes all this information to the Integration Manager. The Integration Manager is then able to use loaded plugins such as ICD-002 to convert this information into a suitable data format to send to external systems. In this case the plugin converts the data to XML messages which are transmitted over a TCP/IP connection.

The data is transmitted as the events occur, leading to real time reporting.

Configuring the ICD-002 Plugin

The ICD-002 Plugin will appear as a node under the Integration Configurations folder within the Configuration Tree. The settings can be viewed and edited by enabling the Config Function, then selecting the plugin in Integration Configurations, within the Configuration Tree. Configuration settings will then be available in the Configuration Panel. 

image-20240403-100022.png

Once you have made changes to the plugin configuration and committed the changes by saving, the plugin will automatically restart itself based on the new configuration. Note that any connections to 3rd party systems will be dropped during this restart.

The setting options are as follows:

Plugin Enabled: When enabled the plugin will start and will always start when the Witness system starts. When disabled the plugin will stop and will not start until re-enabled.

Name: User friendly name of the plugin.

TCP Port: The TCP port on which the plugin listens to connections from clients.

Max Clients: The total number of network clients supported by the plugin.

System Id: The identification number of the system.

Pump Timer (s): This is how often it will check the timeouts.

Alarm Response Timeout (s): The period of time before an alarm times out.

Alarm Queue Check Interval (s): This setting specifies how often the system checks the Alarm Queue.

Alarm Queue Max Retries: The maximum number of times that the system will check the Alarm Queue before a message is removed. If the setting is set to 0 then the system will keep trying to send the message until it is sent or cleared.

Heartbeat Interval (s): The interval at which heartbeats are sent to the connected clients.

Status Transmission Interval (s): The interval at which the system sends Status reports.

Alarm Severity: The severity is an alarm filter. Only alarms of this severity or higher will be reported. Choose from from Unknown, Friend, Warning or Threat.

Sending ICD-002 Alarm Reports

Because the alarm report message form is based on the standard Witness settings, it may not be immediately obvious what settings to use to send ICD-002 alarms.

In ICD-002, only the following priorities are recognised:

  • Low

  • Medium

  • High

The only alarm type supported is:

  • Alarm

The following table provides the equivalent settings for each ICD-002 alarm type:

Alarm Number

ICD-002 Alarm

Simulator Settings

Notes

Alarm Number

ICD-002 Alarm

Simulator Settings

Notes

1

Slow Vehicle

Sub Type: Slow

Classification: N/A

Highways Alarm

2

Stopped Vehicle

Sub Type: Stopped

Classification: N/A

Highways Alarm

3

Reversing Vehicle

Sub Type: Reversing

Classification: N/A

Highways Alarm

4

Person in the Road

Sub Type: Default

Classification: Person

Highways Alarm

5

Debris in the Road

Sub Type: Debris

Classification: Debris

Highways Alarm

6

Queue End

Sub Type: Queue

Classification: N/A

Highways Alarm

7

Not connected

Health Type: PingTime

Health Source: Radar

Health Alarm

8

Low Packet Rate

Health Type: PacketRate

Health Source: Radar

Health Alarm

9

Low / High Temperature

Health Type: Temperature

Health Source: Radar

Health Alarm

10

Low / High Rotation Speed

Health Type: Rotation

Health Source: Radar

Health Alarm

Status Report

The Status Report documentation is covered in the PDF protocol documentation (located in the Introduction ICD-002 Plugin | Introduction at the top of this page.

Here is an example ICD-002 status report which includes the InUse message and the Type which displays if the sensor is connected:

<StatusReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Reported="2024-07-24T09:27:01.2637384+01:00" SystemId="1" xmlns="ICDNAV002-StatusReport"> <Status SensorId="7" InUse="false" Type="NotConnected" /> <Status SensorId="10" InUse="false" Type="NotConnected" /> <Status SensorId="3" InUse="true" Type="Connected" /> <Status SensorId="11" InUse="false" Type="NotConnected" /> <Status SensorId="18" InUse="false" Type="NotConnected" /> <Status SensorId="17" InUse="false" Type="NotConnected" /> <Status SensorId="16" InUse="false" Type="NotConnected" /> <Status SensorId="6" InUse="true" Type="Connected" /> <Status SensorId="4" InUse="true" Type="Connected" /> <Status SensorId="13" InUse="false" Type="NotConnected" /> <Status SensorId="20" InUse="false" Type="NotConnected" /> <Status SensorId="8" InUse="false" Type="NotConnected" /> <Status SensorId="1" InUse="true" Type="Connected" /> <Status SensorId="19" InUse="false" Type="NotConnected" /> <Status SensorId="5" InUse="true" Type="Connected" /> <Status SensorId="12" InUse="false" Type="NotConnected" /> <Status SensorId="2" InUse="true" Type="Connected" /> <Status SensorId="15" InUse="false" Type="NotConnected" /> <Status SensorId="9" InUse="false" Type="NotConnected" /> <Status SensorId="14" InUse="false" Type="NotConnected" /> </StatusReport>

Related Information

Safety is everything.