Documente Academic
Documente Profesional
Documente Cultură
INTRODUCTION............................................................................................................. 4
DESIGN TIPS FOR OPTIMAL PERFORMANCE ..................................................... 4
GIVE THE CONTROLLOGIX PROCESSOR ENOUGH COMMUNICATIONS BANDWIDTH ......... 4
The Continuous Task................................................................................................... 4
Periodic Tasks............................................................................................................. 6
Using Both a Continuous and Periodic Tasks ............................................................ 6
Configuring ControlLogix Processors as Data Concentrators .................................. 7
MAXIMIZE CONTROLLOGIX COMMUNICATIONS BANDWIDTH USAGE ............................. 7
Have only one RSLinx communicate to any ControlLogix Processor........................ 7
Use RSLinx Gateway to Get Data into Many Stations ............................................... 7
Collect Data from Arrays or UDT structures ............................................................. 8
Separate data collection from time critical control programs ................................... 8
Dont poll data too fast ............................................................................................... 8
KEEP TAGS ON SCAN ....................................................................................................... 8
USE A FASTER CONTROLLOGIX PROCESSOR .................................................................... 9
ENSURE RSLINX AND CONTROLLOGIX VERSIONS ARE CURRENT ENOUGH ...................... 9
CONFIGURING RSLINX ............................................................................................. 10
TOPIC PARAMETERS ....................................................................................................... 11
Polled Messages........................................................................................................ 11
Unsolicited Messages................................................................................................ 11
Communications Time-Out ....................................................................................... 11
Use Symbols .............................................................................................................. 12
RSLOGIX 5000 AUTOMATICALLY CONFIGURES TOPICS IN RSLINX .............................. 12
UNDERSTANDING CONTROLLOGIX DATA COLLECTION ............................ 13
STEP-BY-STEP ................................................................................................................ 13
READ OPTIMIZATION ..................................................................................................... 15
Array optimization .................................................................................................... 15
Boolean Array Optimization ..................................................................................... 16
UDT optimization...................................................................................................... 16
First Level or Scattered Optimization .................................................................. 18
How much data can be read in a ControlLogix Optimized Packet? ........................ 18
WRITE OPTIMIZATION .................................................................................................... 19
How to Use Write Optimization................................................................................ 19
Array optimization for writes.................................................................................... 19
How many tags can be sent in a write packet to the ControlLogix? ........................ 19
Data Type.................................................................................................................. 19
Max. Items that fit into a Write Packet ..................................................................... 19
RSLINX SMART POLLING ........................................................................................... 20
HOW RSLINX USES CONTROLLOGIX CONNECTIONS ..................................................... 20
MEMORY CONSUMPTION IN THE CONTROLLOGIX PROCESSOR ...................................... 22
COMMUNICATION EVENT LOG ............................................................................. 24
GETTING RSLINX DATA INTO APPLICATIONS ................................................. 26
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 2
LOGIX5000 TAG IMPORT UTILITY - IMPORT CONTROLLOGIX TAGS INTO RSVIEW AND
RSSQL .......................................................................................................................... 26
BROWSING AND SELECTING CONTROLLOGIX TAGS ....................................................... 26
MISCELLANEOUS RSLINX FEATURES AND TIPS ............................................. 30
BACKUP/RESTORE RSLINX CONFIGURATIONS TO/FROM A FILE ................................... 30
CONTROLLOGIX DATA MONITOR .................................................................................. 31
RSLINXS COPY DDE/OPC LINK SUPPORTS BROWSING CONTROLLOGIX TAGS ............ 32
GETTING MODULE INFORMATION IN RSLINX ................................................................ 33
APPLICATION NOTES ................................................................................................ 35
PUT TAGS ON SCAN AT THE SAME TIME ........................................................................ 35
CHANGING CONTROLLOGIX TAGS WHILE ON SCAN ..................................................... 35
REDUNDANT RSLINX GATEWAY SERVERS WITH RSVIEWS NODESWITCH COMMAND 37
REDUNDANCY FOR CONTROLLOGIX PROCESSORS.......................................................... 37
USING CONTROLLOGIX STRINGS ................................................................................... 37
TROUBLESHOOTING ................................................................................................. 37
PERFORMANCE ........................................................................................................... 38
THROUGHPUT VS. SYSTEM OVERHEAD TIME SLICE WITH A CONTINUOUS TASK ........... 38
THROUGHPUT VS. PERIODIC RATE WITH A PERIODIC TASK ............................................ 40
THROUGHPUT VS. SYSTEM OVERHEAD TIME SLICE AND PERIODIC RATE WITH A
CONTINUOUS AND A PERIODIC TASK ............................................................................. 42
PROCESSOR TYPE VS. PERFORMANCE ............................................................................ 42
Page 3
Introduction
This document provides design tips, troubleshooting, application notes, and performance
data for performing RSLinx data collection to ControlLogix processors.
Page 4
The Advanced tab of the Controller Properties in RSLogix5000, showing the System
Overhead Time Slice box.
The Configuration tab of the Task Properties in RSLogix5000 for the continuous task,
showing the Max Scan Time of the task
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 5
Periodic Tasks
A periodic task runs without being interrupted by communications. Communications are
only serviced in-between task executions. More communications bandwidth can be
allocated by increasing the Periodic Rate of the periodic task so that it runs less
frequently. Conversely, the more tightly a periodic task is scheduled to run the less
communications bandwidth the ControlLogix processor has. For example, if a periodic
task takes 30ms to run and it is scheduled to run every 50ms then communications will be
blocked for 30ms and then will be serviced for the next 20ms. Motion, I/O, and
messaging also need to be serviced in-between periodic task executions. Note that the
System Overhead Time Slice has no effect on communications bandwidth relative to a
periodic task.
With multiple periodic tasks communications are still only serviced in-between running
the periodic tasks. More periodic tasks will make scheduling more complicated and will
decrease communications bandwidth.
The Configuration tab of the Task Properties in RSLogix5000 for a periodic task,
showing the Periodic Rate and the Scan Times of the task.
Page 6
If using a mix of continuous and periodic tasks then both the System Overhead Time Slice
and the Periodic Rate(s) will have to be increased to allocate more communications
bandwidth. If only one of these parameters is increased then task scan times may
adversely increase with little increase to communications bandwidth. First, eliminate any
unnecessary tasks by consolidating your PLC code into fewer tasks. Then, increase the
Periodic Rate(s) of the periodic task(s) as much as possible so the task(s) only run as
often as necessary. Finally, increase the System Overhead Time Slice.
Page 7
In contrast, RSLogix has to have a local RSLinx with a TCP driver that references a
driver on the RSLinx Gateway. Do not use this setup for data collection as it bypasses
RSLinx optimization and creates more communication burden on the ControlLogix.
Eliminate a single point of failure with redundant RSLinx Gateways
This is easily done with having a backup RSLinx Gateway server available. If the
RSLinx Gateway server fails then all HMI stations can switch their data collection to the
backup RSLinx Gateway server. RSView for example has a simple node-switch
command that will switch the data collection from one RSLinx Gateway server to
another. See the application Note section of the document for an example.
TIP: One option to reduce hardware cost is to make one of the HMI stations the RSLinx
Gateway server or backup server.
Collect Data from Arrays or UDT structures
Collecting data contained in arrays or UDTs that can be optimized will use less
ControlLogix processor CPU resources and memory. Array optimization happens
automatically when array elements of a one dimensional array are put on scan by a data
collection application at the same time. The ControlLogix processor will internally treat a
range of these array elements as a single tag thus consuming less CPU and memory
resources.
UDT optimization works by having RSLinx grab the entire UDT structure when any of
the structures members are put on scan and the UDT optimization is enabled in RSLinx.
See the UDT Optimization section later in this document for more information.
Separate data collection from time critical control programs
In many cases a ControlLogix processor is running time critical code with little room to
allocate for communications. If more communications bandwidth is needed and there is
no tolerance for increasing task time consider consolidating data collection and I/O as
much as possible into specific ControlLogix processors that are not controlling time
critical tasks.
Dont poll data too fast
Sometimes you can get better performance by not requesting data so fast. For example, if
you are collecting data every 10ms in an HMI application and updates are too slow try
backing off to collecting the data every 250-500ms or higher. HMI screens cant update
every 10ms anyway and you will reduce the burden on the ControlLogix processor and
your data collection station.
Page 8
switching between HMI screens. Keeping all tags on scan will use more memory in the
ControlLogix processor but the communications performance will be steadier. Network
traffic will be higher but in many cases thats not the bottleneck. If your HMI is
constantly putting tags on scan and taking them off, communications will be disrupted
often and you will not get the best optimization between RSLinx and the ControlLogix
processor. You may have to experiment with you particular setup to see what works best
for your particular application.
RSLinx 2.1*
RSLinx 2.2
RSLinx 2.2 SP1
RSLinx 2.3
RSLinx 2.30.02
4.41*
4.41
4.41
8.x
10.x
---
*You should have at least RSLinx 2.1 and ControlLogix firmware version 4.41 when
doing any data collection.
Page 9
Configuring RSLinx
Configuring RSLinx to communicate to data collection applications involves creating a
Topic. The RSLinx setup is the same for DDE or OPC applications. For the best
performance we recommend that any ControlLogix processor should not use more than
one RSLinx for data collection. Youre communications will be less efficient if you
create topics on multiple RSLinx stations to the same ControlLogix processor. If several
data collection stations are going to be collecting data then use an RSLinx Gateway. Only
the RSLinx Gateway station will need to have a topic configured. OPC applications know
how to remotely connect to the RSLinx Gateway and collect data using its topic.
Here is the easiest way to create a topic. Note this assumes that a driver is already
configured for the relevant network. We will use Ethernet in this example.
Step 1: In the RSWho window right mouse click on the ControlLogix processor that you
want to configure a topic to. Select Configure New DDE/OPC Topic. The DDE/OPC
Topic Configuration dialog will open.
Page 10
Topic Parameters
Polled Messages
A topic to a ControlLogix processor has to be configured for either polled or unsolicited
messages. Polled messaging should be used if you want RSLinx to poll the ControlLogix
processor for the requested data items. The polling interval specifies how often data items
are read from the controller. This is the interval for which DDE clients will be updated.
OPC clients will be updated at their requested intervals.
Unsolicited Messages
You have to configure a separate topic for unsolicited messages when you want the
ControlLogix processor to send the data to RSLinx via a message instruction. Unsolicited
data sent to RSLinx is passed onto any clients requesting the data items.
Communications Time-Out
This is the number of seconds RSLinx will wait for the processor to acknowledge a
request before RSLinx returns a time-out error to the client. You can increase the
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 11
Communications Time-Out for the topic if you are requesting a large amount of data, and
receiving a lot of time-outs in the RSLinx Communication event log. The timeout
message for ControlLogix is CIP Messaging Error: a message timed out waiting for a
response.
Use Symbols
This is where you associate the RSLogix 5000 .acd file to the topic for offline browsing.
This will allow you to configure your data collection applications offline since the list of
available tags is associated with the topic. You need to have RSLogix5000 v10 or higher
to use this feature.
Optimize Poke Packets Enables/Disables write optimization. This option is enabled
by default when a new topic is created in RSLinx 2.30.02 and later. Make sure that this
option is enabled if you upgraded from a previous version of RSLinx and if you are going
to be sending batch/recipe downloads or any other data to the ControlLogix processor.
This option is only available for ControlLogix processors with firmware version 10.x or
above and RSLinx 2.30.02 or later.
Page 12
Step-by-Step
Reading ControlLogix data:
1. A data collection application puts tags on scan through RSLinxs OPC or DDE
interfaces.
2. RSLinx uploads a list all of the available ControlLogix tags and their data types.
RSLinx stores this list in memory.
3. RSLinx builds ControlLogix optimized packets. Each optimized packet can hold
up to 488 bytes worth of data.
4. Once the packets are built, data can be delivered from RSLinx to data collection
applications via OPC or DDE. It can take several seconds to put several thousand
tags on scan.
Note: RSLinx 2.3 SP1 and ControlLogix firmware 10.x and above employ a faster
method of putting tags on scan and taking them off.
Tags taken off/put on scan: (Typically when switching HMI screens)
5. When tags are taken off scan RSLinx will remove those tags from their
corresponding ControlLogix Optimized Packets. RSLinx will re-optimize
whatever tags are on scan after the removal and recreate as few packets as
possible. All data from that ControlLogix will stop updating until re-optimization
is complete. The ControlLogix cannot send a packet of data while the contents of
the packet are changing.
6. When new tags are put on scan RSLinx will build new optimized packets. If the
tags are already on scan then RSLinx will simply get the data from the existing
ControlLogix Optimized Packets. This is where using RSLinx Gateway to serve
data to multiple data collection stations is more efficient over having several
independent RSLinx stations. The ControlLogix processor needs to build and
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 13
service one set on ControlLogix Optimized Packets for the RSLinx Gateway.
Multiple RSLinx stations would require the ControlLogix processor to build and
service a set of ControlLogix Optimized Packets to each RSLinx station, even
when each station is collecting the same data!
Adding, removing, or modifying tags in the ControlLogix processor while collecting
data:
Typically, data collection stations will be running while new programs are downloaded
and/or online changes are made to ControlLogix processors. If you are using a version of
RSLinx earlier then 2.30 then any change to the ControlLogix processors tags will
require that all data collection applications be stopped before the changes are made and
then restarted once the ControlLogix processor has been updated. RSLinx 2.30 has the
capability of detecting these changes but you need to manually instruct RSLinx to update
the ControlLogix tag information.
Improvements have been made to RSLinx 2.30.02 so that data collection can continue
largely uninterrupted when the tags inside of the ControlLogix processor change. RSLinx
now frequently checks the ControlLogix processor to see if any changes have been made
to its tags and in many cases automatically updates the ControlLogix tag information.
Here are some scenarios involving changing the ControlLogix tags while collecting data
with RSLinx 2.30.02.
1. Tags are added to the ControlLogix processor when online with RSLogix
5000:
RSLinx will detect that tags have been added to the ControlLogix processor, log
an event into the RSLinx communication event log, and then update the list of
available tags to include the newly added tags. Data collection stations can start
collecting data from the new tags without stopping the data collection project.
2. Tags are added to the ControlLogix processor by downloading an updated
program:
RSLinx will detect a download, log an event in the communication event log, and
refresh its list of available tags. Data collection will stop while a new program is
being downloaded and will resume when after the download. Data collection
stations can start collecting data from the new tags without stopping the data
collection project.
3. Tags are removed from the ControlLogix processor when online with
RSLogix 5000:
RSLinx will detect that tags have been removed from the ControlLogix processor,
log an event into the RSLinx communication event log, and then update the list of
available tags. All data collection projects should be stopped prior to making
these changes. Restart data collection after the tags are removed from the
ControlLogix processor. All items on scan while removing any tags from the
ControlLogix processor will cause all tags to stop updating until data collection
applications are restarted.
Page 14
Read Optimization
Read optimization allows many tags to be read from the ControlLogix processor in fewer
requests. This conserves valuable ControlLogix CPU and memory resources as well as
minimizing network traffic. Requests from data collection applications to RSLinx are
optimized down to a fewer number of requests from RSLinx to the ControlLogix. These
fewer requests are each ControlLogix Optimized Packets. Without optimization each tag
request from data collection applications would correspond to a request from RSLinx to
the ControlLogix.
There are a few different levels of optimization. Namely UDT, Array, and First Level or
Scattered. RSLinx determines the kind of optimization used when tags are put on scan.
The next few sections discuss the different types of optimization.
Array optimization
This kind of optimization grabs several elements of an array and treats them as one item
in the controller. The benefits of this kind of optimization are often reduced as HMI
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 15
clients typically must request array elements individually and not a range of elements at
one time. In other words to get the most out of this optimization reference elements of an
array like this: INTArray[0],L10. Instead of INTArray[0], INTArray[1],,INTArray[9].
If you are not able to use the L notation then array optimization will still occur between
the ControlLogix and RSLinx but there will be more resources used on the PC.
Requirements:
One dimensional array of BOOLS, SINTS, INTS, DINTS, or REALS.
There is no option to set in RSLinx. Array optimization happens automatically.
If the size of the array being requested exceeds 488 bytes then RSLinx will still
array optimize but just use more packets. Try to use tags like
Scenario:
INTArray[100] is defined. The following tags are requested: INTArray[0], INTArray
[20], and INTArray[90]. RSLinx will create a packet requesting all elements between
INTArray[0] and INTArray[90]. The ControlLogix will treat all of these array
elements as one item and one ControlLogix Optimized Packet will be used for
delivering these tags. If later on INTArray[60] is requested then RSLinx will already
have this on scan and no more overhead is needed to deliver the data.
Boolean Array Optimization
Starting with RSLinx 2.2 optimizations to Boolean arrays allow each individual Boolean
item as a single bit object, as opposed to a 32-bit object, as it had done previously. Using
this method, up to 3872 Booleans can fit into one ControlLogix Optimized Packet.
Previously, the maximum was 81 Booleans. When dealing with individual Boolean tags,
and not Boolean-array tags, the tags will still be treated 32-bit items, and only 81 items
will fit into a ControlLogix Optimized Packet.
UDT optimization
A UDT or User Defined Type is a custom data type in the ControlLogix processor. Users
create UDTs containing native data types like INTS, DINTS, FLOATS, other UDTs, and
etc. When elements of a UDT are requested from data collection applications and the
UDT Optimization option is enabled in RSLinx, RSLinx will grab the entire UDT
structure as one item from the ControlLogix processor. This reduces the ControlLogix
processors CPU and memory resources needed to serve up data. The more elements of
the UDTs that are used by data collection applications the better the performance. If a
minority of the UDT elements is on scan then it is inefficient for RSLinx to serve up the
entire UDT. In that scenario it would be wise to disable UDT optimization. UDT
optimization can be enabled or disabled for all ControlLogix processors/Topics. This
option cannot be set on a per topic basis. Here is how the option is set.
1. Open the CIP Options.
Page 16
2. The Optimize User Defined Data Types option is located via the Connection for
ControlLogix Processor tab in the CIP Options dialog.
Page 17
Boolean
Boolean Arrayed
SINT
SINT Arrayed
INT
INT Arrayed
DINT
DINT Arrayed
REAL
REAL Arrayed
81
3872
81
81
121
243
81
121
81
121
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 18
Write Optimization
Write optimization enhances performance for batch or recipe downloads to the
ControlLogix processor. Often times the ControlLogix processor is so busy that write
requests occasionally time-out and the batch/recipe downloads fail. With write
optimization there will be fewer write requests generated from RSLinx to the
ControlLogix processor. Fewer write requests will reduce the work the ControlLogix
processor has to do to accept the batch/recipe downloads and will reduce the occurrence
of batch/recipe download failures.
Each write request from RSLinx to the ControlLogix processor is referred to as an
Optimized Network Write Packet. Before RSLinx 2.30.02 every single tag being written
to had to be sent in its own Optimized Network Write Packet. With write optimization
many tags being written to can be sent in fewer Optimized Network Write Packets. For
write optimization First Level or Scattered optimization is used for tags within the
ControlLogix processor that have little or no relation to each other. Write optimization
groups them together into as few Optimized Network Write Packets as possible.
Additionally, there is array optimization but no UDT optimization.
How to Use Write Optimization
The RSLinx topic communicating to the ControlLogix processor needs to have the
Optimize Poke Packets Option option enabled. See the Configuring RSLinx section for
details. Also, you should have ControlLogix firmware 10.x or higher.
Array optimization for writes
This is similar to array optimization for reads. Array elements can be optimized even
better as to allow more data to fit into an Optimized Network Write Packet. To take
advantage of array optimization, the array elements being written to must be contiguous
and the write must be issued as once command.
Boolean Arrays note that when using write optimization for Boolean arrays the L
specifier should not be used. Each array element should be individually referenced as a
separate tag.
How many tags can be sent in a write packet to the ControlLogix?
Data Type
Boolean
Boolean Arrayed
SINT
SINT Arrayed
INT
INT Arrayed
DINT
DINT Arrayed
32
32
32
460
30
230
26
115
ControlLogix Data Collection with RSLinx
Version: 2.43
Page 19
REAL
REAL Arrayed
26
115
These numbers are accurate for ControlLogix firmware versions 10.x and beyond.
Previous versions of the ControlLogix firmware would yield lower numbers since the
write optimized packets had to contain the actual tags names. Therefore, we recommend
using ControlLogix version 10.x or higher for the best performance. Versions prior to
RSLinx 2.30.02 do not support write optimization.
Page 20
Page 21
Page 22
Here are some results of a test performed to determine the actual amount of memory
consumed in the processor for different data requests. The Optimized Items & Optimized
Packets counts were obtained via RSLinx diagnostics, the memory consumed was
determined using the @freemem DDE/OPC item.
Items being requested within arrays, or structures & UDTs will also now consume less
memory than before, if they can take advantage of those types of optimizations. This is
because both array and UDT optimizations yield fewer overall ControlLogix Optimized
Packets.
See section 2 for additional information on array optimizations and UDT optimizations.
Test setup
Array optimizations?
ControlLogix
Optimized
Items
ControlLogix
Optimized
Packets
Connections to
processor used
Memory
consumed in
processor
1 native tag
integer
No Array Optimizations
1364 bytes
Perfect Array
Optimizations
1364 bytes
No Array Optimizations
100
4532 bytes
Perfect Array
Optimizations
1560 bytes
No Array Optimizations
500
22660 bytes
Perfect Array
Optimizations
5084 bytes
No Array Optimizations
Perfect Array
Optimizations
1000
5
9
5
8*
5
42736 bytes
7556 bytes
Page 23
Page 24
Page 25
Page 26
Page 27
2) In the RSView Tag Database, create a tag with the following settings:
-
For the Node Name, use the Node Name as created in step 1.
At this point, a box with three dots will appear next to the Address field.
(This is circled on the image below.) Click on this box.
Page 28
3) The OPC Address Browser window should now appear in RSView. From here,
you can select your RSLinx topic to your ControlLogix processor, and browse
through the address hierarchy to associate your tag with an address.
Page 29
Accessing the RSLinx Backup-Restore utility from the Windows Start Menu.
Page 30
Page 31
After making your tag selection, you will be able paste a DDE hotlink into Microsoft
Excel or just paste the tag name into another application. (Like VB for example)
Page 32
Page 33
2. Choose the menu item Device Properties, to display a dialog with information on the
device.
This dialog will display the firmware version in the ControlLogix, in the field labeled
Revision. Here, we see the firmware version is 8.20. Note that this feature is supported
by most devices not just ControlLogix processors.
Page 34
Application Notes
Many tech notes are available online from Rockwell Softwares knowledgebase. Many of
the topics in this section reference those tech notes by document number and title and are
also hyperlinked. Here is the general link to the knowledgebase.
http://support.rockwellautomation.com/
Page 35
Page 36
Troubleshooting
Click here to get the troubleshooting guide from our support website. For reference here
is the link.
http://www.software.rockwell.com/download/comms/rslinx/controllogix data collection
troubleshooting guide.doc
Page 37
Performance
Throughput vs. System Overhead Time Slice with a Continuous Task
Test setup:
One continuous task running in a 1756-5555 firmware 10.24.
5000 tags of type DINT were collected with the OPC test client. Update
Rate=1ms
ENBT on a 100MBPS switched network. Ethernet driver in RSLinx. The PC was
the only other node on the network.
DELL Optiplex GX260. 1.8Ghz
RSLinx 2.40.01
No motion or I/O was running
The test was run for three different organizations of tags. The tags were either scattered,
UDT optimized, or in Arrays. Here is an explanation of each.
Scattered means either one of three things.
1. Each tag was individually defined in the ControlLogix processor.
2. Tags were defined as elements in User Defined Types with the Optimize
User Defined Data Types disabled in RSLinx.
3. Tags were defined as elements in User Defined Types that were too large to
be optimized. (UDT>480 bytes)
Array All data was defined in one big array. The OPC test client put all 5000 tags on
scan at the same time to yield the best array optimization.
UDT 120 elements of type DINT were defined in UDTs. (480 byte UDT) Optimize
User Defined Data Types is enabled in RSLinx.
Tags per Second = (5000 Tags/Number of ControlLogix Optimized Packets from
RSLinx Server Diagnostics) * Packets per second from RSLinx driver diagnostics.
Page 38
1270
2680
4070
5340
6620
7940
9190
10360
11530
UDTs
Tags per
Second
Arrays
Tags Per
Second
10400
21600
32500
42400
45000
45000
45000
45000
45000
10400
21700
32700
42700
45300
45300
45300
45300
45300
10
20
30
40
50
60
70
80
90
Scattered
UDT
Array
Results:
Throughput in tags per second is dependent on how the tags are organized and the Time
Slice. The array and UDT optimizations in these tests show a best case scenario.
Scattered tag organization represents the worst case scenario. Since typical applications
have a mix of different arrays, UDTs, etc. their performance will be somewhere inbetween the worst case and best case scenarios.
Page 39
Items Per
Second
Arrays
1450
7400
18450
30300
35700
37700
39600
Page 40
64
Scattered
Arrays
Periodic Rate
Test Results:
Throughput in tags per second is dependent on how the tags are organized and the
Periodic Rate. The array and UDT optimizations in these tests show a best case scenario.
Scattered tag organization represents the worst case scenario. Since typical applications
have a mix of different arrays, UDTs, etc. their performance will be somewhere inbetween the worst case and best case scenarios.
Page 41
Throughput vs. System Overhead Time Slice and Periodic Rate with
a Continuous and a Periodic Task
This test uses both a continuous task and a Periodic task. The periodic takes 63ms to
execute.
Time Slice
10%
50%
90%
10%
50%
90%
10%
50%
90%
10%
50%
90%
Periodic
Rate of the
Periodic
Task
70
70
70
100
100
100
200
200
200
400
400
400
Maximum
Continuous
Task
Execution
Time (ms)
696
1,190
6,376
196
388
1,801
134
187
795
134
192
914
Scattered
Tags Per
Second
140
610
1150
480
1990
4230
860
2340
6600
1070
1960
7660
Results:
With a combination of periodic and continuous tasks communication bandwidth is further
reduced. Allocating communication bandwidth involves finding a balance between
Periodic Rate and Time Slice. Just increasing the Time Slice without increasing the
periodic rate can increase the Continuous task execution time significantly while not
really freeing up much communication resources.
Page 42
Time Slice
Tags per
second
(DINT) 5563
10%
20%
30%
40%
50%
60%
70%
80%
90%
970
1970
2980
3920
4840
5850
6700
7570
8410
1270
2675
4070
5340
6620
7940
9190
10360
11532
4670
9540
14230
19300
20500
21050
21050
21050
21050
25000
20000
15000
5550
5555
5563
10000
5000
0
10
20
30 40
50
60
70 80
90
Page 43