Using the Canary Simulator

The Canary Simulator is a stand-alone application that can simulate Witness Canary network messages. Canary is part of the Witness application suite and is dedicated to the role of integration with 3rd party software. It supports a plugin architecture and therefore can support a number of different protocols and interfaces to other systems. The simulator has been designed to provide a generic platform that can utilise the same plugins and enable the user to generate typical systems messages. Depending on the selected plugin, the Simulator will translate the system message into the appropriate format intended for consumption by the appropriate 3rd party system.

This documentation covers the use of the Simulator. If you require further information on any of the specific protocols then please refer to the relevant online documentation or contact Navtech Radar.

Requirements

The simulator is a stand alone Windows application. The requirements are as follow:

  • Microsoft Windows 7 SP1 x86 and above
  • Microsoft .NET Framework 4.5.2
  • A PC or Laptop with a Ethernet network connection (wired or wireless)

Installation

The software is provided as a ZIP archive file. There is no formal installation process, all the required files are in the archive. So to install and run the the application:

  1. Unzip the archive file to a suitable location on your local storage (i.e. your Documents folder or the Desktop).
  2. From these newly created files, open the application entitled Witness.Canary.Simulator.exe.

On this page:

How does it Work

The user creates Witness reports using the supplied forms within the simulator. When the user sends the message it is processed by the selected plugin and is converted into the appropriate protocol. This converted report is then sent to the third party system over the specified communication link (typically Ethernet).

Be aware that the message forms may not directly represent the data which you expect via the selected protocol. This is because the forms represent the Witness report fields and properties however the agreed format and terminology for each protocol may differ. 

Introduction to the Application

When opened, you will be presented with the simulator's main window.

Main Window

  1. Main Toolbar
    1. ICD Plugins - List of available plugins that can be selected and used by the simulator. A plugin must be selected before the simulator can be used.
    2. Start - Starts the simulator and initialises the network logic.
    3. Stop - Stops the simulator and disconnects any active clients.
    4. Messages - This menu provides a link to all the system messages that can be sent from the simulator.
    5. Clear Alarm - Clears the selected alarm from the Active Alarms list and sends the appropriate clear alarm message.
    6. Dismiss Alarm - Dismisses the selected alarm in the Active Alarms list. Dismissing an alarm should not be confused with acknowledging an alarm. This option simulates the dismiss function available to operators in the Witness software. This is a temporary state where both audio and visual alerts are suspended for a fixed period of time. Assuming the alarm is still active, these alerts are re-initialised after the timeout period has expired.
    7. Log Messages - This saves the current log to a text file. By default the log file is saved in the same folder as the simulator application file.
  2. Active Alarm List - this displays any alarms that have been created in the simulator using the Alarm Report message. Alarm entries are automatically created when an alarm report is sent. They are removed using the Clear Alarm button, which also sends out a Clear Alarm Report.
  3. Sensor List - this displays 5 example sensors / radars. These are created by default when the simulator is first used. They can be changed by directly editing the simulator configuration file but this is not recommend. You can edit the sensor properties by double clicking on an entry in the list.
  4. Activity Log - this displays a log of all activity and events. If you are unsure on what the application is doing or what has recently happened then you should refer to this log.
  5. Main Status Bar.
    1. Version - displays the current version of the software.
    2. Selected Plugin - displays the selected plugin that the simulator is using.

Selecting a Plugin

Before you start using the simulator you must select the plugin you wish to use. The application ships with three plugins:

  • ICD-001 - Navtech's own communication protocol.
  • ICD-002 - Navtech / Nicander communication protocol.
  • ICD-100 - US Military communication protocol.

Once you select the required plugin the status bar and the activity log will reflect your selection.

Using the Simulator

Once you have selected a plugin, select Start to initialise the simulator.

You are now ready to start sending messages.

Sending a Highways Alarm Report

To send an alarm report:

  1. Ensure the configuration for your selected plugin supports the sending of alarms. For example, ICD-001 does not permit the sending of alarms until the option is switched on.
  2. Select the highways alarm report.



  3. Complete the alarm details, including a suitable description.



  4. When complete, select the Send button. The message will be sent but the alarm report form will remain open, so you can easily repeat the message if required.
  5. Either adjust the details and send another message or select Cancel to close the dialog.

Sending a Health Alarm Report

To send a health alarm report:

  1. Select the Health Alarm Report from the Messages menu.



  2. Enter a suitable description.
  3. Select the health alarm source. For sensor related health alerts, ensure you select Radar.
  4. Select the sensor, if applicable, which is the source of the health alarm. You can select from the pre-configured radar.
  5. Select the alarm type.
  6. Select Send to transmit the health alarm.
  7. Either adjust the setting and send another alarm or select Cancel to close the dialog.

Sending a Track Report

  1. Ensure the configuration for the selected plugin is setup correctly to send tracks.
  2. Select the Track Report from the Message menu.



  3. Complete the track details, including position, speed and direction.

    For the geo-coordinates, you can enter which every format of latitude, longitude or x, y and you like. The simulator will not perform any translation on these values, it will simply transfer the entered values directly through to the output protocol.

  4. Select one or more active alarms. If you have created any alarms that are still active then you can "attach" them to the track. This simulates a track which is responsible for creating or contributing to one or more alarms.
  5. Select Send to transmit the report.
  6. Either adjust the report criteria and send again or select Cancel to close the dialog.

    When sending tracks using the buffered mode, the tracks will continue to be sent for as long as the track is in the buffer. You can clear the buffer to prevent the buffered tracks being sent by selecting Clear Track Buffer.

Sending a Camera Report

  1. Select the Camera Report from the Messages menu.



  2. Select the appropriate Move Source.

    Note that you can only set the track Id and unique Id if you select Track as your Move Source. A default GUID will be generated for the unique Id when you select Track but you can overwrite this with a pre-defined GUID if required. 

  3. Enter the report details as required.
  4. Select Send to transmit the message.
  5. Either adjust the details and send another message or select Cancel to close the dialog.

Managing Alarms

When an alarm report is sent, it will appear in the alarm list. If you send multiple alarms then you will see an entry for each one transmitted. The alarm list includes some basic information about the alarm, including the date and time it was created and the alarm description. Typically an alarm will remain in the list until you manually clear it.

Acknowledging Alarms

This is done by the external system. Although alarms can be acknowledged in Witness, the simulator does not support this. It assume the acknowledgement message will come in from the external 3rd party system. When an alarm is acknowledged you will see the Acknowledge status change from False to True.

Dismissing Alarms

Alarm dismissal is not supported in all the protocols. To dismiss an alarm:

  1. Select the required alarm from the alarm list.



  2. Select the Dismiss Alarm button. You will be prompted whether you want to dismiss the alarm for 1 minute.
  3. Select OK to continue.
  4. A new alarm report will be transmitted with the new dismissed state.
  5. The alarm will remain in the list however the text will turn red to indicate it is in a dismissed state.
  6. After a minute the simulator will automatically send a re-activating alarm message and clear the dismiss state.
  7. Once the dismiss state has been cleared the text in the alarm list will return to black.

Clearing Alarms

To simulate an alarm being cleared:

  1. Select the required alarm from the alarm list.
  2. Select the Clear Alarm button.

  3. A Clear Alarm Report will be sent to the 3rd party system and the alarm will be cleared from the alarm list.

    Be aware that certain protocols, i.e. ICD-002, support a send-response pattern for alarms, which means that the 3rd party must reply with an alarm accept message after receiving the alarm from the simulator. If this accept message is never received then a clear message will not be sent because it was never considered to have been activated correctly. However the clear action will still remove the alarm from the list. 

Updating Radar Status

To send radar status updates you need to adjust the sensor properties on the sensors list.

To edit a sensors properties:

  1. Ensure the configuration for the selected plugin is setup correctly to send status reports.
  2. Select the sensor to change.
  3. Double click on the selected sensor line in the list. This will open a properties dialog.



  4. Change the settings as required.
  5. Select Update when complete.
  6. Depending on the design of the protocol, the system will either send an immediate status update or will send a report on the next scheduled report.
  7. Select Cancel when finished.

Protocol Specific Notes

Configuring the ICD-001 Plugin

To change the settings for the ICD-001:

  1. Close the Simulator.
  2. Find the file ICD001Interface.xml file. This can be found in the same folder as the Simulator.
  3. Open the file in a suitable text editor (we recommend Notepad++).
  4. Adjust the settings as required. See the documentation for details on the ICD-001 configuration options.
  5. Save the file and restart the Simulator.

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 recongnised:

  • Low
  • Medium
  • High

The only alarm type supported is:

  • Alarm

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

ICD-002 AlarmSimulator SettingsNotes

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

Related information