Skip to main content
Version: 7.9

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 to 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 four would have five nodes total: one for the message and four for the fields.

Connecting to a Device

Inductive University

Connection to TCP Device

Watch the video

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 Server > Devices.
  3. On the Devices page, find the blue 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: 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

  1. You can check the box for Show advanced properties? to see the additional settings, but you can keep all the defaults.
  2. 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.
  3. 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].
  4. 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 Properties

PropertyDescription
NameName of the device using this driver. This name will appear in the Devices folder when browsing the OPC-UA server.
EnablesWhen selected, the device is enabled. When not selected, disabled devices will not make a connection attempt.

Connectivity Properties

PropertyDescription
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.
AddressOn the UDP driver, this is the IP address to listen to. On the TCP driver, this is the IP address to connect to.
Inactivity TimeoutThe number of milliseconds without receiving data from the source before a disconnect/reconnect is made. Set to 0 to disable.

Message Properties

PropertyDescription
Message Delimiter TypeSets 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 or set of characters 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 DelimiterIf the message delimiter type is Character Based, this will be the character or set of characters used to identify a message. If the type is Fixed Size, this will be the size used to identify a message.
Field CountThe 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 DelimiterThis 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.

Advanced

Both drivers have unique Advanced Properties

TCP Driver

PropertyDescription
Writeback EnabledEnable writeback capabilities for the device.
Writeback Message DelimiterThe delimiter expected by the device signaling the end of the incoming message.

UDP Driver

PropertyDescription
Message Buffer SizeThe size of the message buffer in bytes.
MulticastIf the connection should be enabled for multicast.
Tag Polling Speed

Tag values update no faster than the scan class a Tag is assigned to. If additional messages are received over TCP or UDP at a faster rate, the Tag will not show these additional values. Generally it is recommended to use these drivers with updates that come through at a 1 second rate or slower. The absolute maximum rate for the TCP driver is 25ms, although most systems cannot reliably execute this quickly. The UDP driver does not have a maximum rate, but a practical maximum rate will depend on hardware, and likely will be significantly slower than 25ms as well. Most "fast" scan rates fall in the 100ms-200ms range.