Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

OPC United Architechture (OPC UA) protocol is widely used industrial communications protocol. The ICD-007 OPC Server integration plugin instantiates an OPC UA Server within the Witness system, allowing 3rd party OPC UA clients to connect and obtain data from. The OPC UA Specifications come in multiple parts and can be obtained from the OPC Foundation website.

...

Contents

...

Table of Contents
maxLevel3
indent16px
excludeIntroduction|Contents

...

Overview

When Witness processes alarms and health statuses, it passes all this information to Witness Management Integration Manager. Witness Integration Manager then converts this information into a suitable data format to send to external systems.

...

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

Installing the OPC Server Plugin

The Witness system supports integration with many different types of external systems through the use of plugins. These are stand-alone software libraries which are dynamically loaded by the Integration Manager and contain code which knows how to convert the Witness data into the required format for the external system. Navtech Radar can easily develop bespoke plugins to interface with a specific type of equipment or application. The OPC Server plugin has been developed to provide integration to the common OPC UA standard used in highway systems.

...

When installing Witness, in the Choose Components page of the Witness Setup wizard, open Integration Plugin options and select ICD007:

...

The OPC Server Plugin

The Witness system supports integration with many different types of external systems through the use of plugins. These are stand-alone software libraries which are dynamically loaded by the Integration Manager and contain code which knows how to convert the Witness data into the required format for the external system. Navtech Radar can easily develop bespoke plugins to interface with a specific type of equipment or application. The OPC Server plugin has been developed to provide integration to the common OPC UA standard used in highway systems.

The OPC Server plugin file is entitled Tungsten.Integration.ICD007.Plugin.dll and must be present in the Witness Plugin folder which is inside the main application folder. The plugin depends on OPC Foundation's liberaries Opc.Ua.Core.dll and Opc.Ua.Server.dll which must be present in the same folder.

OPC UA Client Prequisites

The OPC UA client used to connect to the OPC server must login through a Username and Password channel. Other authentication methods are not supported.

To facilitate secure connection, the client server connection requires a security certificate. You may choose to let the plugin generate its own security certificate for the communication or provide a custom certificate. Generated certificates are by default stored under the Windows certificate store > CurrentUser > My and must be installed as trusted by the OPC Client.

Configuring the OPC Server Plugin

When the plugin is installed and licensed, a plugin configuration with default settings is automatically generated. 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. 

...

Warning

If Certificate Type is "Directory", auto create certificate can only create new certificates if Opc Foundation Redistributable is installed.

If the specified certificate does not exist and new certificate cannot be created (e.g. due to the above or if Auto create Certificate is not selected), the plugin will not be able to start up.

Generating the OPC Node Structure

To assist development or configuration of the OPC UA Client, the OPC node structure will be output to the local program data folder in .csv format each time the plugin is started. As you add or remove radars, or change plugin configuration, OPC Node structure will change.

...

Witness

Folder

1:Witness







Heartbeat

Int32

1:Heartbeat





ManagementServerHealth

Int32

1:ManagementServerHealth





TrackEngineHealth

Int32

1:TrackEngineHealth





DatabaseHealth

Int32

1:DatabaseHealth





CarriagewayCount

Int32

1:CarriagewayCount





RadarCount

Int32

1:RadarCount





CarriageWays

Folder

1:CarriageWays






Carriageway 1

Folder

1:Carriageway1






SectionCount

Int32

1:SectionCount





Section 1

Folder

1:Section1






SectionId

Int32

1:SectionId





Mode

Int32

1:Mode






RadarId

Int32

1:RadarId






TrafficData

Boolean

1:TrafficData





AverageSpeed

Double

1:AverageSpeed





AverageCount

Int32

1:AverageCount





Reversing Rule

Folder

1:Rule1







Description

String

1:Description






Active

Boolean

1:Active






Raised

DateTime

1:Raised






LocationX

Double

1:LocationX






LocationY

Double

1:LocationY






Lane

Int32

1:Lane





Speed Rule

Folder

1:Rule2







Description

String

1:Description






Active

Boolean

1:Active






Raised

DateTime

1:Raised






LocationX

Double

1:LocationX






LocationY

Double

1:LocationY






Lane

Int32

1:Lane




Section 2

Folder

1:Section2






SectionId

Int32

1:SectionId





Mode

Int32

1:Mode






RadarId

Int32

1:RadarId






TrafficData

Boolean

1:TrafficData





AverageSpeed

Double

1:AverageSpeed





AverageCount

Int32

1:AverageCount





Reversing Rule

Folder

1:Rule1







Description

String

1:Description






Active

Boolean

1:Active






Raised

DateTime

1:Raised






LocationX

Double

1:LocationX






LocationY

Double

1:LocationY






Lane

Int32

1:Lane





Speed Rule

Folder

1:Rule2







Description

String

1:Description






Active

Boolean

1:Active






Raised

DateTime

1:Raised






LocationX

Double

1:LocationX






LocationY

Double

1:LocationY






Lane

Int32

1:Lane





Person Rule

Folder

1:Rule3







Description

String

1:Description






Active

Boolean

1:Active






Raised

DateTime

1:Raised






LocationX

Double

1:LocationX






LocationY

Double

1:LocationY






Lane

Int32

1:Lane


Sensors

Folder

1:Sensors







Radar 1

Folder

1:Sensor7083798e-329d-4eb6-a4bc-4dee3553faea




LastHealth

Int32

1:LastHealth





LastTime

DateTime

1:LastTime





RadarId

Int32

1:RadarId





Radar 2

Folder

1:Sensord8aec3b1-4f71-41c1-8d90-0bb0387340b0




LastHealth

Int32

1:LastHealth





LastTime

DateTime

1:LastTime





RadarId

Int32

1:RadarId




README

String

1:README




OPC Login Credentials

...

To log in to the OPC server with an OPC client, you can use the credential of any System user. If none exist, an admin level user may create a new one.

...

Related Information

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
cqllabel in ( "OPC" , "integration" ) and space = "TUN"