PLCProgrammingwith RSLogix5000How to Program AllenBradleyControlLogix andCompactLogix PLCswith RockwellAutomation’s RSLogix5000By Neal BabcockIndustrial Automation Seriesengineer-and-technician.comPLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!2

Introduction. 5PLCs .6Hardware . 6ControlLogix Processor .7I/O Modules .7Software .8Getting The RSLogix 5000 Software. 8Ladder Logic .8The Dialect of PLCs.9Equivalent Logic .13Project Scope .15Summarizing the Scope .22Which PLC?.22Lay Out The I/O .23Assigning I/O Addresses . 25Running RSLogix. 25Tags .37Adding Descriptors To Your I/O .39Writing the Program .44Ladder View .44Setting Up An Overall Control Rung.44Starting a Batch Cycle.59Batching Steps . 69Step 1 – Adding City Water .69The Tag Database .72Analog Inputs .80Setting up the Analog Input Card to Calculate Tank Weight.81Setting up the Analog Input Card to Calculate Tank Level .83Back to Batching – Step 1 .85Step 2 – Adding Chemical KM . 91Step 3 – Adding Chemical KM . 94Step 4 – Blending .95Step 5 – Pump to Filling Lines . 100Faults. 102Valve Position Faults . 103Console Status Indicators – Pilot Lights .110Adding Rung Comments.117Connecting To The PLC And Going Online .121RSLogix Emulate 5000. 124RSLinx.124Emulator .126Editing in Run Mode .150Run Mode on the Plant Floor. 154Add-On Instructions & Function Block Diagram Programming. 156Creating a Function Block Diagram .158PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!3

A Final Note About Our Program . 163How Do I . . . ? .164Tips, Shortcuts and Warnings .166Conclusion .169PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!4

IntroductionThe purpose of this book is to teach you how to set up, program and use an Allen-BradleyControlLogix or CompactLogix. It will also familiarize you with the parts required for a commonapplication.It will tell you how to use RSLogix 5000 and how to write a ladder logic program.Since I feel the best way to learn any programming language is by using a real-world example,there is a sample project included in this book. This sample project, which involves a chemicalbatching process, also contains a Project Scope. The Project Scope, or FunctionalSpecification, or whatever your company might call it, defines in detail how the system is tooperate when the project is finished.You will learn, step by step, how to take a Project Scope and turn it into a working PLC program.The book will show you how to go online with your PLC to monitor your program to verify yourladder logic and make sure it is functioning properly.It will show you how to make changes to your program while you are online.It will show you the keystrokes and mouse movements that you need to know to use RSLogix5000.Finally, it provides a number of tips and a Frequently Ask Questions section that will save youhours of frustration.This book assumes you have a little background with PLCs – perhaps you have worked withother PLCs from other manufacturers or you have helped to install and wire PLCs. Perhaps youare a Mechanical, Chemical or Process Engineer and you need to learn how to use RSLogix5000.If you need a more thorough understanding of basic PLC concepts, you might want to try theBeginner’s Guide to PLC Programming How to Program a PLC (Programmable LogicController). This ebook, along with the online tutorial, provides an example of how to automate adrill press, while explaining all the basic concepts of PLC programming that are necessary towrite a solid PLC program.The Beginner’s Guide to PLC Programming works well in conjunction with this book, in that itconcentrates on basic PLC programming methods that are common to all types of PLCs. Inaddition, it provides an example of machine operation, whereas this book uses the example of achemical batching process. Go to if you would like to learn moreabout this book.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!5

PLCsNearly all the industrial equipment that you find in a modern manufacturing facility shares onething in common - computer control. The most commonly used controller is the PLC, or theProgrammable Logic Controller, using a programming language called Ladder Logic. Thelanguage was developed to make programming easy for people who already understood howswitches, relay contacts and coils work. Its format is similar to the electrical style of drawingknown as the “ladder diagram”.The most popular and most widely used manufacturer of PLCs is Rockwell Automation, whoproduces the Allen-Bradley ControlLogix and CompactLogix series of PLCs. The ControlLogixand CompactLogix families of processors and I/O modules are all programmed using Rockwell’sproprietary software known as RSLogix 5000.When you are finished with this book, you will be able to sit down in front of any computerrunning RSLogix 5000 and create a new program. You will be able to edit existing programs.You will be able to professionally document any changes you have made.Rockwell Automation Technical SupportUnfortunately, we can’t anticipate all the problems you might face as you are troubleshooting aprogram on the factory floor. There are just too many variables. This is why you must establish arelationship with your local Rockwell Automation technical support team. Get to know thembefore you are in the final stages of a start-up and you run into a problem. They are very helpfuland they can save you hours of frustration.The Rockwell reps are not just technical support personnel; they are skilled engineers that areresponsible for running their own projects and writing and troubleshooting their own programs. Ifyou run into a problem, more than likely they have already seen it and have come up with asolution.HardwareOne of the nice things about Allen-Bradley’s smaller PLCs is the relative simplicity of assemblingthe hardware to create a system.First, let’s see what it takes to assemble a ControlLogix system. You only need to have a fewcomponents: a processor, a power supply, a rack and some I/O modules.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!6

ControlLogix ProcessorAt the time of this writing, there are 15 ControlLogix processors available. For our application,the 1756-L55 processor will be fine.For your future projects, you will have to consider a number of factors before you make thechoice of your processor. Utilize your Rockwell representative and Rockwell’s website( to help you in your choice.All the processors use RSLogix 5000, so any program you write for one processor could beadapted to run any other 1756 processor.I/O ModulesFor our system, we need discrete inputs, discrete outputs and analog inputs. These modules willwork fine for our application:1756-IA16 Digital AC Input Module (16 discrete inputs)1756-OA16 Digital AC Outputs (16 discrete outputs)1756-IF8 Analog Modules (8 single-ended analog inputs)PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!7

Project ScopeWe will use a batching operation as an example. Batching, as you may know, is the term thatdescribes the mixing of assorted ingredients to make a finished product.There are techniques that are common to batching, whether you are making soap or cake mix.We are going to write a program that mixes a hypothetical window cleaner.Someone has to define the batching procedure. Usually, this is done by a process engineer or achemical engineer. If the job of defining the project is done well, a document called a ProjectScope (or something similar) is generated.It is extremely important that you clearly understand the entire process that is defined in thescope. If you have any questions or concerns, you need to resolve those before you beginprogramming. If you don’t, then the responsibility of errors and omissions, and perhaps theblame, may be placed on you.If you bring up questions that result in changes to the defined sequence of operations, ask theoriginator to revise the Project Scope. In fact, it is not uncommon for a Project Scope to undergoa number of revisions.If there is a change that is not documented in the scope, you should document it by getting anemail from the originator that explains the change. If nothing else, you want to make sure youunderstand what the change involves.For our project, the project scope is as follows.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!15

Hyper-Glass CleanerBatching Project ScopeGoalThe goal of this project is to install a new automated batching system for mixing Hyper-GlassCleaner.Overview!Three ingredients (city water, ingredient QR and ingredient KM) are added in specified amountsby weight to the Mixing Tank. After all the ingredients have been added to the Mixing Tank, themixture is blended by running the agitator for a given time. When the blending time is complete,the finished product is pumped to the Filling Lines for bottling and final packaging.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!16

Let’s do the same with the descriptors for the first discrete input card. Expand “Local:2I”. ExpandLocal:2:I.Data.!These are the tags that define the actual inputs on the card. Like with the analog card, this iswhere you look to see if you have a signal on an input.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!41

Copy the descriptions from the spreadsheet for this card.!I have hidden the Force Mask column and stretched the Description column to see the fulldescription.You can switch columns on or off in the Controller Tags window by selecting View Toggle ColumnPLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!42

Copy the descriptions from the spreadsheet for the output card.!This completes the descriptions for the I/O.It is a good idea to save your workfrequently. This is done in RSLogixlike it is in any other Windowsprogram (CTRL-S, or File Saveor ).PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!43

Writing the ProgramLadder ViewOpen the Controller Organizer, expand the “Tasks” folder, and expand the “Main Program”folder.Click on “Main Routine” and you should see this.!Setting Up An Overall Control RungTypically, a program will start with some kind of overall or master control rung. This rung willdefine a bit that must be on for the entire system to operate, and we include bits that we knowmust be true for the whole system to run.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!44

In this project, we certainly want the E-Stop to be part of this logic. Our E-Stop (or, emergencystop) pushbutton switch is wired in such a way that the input must be on for the system tooperate.Weto useStopin thisFindXICYou can add a rung by right-clicking on the rung number and selecting “AddRung” from the dropdown menu.You can also press CTRL-R.(examine if closed) !wantthe Einputrung.thetool button in the User menu.You can insert the instruction in a couple of ways. Simply clicking on the XIC icon will add it tothe rung.You can also click, hold and drag the tool to the spot in the rung where you want it inserted.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!45

Click and drag it toward the new rung you just created. You will see that as you get near therung, a green dot will appear. Green dots represent possible landing points for your instruction.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!46

Release the mouse button and your screen should look like this.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!47

Press the enter key on your keyboard. A dropdown menu appears above the instruction.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!48

Open the dropdown and your screen now looks like this.!Notice that all the tag groups from our I/O are now showing.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!49

From the I/O list, we see that the E-Stop switch is wired to the last position on the input card,giving it an address of Local:2:I.Data.15. We want to find that tag in this window.Expand the tag group Local:2:I, then expand the tag group Local:2:I.Data.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!50

Click on bit 15 in the box to assign that address to the instruction.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!51

Click and drag the OTE (output energize) tool button !new rung. Place it on the marker at the right.from the User menu down to the!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!52

The screen looks like this.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!53

Click on the blue box (the tag name field) above the instruction. Type the phrase“SystemEnable” into the box and press enter.!Since this is a tag name, there can be no spaces or special characters in the name.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!54

This is a new tag for this program, so we have to define it. Right-click on the blue tag name field.From the dropdown menu, choose “New System Enable”.!PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!55

The “New Tag” dialog box appears.!The tag we are defining here is simply a bit, so we can accept the default values in the dialogbox. In fact, we really don’t need to add a description, as the tag name itself is pretty selfexplanatory.Click “OK”.PLC Programming with RSLogix 5000Copyright 2017 Modern Media & Automation,!56

We know from the Project Scope that the system must stop if there is a fault. We are not sure ofthe details of all those faults yet, but we do know that we will summarize those faultssomewhere in the program. It will result in a bit. We will use the address tag “SystemFault” forthat bit. We also know that we want the “SystemEnable” to be on if we do not have a fault.Bear with me here and it will make sense. Click and drag the XIO (examine if open) tool button!from the User menu down to the new rung. Place it just to the right of the E-stop input.Double-click on the tag filed and type “SystemFault” in the box.It should look like this:!Right-click on the