Studio 5000 Logix Designer - Tag Aliasing

May 25, 2020

This is an important concept to get down when learning to program modern Allen-Bradley/Rockwell PLCs (PACs). Check out this free PLC training video on tag aliasing!

Want to become a confident PLC programmer? Check out our PLC training course called "The Confident PLC Programmer Method".

All part of myPLCtraining Academy.

Enjoy this free PLC training resource on Studio 5000 Logix Designer tag-aliasing!

Take care,

Stephen Gates


Hey, it's Stephen from I got a quick video for you on tag aliasing in Studio 5000 Logix Designer or RSLogix 5000.

Tag aliasing is very simple to learn, but can be confusing for some people when you're getting started, so we're going to talk about how to use aliasing to address physical inputs and outputs to tags in your Studio 5000 project.

Before we get into this, I've got to ask if you've gotten my free cheat sheet yet? It's called, The Three Things You Need To Know To Understand Any PLC System. You can find the link below, in the description, if you'd like me to send that to you, to your email. It's short and sweet, but I put a lot of thought into it, because nailing down these three concepts which are: inputs, outputs, and logic, so there's a little spoiler. Nailing down those concepts will really help you become a competent PLC programmer much quicker.

Okay. Now, back to our training about tag aliasing. Here we are in our Studio 5000 project that I've created, a blank project here called, a tag aliasing ... pretty sure I spelled aliasing wrong. Aliasing, there we go.

We're in this project, and it's blank, we're going to start from scratch. Let's go ahead, we got an emulate controller here. You could have any controller, but we've just got the emulate, here. Let's go ahead and add a couple IO modules.

First, let's do a discreet input module. This will need to be a control logix type module, since we're using the emulator controller. My favorite is the IB-16, which is, basically, a 24-volt DC, 16-point input. Let's grab that, just double-lick it. Major revision three is fine. I'm going to leave the name blank. We don't care what the name is. Okay, good.

Now, let's add an analog output module. OF-8 is a good choice, a simple and pretty inexpensive analog output module for control Logix. We've got our IO modules added. Now, I'm going to open up the OF-8 properties again, forgot to do this. We're going to set up the configuration for this. Our options are negative 10 to 10 volts, or zero milliamps to 20 milliamps output signal. For the sake of simplicity, we're going to use a zero to 20 milliamp signal. Basically, we're going to set up the scaling so that zero to 100%, in our tag that we use in our project, is going to correspond to zero to 20 milliamps. If we write 100 to our output tag, then it's going to put a 20 milliamp signal on the output module channel. That's how that works, click, okay.

Let's say that the program we're going to try and create here is very simple, but we want our zero to 20 milliamp signal controlling a valve for a mixing tank system. This valve can open to allow the solution to flow into the tank to be mixed. You open and close the valve to allow solution to flow into the tank, then the tank mixes it up, et cetera. We can control the speed of the solution flowing into the tank by adjusting this variable valve. The valve is adjustable from zero to 100%. Zero being totally closed, 100% being totally open.

Let's say we want the solution to flow at two different speeds, and we only want it to flow when somebody manually pushes a push-button. But we want them to be able to control the speed, two different speeds. If the operator presses a button we're going to call, slow fill, then we'll open the valve to 45%. And there will be a separate button that, if he presses, it will do a faster fill by opening the valve to 100%. Let's go ahead and create two new tags for our push-buttons. We'll go to the controller tags folder, here, and we'll add new tags under these already created tags for our IO modules.

The first tag we're going to call, slow fill PB, for push-button, not peanut butter, and this is where the aliasing comes in. If you select this, you can basically see all the other tags in your system and you can choose one, there. Like I said, there are tags created for each input and output module. We have discrete inputs in local one, which is our slot one module, which is a 1756-IB16. Local:1:I is the inputs of the local chassis slot one. Expand this and we see we have two options: fault and data. Well, as you can assume, we need data not fault. Data will just tell us when the status of the inputs. One more step. There's 16 inputs, so we need to choose a number between zero and 15, including zero or 15. So you just hit dot and then the particular input you want to address to. We're going to use zero, so that will be the zeroth input of the 1756-IB16.

Next tag will be the fast fill PB. That will be similar, local colon I colon ... Sorry, colon one colon I dot data. Then we'll make that number one input. You don't have to worry about the data type, because when you choose your alias, it will automatically fill in the data type of the tag that you're aliasing to. These are, obviously, bools because they're only on or off. All right.

Our final tag will be the fill valve that we're opening and closing to fill the tank. We'll call this, fill valve analog output and local. Now, this analog output is in slot two. Let's use slot two colon O dot ... Now, this is slightly different, the syntax for these. I'll just expand this, so you can see. We expand local colon two colon O. We have channel zero or CH-0 data, CH-1 data, and so on. We want CH-0 data. Again, this will fill in whatever the data type is of this alias tag. So, hit, enter and it makes it real.

There's our three tags. Now, we're going to create our basic logic program. We're going to adjust the variable valve, such that the solution flows at three different speeds, or three different volumes; 0%, 45%, and 100%. So, slow fill will be 45%, 100% will be the fast fill, and then when neither of them is pushed we'll set it to zero, so it's totally closed. We'll add an XIC to three rungs, here, and this will be our slow fill push-button. I'm going to do a copy and paste, so control C, on that rung and control V will paste a rung right below it. This will be the fast fill push-button. Then control C, control V, one more time. This time we want it to be active when neither push-button is pushed, so copy and paste. We got two XIOs in series, so that when neither is pushed, we pass our logic through here and activate whatever is in the output.

Let's set the output of these three rungs. We're going to use a move instruction, also known as an MOV. We're going to move 45 into the fill valve analog output, when the slow fill push-button is pressed. Copy and paste, control V. We'll move 100 into the fill valve, when the fast fill push-button is pressed. And we'll move zero into the fill valve analog output, when neither is pressed.

That's how you would use aliasing to alias inputs and outputs to actual tags in your program. Then you got a little bonus help on setting up some basic ladder logic. I hope that was helpful. If you want some more in-depth training on becoming competent PLC programmer, using ladder logic, aliasing, IO, hardware stuff of PLCs, definitely recommend you start with the basics, get a good foundation. A great way to do that is to checkout the cheat sheet I have below on the three things you need to know to understand any PLC system. Specifically, created this for motivated electricians who want to become confident PLC programmers.

Thanks for watching and we'll talk to you next time.

Free PLC Cheat Sheet


Get the Free PLC Cheat Sheet

PLCs are really not that complicated. If you are new to PLCs or just looking to get a better handle on how they work, check out this free cheat sheet, called the "Motivated Electrician's Guide to Understanding ANY PLC System."

Grab the Cheat Sheet

Where should we send it?