Flexible ControlLogix Ethernet Driver Features for Maximum Performance

Key Logix Features and Settings for Efficient Communications

The TOP Server ControlLogix Ethernet driver has been designed from the ground up to provide the best performance and reliability of any similar driver on the market.  Logix controllers have a variety of ways to enhance overall performance with respect to communications.

Several of the key features or other variables allowing the ControlLogix Ethernet driver to perform at optimal levels are listed below:

Increase CIP Connection Size for Greater Performance

Increasing the CIP Connection Size allows more read/write requests per data packet, which provides greater throughput. Although it also increases the CPU load and response turnaround time, it significantly improves performance.

The Connection Size property may be modified in the ControlLogix 5500 and CompactLogix 5300 device models only.  The driver supports a CIP Connection Size up to 4000 bytes.

To support connection sizes greater than 500 bytes, the device must meet the following requirements:

  • Firmware version 20 or later
  • Use Ethernet modules EN3x, EN2x, or EN5.x. (Older Ethernet modules like ENBT and ENET do not support this feature.)

Adjusting Your Logix System Overhead Time Slice (SOTS)

Set in RSLogix / RSStudio 5000, the System Overhead Time Slice (SOTS) is the percentage of time allocated to perform communication tasks (i.e. OPC and other driver communications) with the remainder allocated for controller tasks (i.e. ladder logic).

The default SOTS is 10%. This means that for every 10ms program scan that occurs, the controller spends 1ms processing ControlLogix Ethernet driver requests.

The value of the SOTS essentially defines the priority of your tasks. If controller tasks (i.e. ladder logic) are a higher priority, then the SOTS should be set below 30%.

If communication tasks (i.e. OPC driver requests) are of higher priority, then the SOTS should be set at or above 30%. Performance benchmarking shows that the SOTS should be set to 20% - 40% for the best balance of communications performance and CPU utilization.

Multi-Tag Request Packets

The ControlLogix Ethernet driver has been designed to optimize reads and writes. For non-array, non-string tags (tags requesting only one element), requests are blocked into a single transaction. This provides significant increase in performance compared to single tag transactions.

The only limitation is on the number of data bytes that can fit in a single transaction.  By default, a single request can contain up to 500 bytes.  Where supported this can be increased up to 4000 bytes (see CIP Connection Size).

Tag Division Across Multiple Devices with Different Protocol Modes

Configuring multiple devices for communications to the same ControlLogix controller can provide performance benefits. Designate one or more devices for Logical Blocking purposes and one or more devices for Logical Non-Blocking purposes.

When using such tag division, note the following general rules-of-thumb:

  1. Assign to a device configured for Logical Non-Blocking mode:
    1. Tags referencing Atomic Logix tags (array or non-array)
    2. Tags referencing a Structure Logix tag composing roughly 1/3 or less of the Structure
  2. Assign to a device configured for Logical Blocking mode:
    1. Tags referencing a Structure Logix tag composing more than a 1/3 of the Structure tag

LEARN MORE

Using UDT Substructure Aliasing for Improved Throughput

If a UDT contains large substructures and a 1/3 or more of the substructure are referenced BUT the rest of the UDT is sparsely referenced (1/3 or less):

  1. Create an alias in RSLogix 5000 (RS Studio 5000) to this substructure
  2. Assign server tags referencing this aliased substructure to a device configured for Logical Blocking mode
  3. Assign the server tags referencing the rest of the UDT to a device configured for Logical Non-Blocking mode

Blocking of Array Elements

Reading of Logix atomic array elements is optimized. This is done by reading a block of the array in a single request as opposed to reading each element individually. The more elements read in a block, the greater the performance.

Since transaction overhead and processing consumes the most time, it is optimal to request as few transactions as possible while scanning as many desired tags as possible. This is the essence of array element blocking. The "Array Block Size" setting is configurable in the ControlLogix Ethernet driver from 30 up to 3840 array elements in a single transaction.

Optimized String Writes

With logical addressing modes in the driver, writing to a STRING.DATA tag also writes to an associated STRING.LEN tag with the proper length value.

String tags are structures with separate character data and length components. As such, the driver automatically reads a string tag in two transactions: one in Logical Protocol Mode for the string character data (DATA) and one in Symbolic Mode for the string length (LEN).

However, by disabling the "Terminate String Data at LEN" option in the device properties in the driver, a single transaction is made to read the string character data, bypassing the separate read for string length. For projects with many string tags, this can significantly reduce the time required to read all tags.

Built-in Performance Statistics Help You Fine Tune Your Application

The ControlLogix Ethernet driver includes Performance Statistics functionality at the device, channel and driver level that provides benchmarks and statistics about the application's performance.

To enable the Performance Statistics feature, access Device Properties and, under Logix Options, set "Performance Statistics" to Enable.

Consult the ControlLogix Ethernet driver help file under "Performance Optimizations" for further details on using tuning, including a detailed example.

Important Notes:

  • For in-depth detail on getting the best performance from the TOP Server ControlLogix Ethernet driver with your system, we recommend the following guides:
  • System Overhead Time Slice (SOTS) applies to Continuous Tasks only - it does NOT apply to Periodic Tasks.
  • System Overhead Time Slice (SOTS) does NOT apply to ControlLogix 5580 and CompactLogix 5380 families which now have a dedicated communications processor.
  • ControlLogix and CompactLogix controllers that do not meet the necessary requirements for a larger CIP Connection Size automatically fall back to the default setting of 500 bytes.
  • Performance Statistics add an additional layer of processing.  As such, it can negatively affect the server's performance in the long-term and is disabled by default.
  • In Symbolic mode, each tag's ASCII string value is inserted into the request packet until no more tags will fit. For this reason, tag names should be kept to a minimum in size for optimum performance.

Get Started Now

The demo is the full product once licensed. Once a client application connects to the  TOP Server, the TOP Server runtime will operate for 2 hours at a time. At the end of the 2 hour demo period, the demo timer must be reset by restarting the TOP Server runtime service.

Connect with Us

1-888-665-3678 (US + Canada toll free)
+1-704-849-2773 (Global)
support.softwaretoolbox.com