UDP and TCP Driver

What is a TCP Connection?

Ignition's UDP and TCP drivers allows Ignition to communicate to various devices like barcode scanners, scales, and more. These are not catch-all drivers that will talk to any PLC that communicates over TCP, but rather very basic drivers that will communicate over TCP or UDP. The drivers are configured to connect to one or more ports on a given IP address and bring in any data there (ASCII characters, etc) as a value of a tag. Both drivers can act as strictly passive listeners: meaning they do not write back or make any requests to the device. This is very powerful for the devices that are designed to function in this way (like barcode scanners) because the device just needs to constantly update data on a port for this driver to work.

The TCP driver has the option of writing back to the device. When configured for Writeback, a tag is exposed in Ignition's OPC server that will handle writing: any writes made to the tag are sent to the device.

Structure in the Address Space

A device using the UDP or TCP driver appears in the Devices folder of the OPC-UA server with the name it was configured to use. Browsing the device will yield one folder per port configured to listen on. Browsing the port folder will yield 1 variable node containing the entire message received as well as an additional variable node per field configured. A device configured with a field count of 4 would have 5 nodes total: 1 for the message and 4 for the fields.

Connecting to a Device

Instead of connection to a device directly, this driver will connect to a port (often on the host computer or a computer connected directly to the device), and that device will be configured to post data to that same host/port. Rules are configured that dictate how the incoming data is interpreted. You can configure multiple ports for each device connection.

To connect to a barcode scanner or scale

You can connect to a barcode scanner or scale by using Ignition's UDP and TCP driver.

  1. Go to the Configure section of the Gateway webpage.

  2. Scroll down and select OPC-UA > Devices.

  3. On the Devices page, find the orange arrow and click on Create new Device.

  4. On the Add Device Step 1: Choose Type page, scroll all the way down and select TCP Driver, and click Next.

  5. On the New Device page, leave all the default values and type in the following fields:
    Name: Scale, the name you specify here will appear under Devices folder on the Quick Client page in the Gateway.
    Port(s): 12345, as an example
    Hostname: type the IP address, for example 10.20.6.108

  6. You can check the box for Show advanced properties? to see the additional settings, but you can keep all the defaults.

  7. Click Create New Device.
    The Devices page is displayed showing the Scale device is successfully created and added to Ignition. The Status will show as 1/1 Connected.

  8. Go to the OPC Connections > Quick Client in the Configure section of the Gateway, under the Devices>[Scale]>12345 folder you will see the Last Receive Time and the Message folders.
    Next to each tag, under the Action column, you will see [s][r][w].

  9. Click on [s] which means Subscription. You will be able to see the Value of the tag displayed on this OPC Quick Client page.

Device Properties

The properties on the New Device page of the Gateway for the TCP and UDP devices are as follows:

General

 

Name

Name of the device using this driver. This name will appear in the Devices folder when browsing the OPC-UA server.

Enables

When selected, the device is enabled. When not selected, disabled devices will not make a connection attempt.

Connectivity

 

Port(s)

On the UDP driver, this is the port(s) to listen on.
On the TCP driver, this is the port(s) to connect to.
Separate multiple ports with a comma.

Address

On the UDP driver, this is the IP address to listen to.
On the TCP driver, this is the IP address to connect to.

Inactivity Timeout

The number of milliseconds without receiving data from the source before a disconnect/reconnect is made. Set to 0 to disable.

Message

 

Message Delimiter Type

Sets the method used to determine how much or what data length constitutes a full message.
Packet Based: Assumes that whatever arrives in one packet, regardless if length or content, is the message.
Character Based: Content is appended to a message buffer until the given character arrives, at which point the contents of the buffer are considered the message.
Fixed Size Content is appended to a message buffer until some fixed number of bytes is received, at which point the contents of the buffer are considered the message.

Message Delimiter

If the message delimiter type is Character Based, this will be the character used to identify a message.
If the type is Fixed Size, this will be the size used to identify a message.

Field Count

The number of fields within a message must be fixed. This property dictates how many fields will be present in each message. When the number of fields received does not match the designated count, all nodes will receive quality BAD_CONFIG_ERROR.

Field Delimiter

This is the character(s) that are used as field delimiters. For example, the message a|b|c|d with a field delimiter of "|" would be split into four fields: a, b, c, and d. The field count would have to be set at 4.

Both drivers have unique Advanced Properties

TCP Driver

 

Writeback Enabled

Enable writeback capabilities for the device.

Writeback Message Delimiter

The delimiter expected by the device signaling the end of an incoming message.

UDP Driver

 

Message Buffer Size

The size of the message buffer in bytes.

Multicast

If the connection should be enabled for multicast.