RSLogix 5000 is very intuitive and easy to use PLC programming software used for Allen-Bradley PLCs. There are a few tips and tricks that are very useful to know starting out, especially if coming from a different PLC programming language. These will help increase efficiency, improve code structure, and avoid time-consuming downloads when commissioning.
Set up Quick Keys for the Ladder Editor
Clicking around to build the Ladder code for PLCs can be time consuming. Rockwell has keyboard shortcuts to minimize mouse usage and increase productivity, however, this is not enabled by default. To enable keyboard shortcuts, navigate to Tools > Options and check Enable Quick Key. Custom quick keys can be selected under Configure.
Note that when quick keys are enabled, Enter must be pushed in order to type a tag name in an instruction if a quick key is assigned to the letter the tagname starts with. I like to keep B, R, I, and S clear because most of my tags are booleans, reals, integers, or strings and I prefix them with the first letter of the tag type. When you inevitably forget to hit enter before typing the tag which starts with a quick key, just press ctrl-Z until all extra instructions are removed.
Create Enumerations
RSLogix does not have a built-in structure for enumerations. However, one can easily be created to make code more readable in state machines, machine modes, and anything else that has an integer state. Start by creating a User-Defined Data Type with each state of the enumeration created as an INT:
Declare an instance of this User-Defined Data type in a parameters area that is applicable to where you need the enumeration. In this example, it is declared in Controller tags to allow it to be accessed from anywhere.
Once created, set the initial value of each state to the desired enumeration value, then set the tag as a constant.
Anytime the mode is accessed in the PLC, it can be set or compared using this tag.
Prevent Inputs and Outputs from Changing Mid-scan
Allen-Bradley PLCs continuously scan IO while the logic is being evaluated. This can cause faster reaction times when code is written to accommodate it. Yet depending on how the logic is written, it can also cause edge cases and odd behavior from a machine. Having consistent IO data for the entire scan simplifies logic and helps prevent edge cases. Remapping IO also has the added benefit of allowing custom tag names for each IO point. To start, create a program with a subroutine for mapping inputs and one for mapping outputs.
Within R_01_ReadInputs, write the IO point to the variable for it.
Within R_60_WriteOutputs, tie the variable to the IO point associated to it.
Then, call the R_01_ReadInputs subroutine before calling any logic, and call R_60_WriteOutputs after all logic is complete. Use the locally defined variables in the logic, and all IO will have the same value throughout the scan.
AOI and Data types cannot be changed online
Add-on instructions can be extremely useful for creating multiple instances of the same logic within RSLogix 5000. They have true function features, including instance memory, input and output variables, and the ability to define multiple instances. This makes AOIs great for writing modular reusable code. However, it is often crucial to be able to make online changes to avoid interrupting machine use, and any changes made to an AOI cannot be done online. A redownload and PLC stop is required! Therefore, make sure to either 1) Start commissioning by thoroughly testing all AOI logic, or 2) Use AOIs only for simple logic that requires very little testing.
User-Defined Data Types are also very useful when writing modular code, allowing for easy linking to HMI faceplates, and organization of data. As with AOIs, any modifications to Data Types also requires a redownload and restart of the PLC.
Flash All Lights with One Piece of Logic
Flashing lights in ladder logic requires a two timers and three lines of code. In order to reduce the amount of times that this logic has to be repeated, a global variable can be defined which will flash all the lights simultaneously with one piece of logic.
Learn more about DMC's Allen-Bradley PLC expertise.