|
High Performance Read Optimizations Available in
TOP Server AB ControlLogix Driver v 4.60.73 and higher
The ControlLogix driver has been significantly improved to offer an additional and completely new
acquisition method to gather data from ControlLogix processors resulting in phenomenal performance improvements. The beauty of this improvement is that if you are already using the ControlLogix driver, you can
upgrade to the new one and keep using it the same way you do now until you are ready to switch to using the new high performance optimizations.
The challenge this new version overcomes (see also our whitepaper on AB ControlLogix Communications)
The Allen Bradley ControlLogix processor family is a extremely flexible PLC architecture that allows a control systems
developer to design their control system around the application by not forcing the developer to be constrained to the
historically narrow arrangements of memory found in classical PLC systems. The nature of the ControlLogix processor
allows the developer to create data within the controller that is structured to suit the needs of the application. The data
within a ControlLogix processor can be given virtually any name. Unlike classical PLCs where the user had access to
a fixed set of either registers or bits, the ControlLogix processor treats memory much like a programmer of PC might expect to treat memory.
In place of registers and bits, the developer of a ControlLogix application can use Tag names that suit the nature of the
application. In addition to simply naming their data using Tag names, the ControlLogix processor also allows the
developer to build complex structures of these tags and ultimately arrays of these user defined structures.
There is a price to be paid however for this flexibility, that price was ease of communications. In the classical PLC
where data was arranged conveniently in long list of consecutive registers or bits, gathering large amounts of data was
simply a matter of specifying a starting point in this linear memory and a length to read. This allowed communications
packages like the TOP Server to read data very quickly from the classical PLC by requesting X points starting at address Y - i.e. 1000 words starting at N7:0.
The ControlLogix processor with its user definable memory structure didn't have the luxury of simply stating a starting
point and length to read. To address this issue the first generation of the TOP Server ControlLogix driver would request
data from the ControlLogix processor by sending a list of complete Tag names that it wanted to read to the processor.
These lists of ControlLogix Tag names allowed the first generation driver to acquire data at reasonable rates but due
the potential size of each Tag name, each read request may contain only a few actual read items. The larger the Tag
names the less data could be acquired in a single request. Additionally passing a list of Tag names to the
ControlLogix processor also forced the PLC to devote a considerable amount of time to finding these tag references
then return the data. Knowing that this was not the ideal way to gather data from the ControlLogix, Allen Bradley
provided a much better way to access the controller. A way that would allow communications drivers like TOP Server to access the PLC memory much like a classical PLC.
The New Approach Added to Version 4.60.73
This new method of accessing the ControlLogix processor provides direct access to the memory
of the PLC. Instead of using long and possibly complex Tag names, data can be accessed using the actual memory location within the controller.
In the ControlLogix driver we use the term "Physical Mode (non-blocking or blocking)" to
refer to this new addressing style. This new method of direct access allow this next generation ControlLogix driver to gather much larger amounts of data from the ControlLogix
processor while at the same time dramatically reducing the amount of burden on the PLC.
Instead of long Tag names, the new TOP Server ControlLogix driver can send highly optimized list of memory
addresses to the controller. This method is known as Physical Non-Blocking in the driver setup. As the memory
address is both considerably shorter than most tag names, a much larger number of tags can be read in a single
request. If it were simply a matter of using this new direct memory access to gather more data, the next generation ControlLogix driver would be faster but not fast enough.
Physical Blocking Mode - Driving High Performance
To really make the new access method shine, the ControlLogix driver had to be given a new level of intelligence about
the data that it needed to acquire. Normally the ControlLogix driver would gather each tag by placing either the Tag
name or its direct memory access address into a read request. As said, this made the driver faster but not fast
enough. What was needed was a more detailed understanding of the structure of the data within the ControlLogix
processor. With a better understanding of the memory structure the next generation driver could make intelligent
decisions about how best to acquire the data. Instead of reading the individual items of a structure in many cases it
would be better to read the whole structure as one piece of memory and parse out the tag data internally. To make this possible a new feature of the next generation driver also had to be developed.
In the past the ControlLogix driver would allow a tag data base to be generated from the L5K files of a ControlLogix project. While this allowed the user to access virtually all of the data within the
controller it still lacked some detail and it required access to the L5K project file of the processor. This next generation ControlLogix driver can
now upload the tag database directly from the ControlLogix processor and determine the actual physical memory address of each tag. Uploading the tag database from the
controller is far superior to requiring the user to specify the L5K file but a more important benefit of directly importing the tag database from the controller comes in the form of a more detailed
understanding of the users Tag's and structures within the PLC.
Using this improved understanding of the ControlLogix memory architecture the next generation ControlLogix driver
can make highly intelligent decisions about how to acquire data. Using this knowledge the driver now accesses
controller memory in large highly optimized reads that allow the driver to achieve read rates that will make any classic PLC user happy.
How will you know if the driver is really faster for your application?
In this version of the driver, performance statistics have been added that will provide valuable information about the # of
transactions it is taking to read your data. The updated help file in the ControlLogix driver contains an entire section
on Performance Optimizations that outlines how to determine what kind of performance you are getting and how to improve it.
How do you upgrade?
With all of the work that has gone into to what is essentially nothing short of a completely new ControlLogix driver, one
might think to ask what is the cost of all these enhancements. That perhaps is the easiest question to answer, FREE.
As always, if you are an existing TOP Server user simply download the latest server pack and select Upgrade from the installation options.
Click here to download the latest TOP Server
|