Getting Started – Unidirectional Network Gateway

As outlined on the Networking Overview page, the Unidirectional Network Gateway can be used to pass data from one OAS engine to another in a way that ensures data can only flow from the source to the destination and never the other way around. Normally, when an OAS engine uses Basic Networking or Live Data Cloud, one OAS engine can both read and write remote tags on another OAS engine. This type of communication is often used with remote data logging and Data Route. Whilst it is possible to use permissions to prevent reading and witing tags, this level of isolation is not sufficient for some use cases. The Unidirectional Network Gateway aims to solve this problem using a lower level isolation approach.

The Unidirectional Network Gateway is in fact also known as UDP Broadcast and UDP Receive, because it makes use of UDP – User Datagram Protocol – to create unidirectional data streams. By using UDP instead of TCP, the data can be sent from the source engine to a destination engine UDP port, which ensures data can only flow from the source to the destination OAS engine and not the other way around.

In the source OAS engine, you will specify the destination IP or host and port number on the UDP Broadcast screen. One destination OAS engine on the other hand, you will specify a port on which to listen for tag changes. These two port numbers must match. The following diagram shows an example:

The feature is included for free in all OAS systems.

See the following video for more practical information.

The feature supports broadcasting data from any tag variable from a the local server or remote servers within a local network to unlimited number of receiving servers.  Each receiving server can be setup to receive data from multiple broadcast servers providing many to many data transfer.

Use the following steps to setup servers to broadcast data and receiving services to update local and remote tag variables from the broadcasting nodes.

The receiving nodes need to have a fixed IP address, registered domain name, or network node name.  The broadcasting nodes do not need to have a fixed IP address.

Step 1

OAS

Start Configure OAS application.

Step 2

From the data source service select Configure-UDP Broadcast.

Configure UDP Broadcast

Step 3

Select the Local OAS Service by selecting the Select button next to the Network Node drop down.

Network Node

Step 4

Click the Checkbox to Enable UDP Broadcast and enter the Server Port number and Broadcast Rate which is the rate all values from this service will be broadcast to the receiving clients.

Click on Apply Changes.

UDP Broadcast Configuration

Click the Add Button and enter each receiving client IP Address and Port Number in the popup window and click OK.

UDP Broadcast Add IP

Step 5

Choose to send all tag values from the local service on each broadcast or uncheck the property Send All Local Tags to define a list of tags from the local system, remote systems, and all variables.

By defining which tags to broadcast has the following benefits over Send All Local Tags.

  • Reduced network packet size on the broadcast if the number of tags sent is less then the number of local tags.
  • Can broadcast any Tag Variable, not just the Value.
  • Can broadcast tag values from other remote nodes within the DMZ.

Step 6

Select the Save button on the toolbar at the top.

Save

Step 7

Save the file myUDPBroadcastServer.UDPBroadcast in the directory of your choice.

You can specify for this configuration to load automatically when the Service starts using Configure-Options to specify this default UDP Broadcast file.

Step 8

From the receiving service select Configure-UDP Receive.

Configure UDP Receive

Step 9

Select the Local OAS Service by selecting the Select button next to the Network Node drop down.

Network Node

Step 10

Click the CheckBox to Enable UDP Receive and enter the desired watchdog rate.  The watchdog rate is the amount of time it will wait before setting the receiving tags quality to bad without receiving a broadcast.

Click on Apply Changes.

UDP Receive Configuration

Click the Add Button to add a Port Number to listen on and select OK.  You can enter multiple receiving port numbers.

UDP Add Port

Step 11

Select the Save button on the toolbar at the top.

Save

Step 12

Save the file myUDPBroadcastClient.UDPReceive in the directory of your choice.

You can specify for this configuration to load automatically when the Service starts using Configure-Options to specify this default UDP Receive file.

Step 13

In the receiving node select Configure-Tags.  Add Tag’s with the Data Source of UDPClientTag and enter the Tag name of the broadcasting node you want to receive the value from.

UDP Tag Browse

Keep in mind you may not be able to browse for the tag name from the broadcast node, so you may have to manually enter it or use Tag CSV Import or programmatic tag setup using .NET or REST API to setup multiple tags.

The Tag defined must match the broadcast tag name defined in Step 5.

Examples:

  • Ramp.Value
  • Ramp.HighAlarmActive
  • \\192.168.0.1\Ramp.Value

Save the Tag Configuration file and specify it to load automatically under Configure-Options-Default Files.