ControlLogix5000: I/O Mapping

Colt Hero

Member
Join Date
Apr 2015
Location
USA - Southeast (but from Northeast)
Posts
109
What's the easiest way to quickly determine which physical I/O points are in-use for a project?

I see tags with I/O names that are "connected" to physical "RIO" points through SCL (scaling) blocks.

I also see tags referenced to physical "I" and "O" points.

But if I just go into the I/O Configuration and start looking at physical I/O, I don't see any connection there. It seems like you cannot tell which physical I/O are actually "in-use" unless you rummage through the Tag List or look for I/O routines with SCL blocks in them.

Is that the only way to do it?

I just want to be able to go into the I/O Configuration and pick the next available/open Analog In, or Digital Out ... without having to think about it.
 
Hi Colt-Hero.

In your controller tag folder- you should be able to cross reference all instances of your input/ output modules.

1 way I always set up my input/ outputs is to have 2 dedicated routines to pass data from the hardware tag- into an output alias. Any that are not used are given a "spare_slot_bit" name. Then whenever I wish to add remove IO; it can quickly be determined here.
 
Be wary of aliased tags, especially discretes, as they can be used externally with no reference in the project.


I don't think this is unique to aliased tags, I believe the I/O can be externally referenced as well, right?


What you might want to check for is if the I/O is COP or CPS into/from an internal data structure (to avoid asynchronous I/O scan issues), as opposed to individual uses. Then you've got another set of tags to x-ref.
 
What's the easiest way to quickly determine which physical I/O points are in-use for a project?

I see tags with I/O names that are "connected" to physical "RIO" points through SCL (scaling) blocks.

I also see tags referenced to physical "I" and "O" points.

But if I just go into the I/O Configuration and start looking at physical I/O, I don't see any connection there. It seems like you cannot tell which physical I/O are actually "in-use" unless you rummage through the Tag List or look for I/O routines with SCL blocks in them.

Is that the only way to do it?

I just want to be able to go into the I/O Configuration and pick the next available/open Analog In, or Digital Out ... without having to think about it.

Hi Colt Hero,

You can definitely do what you're describing.

Go into your "Controller Organizer" (panel on the left side in RSLogix 5000) and find the correct I/O module you're looking for. Select this module. Underneath (you may need to drag up), you will see a tag identifier (EX: Local:3:I for a 1756-IB32 module). Go into your controller tags, find this tag and find the root for IO (EX: Local:3:I.Data for 1756-IB32 module). If you right click on this and cross-reference, you should be able to see every use of the I/O for this module. If you sort by reference, you should see every tag which isn't being used (EX: if there's no Local:3:I.Data.15, then Input 15 is not used on that card).

Note: I usually bring out every tag in my programs, so you may need to jump into a routine to confirm if it's actually a spare or not. In this case, I dedicate an Input and Output routine for this purpose as I've seen many other programmers do.

Hope that makes sense...
Vlad
 
...find this tag and find the root for IO (EX: Local:3:I.Data for 1756-IB32 module). If you right click on this and cross-reference, you should be able to see every use of the I/O for this module. If you sort by reference, you should see every tag which isn't being used (EX: if there's no Local:3:I.Data.15, then Input 15 is not used on that card).

Well done Vlad, I think the rest of us only alluded to cross-referencing, but assumed the OP knew how to do it.

CTRL-E is the short-cut. You can trigger it anywhere a tag can be selected (Controller/Program Tag listings, within a program, etc).

As Vlad mentions if you X-ref on the root tag it will pull up all uses of all of it's sub-components. Depending on how the program was written though it may only show the alias tags and not the Local:2:I.whatever. The X-ref shows what is explicitly used in the program.

If the original programmer was diligent about using aliased tags for the I/O, you can sort the tag list by "base tag" in the Edit Tags tab (double click the Base Tag column heading) and that will give you a good list of what's used and not used. This isn't guaranteed to be 100% though as the I/O could still be direct-referenced, but maybe a start.
 
Last edited:

Similar Topics

Good day everyone. if you have a logic for 3 pumps (lead/lag/off), would you please email it to me? I really appreciate it!
Replies
7
Views
157
Looking to see if anyone has setup a ControlLogix Via Ethernet to a Omega Temperature controller CNi16D33-EIT-AL. Omega sent me an i-Server users...
Replies
0
Views
955
Can a ControlLogix PLC communicate over Ethernet using TCP/IP? I need to interface to an existing (proprietary) system, sending TCP/IP 'frames'...
Replies
12
Views
4,099
OK, (some of) you guys know by now that I'm not a PLC programmer, so I'm not really familiar with how a well-structured PLC program is typically...
Replies
2
Views
1,451
Sorry for these very basic questions, but I'm not a PLC programmer (per se): It appears that timers always seem to appear at the very end of a...
Replies
28
Views
10,264
Back
Top Bottom