Maximizing Performance with ControlLogix Ethernet
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. Several of the key features allowing the ControlLogix Ethernet driver to perform at optimal levels are listed below.
Optimizing Communications:
As with any programmable controller, there are unique ways for optimizing system throughput. The Logix has a variety of ways to enhance the overall performance and system communications. The following are some suggestions to help users get started.
Tag Division (Protocol Mode)
Configuring multiple devices for communications to the same ControlLogix controller can provide performance benefits. Designate one or more devices for Physical Blocking purposes and one or more devices for Physical Non-Blocking purposes. This provides some tags with better performance using Physical Blocking while others will get better performance using Physical Non-Blocking. When using such tag division, note the following rules:
- Assign Server tags referencing Atomic Logix tags (array or non-array) to the Physical Non-Blocking device
- Assign Server tags referencing a Structure Logix tag composing of a 1/3*or less of the Structure tag to the Physical Non-Blocking device(s). For example, if there are 55**or less member tags referencing a PID_ENHANCED Logix tag, all these tags should be assigned to the Physical Non-Blocking device
- Assign Server tags referencing a Structure Logix tag composing of a 1/3*or more of the Structure tag to the Physical Blocking device(s). For example, if there are more than 55**member tags referencing a PID_ENHANCED Logix tag, all these tags should be assigned to the Physical Blocking device
UDT Substructure Aliasing
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):
- Create an Alias in RSLogix 5000 to this substructure
- Assign Server tags referencing this aliased substructure to a Physical Blocking device(s)
- Assign the Server tags referencing the rest of the UDT to a Physical Non-Blocking device (s)
In this fashion, Structure Logix Tag access can be optimized based on how substructures are referenced.
System Overhead Time Slice
Set in RSLogix5000, the System Overhead Time Slice (SOTS) is the percentage of time allocated to perform communication tasks (i.e. OPC driver communications). 100% - SOTS is the percentage of time 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 that the "SOTS" is set to, defines the priority of your task. If controller tasks (i.e. ladder logic) are of higher priority, then the SOTS should be set below 30%. If the communication tasks (i.e. OPC application) are of higher priority, then the SOTS should be set at or above 30%. Inspection of performance test results shows that the SOTS should be set to 10% - 40% for the best balance of communications performance and CPU utilization.
The SOTS setting applies to Continuous Tasks only (Does not apply to Periodic Tasks).
Multi-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 drastic improvement in performance over single tag transactions. The only limitation is on the number of data bytes that can fit in a single transaction.
Attention Symbolic Mode Users:
In Symbolic mode, each tag's ASCII string value is inserted into the request packet until no more tag requests will fit. For this reason, tag names should be kept to a minimum in size for optimum performance. The smaller the tag name, the more tags that will fit in a single transaction, the fewer transactions that are necessary to process all tags.
Array Elements Blocked (Symbolic and Physical Non-Blocking Modes Only)
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 do as few transactions as possible while scanning as many desired tags as possible. This is the essence of array element blocking. This Array Block Size setting is configurable in the ControlLogix Ethernet driver.
Optimized String Writes (Physical Protocol Modes Only)
In the Physical Addressing modes, a write to STRING.DATA will also write to STRING.LEN with the proper length value. This optimization is automatic and cannot be turned off. See Optimized String Writes under Technical Notes for further detail.
|