Most readers of this blog know that I go out of my way to be non-brand-specific and unbiased in my presentation of automation topics. So far I have refused to place advertisements for any manufacturer’s on this site, though I have been asked several times. At the same time, it is sometimes necessary to describe specific brands and platforms to provide information to my readers; this post is the first in a series of articles I am writing on PLCs, or Programmable Logic Controllers. I have chosen to start with Allen-Bradley since it is the platform I am most familiar with and the most widely used in the US.
The first A-B PLCs were of the PLC5 family. The earliest of this family that I have ever seen was the PLC2, which was made in the 1980s and is now obsolete. PLC3s were released in the 1980s also, followed by the PLC5, which is still used today, though not widely. It is a large rack system, with about twice the horizontal dimension of the SLC500.
In 1991 A-B released the first SLC500. This platform was physically smaller than the PLC5, with an abbreviated instruction set. Indeed, SLC is an abbreviation for “Small Logic Controller”. The first SLC, Known simply as a SLC500, was an integrated platform containing the CPU, power supply and IO all in one package. It only had 1K of memory and was intended for use in simple applications.
The first rack-based SLC was the SLC5/01. This processor was used in a rack which also had a built in power supply. The rack allowed I/O cards to be mixed, having digital, analog and special purpose I/O such as thermocouples and High-Speed Counters. Successive processors had more memory, faster speeds and enhanced communication capabilities. The 5/02 and 5/03 platforms had DH485 (“Data Highway”) communications, the 5/03 was the first processor where logic could be edited online in real time without having to place the processor in program mode and download. The 5/04 had even more memory and a faster communications platform called DH+ (“Data Highway Plus”). The 5/05 had a serial port but also was the first to provide Ethernet communications.
The Micrologix family used the same programming software as the SLC platform. The first of the family was the Micrologix 100, a bricklike PLC that was made with several different I/O combinations. Like the SLC500, it’s creation was a response to the need for a less expensive platform to compete with other manufacturers. Also like the SLC platform, newer variations became modular allowing for more configurability. The Micrologix platform does not use a rack, modules are inserted on each end along with a terminating end cap. The Micrologix 1500 system was released in the late 1990s, followed by the Micro 1200, 1100 and now the 800. All but the 800 use the same programming software as the SLC platform; the 800 is programmed using a variation of Function Block Diagram (FBD).
PLC5, SLC500 and Micrologix Software: The early software for the PLC and SLC platforms was DOS based. Before the advent of Windows, which coincided with Rockwell acquiring Allen-Bradley, the software was made by two different companies, Allen-Bradley itself (APS software) and ICOM (AI software). After A-B was acquired, a new division was formed called Rockwell Software and RSLogix, a Windows-based program was released. The PLC5 platform is currently programmed using RSLogix5, while the SLC and Micrologix family (excepting the 800) is programmed with RSLogix500. Communications setup for the programming software and many other A-B products is handled using a separate software package called RSLinx.
The PLC5, SLC500 and Micrologix platforms use assigned registers and files for addressing and ladder files. Initial bit registers are assigned as B3, addresses to the bit level in groups of 0-15, such as B3:0/5, (word 0, bit 5), B3:20/15 (word 20, bit 15) and so on. Timers use the next register with addresses such as T4:2 (3rd timer in the register after 0 and 1), T4:5/DN (timer 5’s done bit), T4:19/TT (timer 19 timing), and T4:12.PRE (timer 12’s setpoint). Various time bases are available such as 0.01s or 1s. Counters are assigned to the next register (C5:0 and so on) with a similar addressing systems as the timers. Integers or words are assigned to register 7 (N7:3 is the 4th available word address), while floating point or REAL data types are assigned to register 8 (F8:0 and so on). Not all processors have floating point math capability. New registers can be opened for use with different data types such as B9 (bits), N12 (integers), F100 (REALs), or even S27 (STRING data types). Numerical use of numbers beyond F8 then are quite flexible and can be used as required.
Ladders or subroutines are assigned beginning with ladder 2. This routine is created and called automatically. As new routines are required they are created as ladder 3, ladder 4 and so on. They must be called using a jump to subroutine command.
Symbols can be created as shortcuts to addresses, though they are not contained in the processor. Likewise, descriptions for instructions, addresses, rungs and routines are contained only in the program. Because of this, an uploaded program with no documentation can be quite difficult to interpret.
The ControlLogix Platform was released in 1997. This platform was rack based and similar in size to the SLC, but was faster than any PLC5 or SLC and had quite a bit more memory. This was also the first platform to use tag based addressing. This meant that rather than having registers such as B3 and N7, addresses could be named by the user. To accomplish this a “tag database” is created with a list of variables, their names and data type. Multiple processors can be placed in the same rack since the backplane is active. Typical scanning was also enhanced by creating a producer/consumer model where I/O and processors communicate using timed packet exchanges between devices (RPI rate)
Early ControlLogix platforms included the 5550 and L1 processors. As technology and memory capacity improved these were quickly obsoleted in favor of the L60 and L70 series of processors with higher speeds and much more memory. Communication cards for Ethernet, DeviceNet and ControlNet are placed in the rack rather than using the port on the processor. The processors still have serial ports or USB ports for programming and configuration. Servo control cards using fiber-optic SERCOS control also give the system more control over coordinated systems.
The Compactlogix platform was released in the early 2000s as a lower cost solution. Like the Micrologix, rather than being rack based, modules are added to the ends of the power supply or power/CPU module.
Both the ControlLogix and CompactLogix platforms are programmed using RSLogix5000 software. As mentioned above, rather than using assigned registers tags are created with user-friendly text based names. An example might be a bit or “BOOL” named Motor6_Start_PB or AutoMode, a double word or “DINT” named PumpMotor_Speed or a “REAL” named ProductWeight. Since these tags are named the program can be uploaded directly from the processor and is easier to interpret. Descriptions are still used and reside only in the program.
Program organization is also enhanced on the ControlLogix platform. Whereas the PLC5 and SLC processors only have ladders or subroutines to separate logic, the ControlLogix can have multiple tasks (the SLC has only one “continuous” task). In addition to the single continuous task, additional periodic tasks can be assigned on a time interval. These can be assigned priorities so one will run before another if they coincide. Event based tasks can be assigned using assigned inputs or any “event” type instruction. Under each task, a program can be called, each with its own local tags. This is in addition to the controller scoped tags that are visible to all tasks, programs and routines. These programs are then made up of individual routines, like the ladders of the SLC and PLC5. This means that each program (called by the task) is like the entire program of the PLC5 and SLC! This makes for a much more flexible and powerful platform.
Other features such as “Aliasing” (assigning a tag to an I/O address or another tag) and creating UDTs (User-defined Data Types) make this platform much faster to develop programs on than other AB platforms. Add-On Instructions (AOIs) can also be created to create complex instructions. Though ladder logic is the most popular programming method in the US, Function Block (FBD), Structured Text (ST) and Sequential Function Chart (SFC) programming can also be used. These programming packages must be purchased separately.
RSLinx must still be used for programming and download when using ControlLogix and CompactLogix platforms. A “Lite” version is included with the programming software. When configuring DeviceNet and ControlNet networks, a software package called RSNetworx is required and must be purchased.
Allen-Bradley software is licensed on a per computer basis. There are several types of license, some of which expire every year and must be renewed, and others which entitle you to only the current version and previous installs but does not expire.
Overall I think A-B’s hardware is pretty good. There are a lot of different products available and support is good, though for software support you must pay for the yearly software license. The programming software is my favorite and the tag based programming is the bomb. Of course it is also some of the most expensive out there, so it should be. In my opinion Allen-Bradley’s communications process (RSLinx, RSNetworx) is bar none the most complex and worst of all major PLC manufacturers. By separating configuration from the programming software, the difficulty of networking and communications was simply multiplied. Comparatively, it is much easier to communicate with other platforms. DeviceNet, though deemed an open platform, is still primarily A-B and nowhere near as simple and stable as other platforms such as Ethernet/IP and Profibus. And don’t get me started on serial communications drivers and RSLinx…
Allen-Bradley and Siemens are probably the two biggest players in the PLC market worldwide, and probably the most expensive. A-B’s software licensing can be very frustrating for integrators, machine builders and manufacturers. It makes it very difficult for individuals or even small plants to train and gain experience with the platform. At the same time, since the programming software is some of the easiest to use and most flexible, it can be an excellent introduction into the world of PLCs. Since they have a majority of market share in the US, for most people learning the A-B platform is necessary.
Next week I plan on writing a similar post on the Siemens PLC platform. Stay tuned!