7. PLC Addressing: Rack/Slot vs Tag-Based ( 7 of 35 )


0

PLC Addressing: Rack/Slot vs Tag-Based

In a PLC system, every input, output, and internal memory location needs a way to be identified by the controller.

This identification method is called addressing.

In simple words:

PLC addressing tells the controller where a signal or data value is located.

For example, the PLC needs to know:

Where is the Start pushbutton connected?
Where is the Stop pushbutton connected?
Where is the motor starter output connected?
Where is the analog pressure signal stored?
Where is the internal timer value located?

Without addressing, the PLC program would not know which physical input, output, or memory location it is using.

According to Programmable Logic Controllers, 6th Edition, PLC addressing is the method used to identify where information about a field device or data value is stored in PLC memory. The text also explains two common styles used in Allen-Bradley systems: rack/slot-based addressing and tag-based addressing.


Why PLC Addressing Matters

When troubleshooting or programming a PLC, you must understand how the program connects to the real-world device.

Example:

Start pushbutton is wired to input terminal 0.
The PLC program must reference that input correctly.

If the program is looking at the wrong input address or wrong tag, the machine may not work even if the sensor or pushbutton is wired correctly.

This is a very common troubleshooting issue.

Field device works
Input LED turns ON
But PLC logic does not respond

Possible cause:

Wrong address
Wrong alias tag
Wrong module slot
Wrong input point
Wrong mapping logic
Wrong HMI tag

Two Common Addressing Styles

For Allen-Bradley PLCs, you will commonly see two addressing styles:

Rack/Slot-Based Addressing
Tag-Based Addressing

These are especially important when comparing older PLC platforms with newer Logix platforms.


1. Rack/Slot-Based Addressing

Rack/slot-based addressing identifies an input or output based on its physical location in the PLC rack.

This style is common in older Allen-Bradley systems such as:

SLC 500
MicroLogix
RSLogix 500-based systems

A typical address may look like this:

I:1/0
O:2/3

At first, these addresses look strange, but they are logical once you understand the structure.


Example: I:1/0
I:1/0

This means:

Address PartMeaning
IInput
1Slot number
0Terminal / bit number

So:

I:1/0 = Input module in slot 1, input point 0

If a Start pushbutton is wired to the first input point on the input card in slot 1, the program may use:

I:1/0

Example: O:2/3
O:2/3

This means:

Address PartMeaning
OOutput
2Slot number
3Terminal / bit number

So:

O:2/3 = Output module in slot 2, output point 3

If a pilot light is wired to output point 3 on the output card in slot 2, the program may use:

O:2/3

Rack/Slot Addressing Example

Imagine this PLC rack:

Slot 0 = Processor
Slot 1 = Digital Input Module
Slot 2 = Digital Output Module
Field Wiring
Start Pushbutton → Slot 1, Input 0
Stop Pushbutton  → Slot 1, Input 1
Motor Starter    → Slot 2, Output 0
Run Light        → Slot 2, Output 1
PLC Addresses
Field DevicePLC Address
Start PushbuttonI:1/0
Stop PushbuttonI:1/1
Motor StarterO:2/0
Run LightO:2/1

Simple logic example:

I:1/0     I:1/1          O:2/0
--] [------] [------------( )--
Start      Stop_OK        Motor

This style directly connects the program instruction to the physical hardware location.


Advantages of Rack/Slot Addressing

Rack/slot addressing is very direct.

Advantages:

Easy to trace physical location
Good for smaller systems
Useful when matching program to electrical drawings
Simple relationship between slot and terminal
Common in older machines

Example:

I:1/5

A technician can often understand that the signal is on:

Input module
Slot 1
Point 5

This helps during troubleshooting.


Disadvantages of Rack/Slot Addressing

The main disadvantage is readability.

Example:

I:1/5

This tells you where the signal is located, but it does not tell you what the signal actually means.

You still need a description or electrical drawing to know whether it is:

Start pushbutton
Photoeye
Limit switch
Overload contact
Pressure switch

That is why documentation is very important in rack/slot-based programs.


2. Tag-Based Addressing

Tag-based addressing uses names instead of only physical addresses.

This style is common in modern Allen-Bradley systems such as:

ControlLogix
CompactLogix
Studio 5000 Logix Designer
RSLogix 5000

Instead of using only an address like:

I:1/0

you may use a meaningful tag name like:

DI_Start_PB

or:

Start_Pushbutton

This makes the program much easier to read.


What Is a Tag?

A tag is a named memory location in the PLC.

A tag can represent:

A physical input
A physical output
An internal bit
A timer
A counter
An analog value
A motor command
A fault bit
A recipe value
A setpoint

Examples:

DI_Start_PB
DI_Stop_PB_OK
DO_Motor_Run
Motor_Run_Command
AI_Tank_Level
Tank_Level_Percent
Motor_Faulted
Auto_Mode_Selected

A good tag name explains what the signal means.


Base Tags and Alias Tags

In Studio 5000 / Logix 5000 systems, you may see base tags and alias tags.

Base Tag

A base tag is the actual memory location.

For a physical input, a base tag may look like this:

Local:1:I.Data.0

This tells the controller:

Local chassis
Slot 1
Input module
Data bit 0

Alias Tag

An alias tag is a friendly name that points to a base tag.

Example:

DI_Start_PB → Local:1:I.Data.0

This means:

DI_Start_PB is another name for Local:1:I.Data.0

Instead of using the raw hardware tag everywhere, the program can use:

DI_Start_PB

This is easier to understand.

The textbook explains that in tag-based addressing, input and output modules automatically create tags such as Local:1:I.Data.1, and alias tags can be used to create more meaningful names for the application.


Tag-Based Example

Imagine this CompactLogix system:

Slot 0 = Controller
Slot 1 = Digital Input Module
Slot 2 = Digital Output Module
Raw Hardware Tags
Field DeviceHardware Tag
Start PushbuttonLocal:1:I.Data.0
Stop PushbuttonLocal:1:I.Data.1
Motor StarterLocal:2:O.Data.0
Run LightLocal:2:O.Data.1
Alias Tags
Alias TagPoints To
DI_Start_PBLocal:1:I.Data.0
DI_Stop_PB_OKLocal:1:I.Data.1
DO_Motor_StarterLocal:2:O.Data.0
DO_Run_LightLocal:2:O.Data.1

Now the ladder logic can look like this:

DI_Start_PB     DI_Stop_PB_OK       Motor_Run_Command
----] [-------------] [--------------------( )----

Then in the output mapping section:

Motor_Run_Command → DO_Motor_Starter

This is much easier to troubleshoot than raw addresses everywhere.


Rack/Slot vs Tag-Based Comparison

FeatureRack/Slot-BasedTag-Based
Common softwareRSLogix 500Studio 5000 / Logix Designer
Common PLCsSLC 500, MicroLogixCompactLogix, ControlLogix
Example inputI:1/0Local:1:I.Data.0
Friendly nameDescription/commentAlias tag or descriptive tag
ReadabilityLower without commentsHigher with good tag names
Hardware connectionVery directHardware tag plus alias
TroubleshootingTrace slot and pointTrace tag, alias, and hardware mapping

Easy Way to Remember

Rack/Slot-Based
Where is it physically wired?

Example:

I:1/0 = Input slot 1, point 0
Tag-Based
What does the signal mean?

Example:

DI_Start_PB = Start pushbutton input

Both are important.

A good technician understands both the physical location and the logical name.


Why Alias Tags Are Useful

Alias tags make the program easier to read.

Instead of this:

Local:1:I.Data.3

you can use:

DI_Box_Present_PE

Instead of this:

Local:2:O.Data.5

you can use:

DO_Reject_Solenoid

That means when troubleshooting online, you can quickly understand the purpose of the signal.


Important: Tag Name Does Not Prove Wiring

A tag name is only a label.

If someone creates this tag:

DI_Start_PB

but points it to the wrong hardware address, the program will still be wrong.

Example:

DI_Start_PB → Local:1:I.Data.5

But the real Start button is wired to:

Local:1:I.Data.0

Result:

Start button input LED may turn ON
But DI_Start_PB does not change
Machine does not start

This is why you must verify both:

Physical input point
Alias tag mapping

Input Buffering vs Alias Tags

This is a very important professional concept.

There are two common methods:

Alias directly to physical input
Buffer raw input into internal tag

Method 1 — Alias Tag

Example:

DI_Start_PB alias for Local:1:I.Data.0

The tag directly points to the physical input.

This is simple and common.


Method 2 — Input Buffering

Example:

Local:1:I.Data.0 → Raw_Start_PB
Raw_Start_PB → DI_Start_PB

Or simply:

DI_Start_PB := Local:1:I.Data.0

This method creates a buffer layer between hardware and logic.

It is very useful when you want to add:

Debounce
Signal inversion
Simulation mode
Diagnostics
Forcing strategy
Input validation

Professional Input Mapping Example

Raw Hardware Input
Local:1:I.Data.0
Buffered Input
DI_Start_PB
Debounced Input
DI_Start_PB_Valid
Logic Use
DI_Start_PB_Valid → Start_Request

This is more professional than using the raw hardware tag all over the program.


Professional Output Mapping Example

Do not write directly to physical outputs throughout the program.

Instead, create internal command bits.

Logic Command
Motor_Run_Command
Physical Output Mapping
Motor_Run_Command → DO_Motor_Starter
Hardware Output
DO_Motor_Starter → Local:2:O.Data.0

This structure helps avoid duplicate outputs and makes troubleshooting easier.


Example: Bad Addressing Problem

Problem

A photoeye detects a box, and the input LED on the PLC card turns ON, but the program does not see the box.

Possible Causes
The program is looking at the wrong input address
The alias tag points to the wrong bit
The input module slot number is wrong
The field wire is landed on a different terminal
The electrical drawing is outdated
The HMI is reading a different tag
The input is being overwritten or buffered incorrectly
Troubleshooting Steps
1. Find the physical input point.
2. Watch the input LED turn ON/OFF.
3. Go online with PLC software.
4. Monitor the raw hardware tag.
5. Check the alias tag.
6. Check the input mapping routine.
7. Check the logic using the tag.
8. Compare with the electrical drawing.

Example: RSLogix 500 vs Studio 5000

RSLogix 500 Style
I:1/0     Start pushbutton
I:1/1     Stop pushbutton
O:2/0     Motor starter

Ladder concept:

I:1/0     I:1/1       O:2/0
--] [------] [---------( )--

Studio 5000 Style
DI_Start_PB
DI_Stop_PB_OK
Motor_Run_Command
DO_Motor_Starter

Ladder concept:

DI_Start_PB     DI_Stop_PB_OK       Motor_Run_Command
----] [-------------] [--------------------( )----

Output mapping:

Motor_Run_Command → DO_Motor_Starter

The Studio 5000 version is easier to understand because the tag names describe the purpose of each signal.


Common Tag Prefixes

Using consistent tag prefixes makes PLC programs cleaner.

PrefixMeaningExample
DI_Digital InputDI_Start_PB
DO_Digital OutputDO_Motor_Run
AI_Analog InputAI_Tank_Level
AO_Analog OutputAO_VFD_SpeedRef
Cmd_CommandCmd_Start
Sts_StatusSts_Running
Alm_AlarmAlm_MotorFault
Flt_FaultFlt_Overload
Perm_PermissivePerm_MotorStart
Intlk_InterlockIntlk_GuardDoor
Req_RequestReq_Start

Example motor tags:

DI_Motor_OL_OK
DI_Motor_FB
DO_Motor_Starter
Cmd_Motor_Run
Sts_Motor_Running
Flt_Motor_FailedToStart
Alm_Motor_Overload

Addressing and Electrical Drawings

PLC addressing must match the electrical drawings.

A good electrical drawing should show:

Device name
Wire number
Terminal block number
PLC module slot
PLC input or output point
PLC address or tag
Voltage type
Common reference

Example:

PB101 Start Pushbutton
Wire 1205
TB2-14
PLC Slot 1 Input 0
Tag: DI_Start_PB

If the drawing and PLC program do not match, troubleshooting becomes much harder.


Addressing and HMI Tags

The HMI also uses PLC tags.

Example:

HMI Start Button → HMI_Start_Command
PLC Motor Status → HMI displays Motor Running
PLC Fault Bit → HMI alarm display

If the HMI points to the wrong tag, the screen may show incorrect information.

Example:

PLC motor is running
But HMI says stopped

Possible cause:

HMI is reading the wrong status tag
PLC tag was renamed
Communication shortcut is wrong
HMI tag database is outdated

Addressing is not only important inside the PLC. It is also important for HMI and SCADA systems.


Automation Technician Notes

When troubleshooting addressing problems, always follow the signal path:

Field device
        ↓
Terminal block
        ↓
PLC input/output point
        ↓
Raw hardware address
        ↓
Alias tag or buffered tag
        ↓
PLC logic
        ↓
HMI or output command

Do not assume the tag name is correct.

Verify:

Physical wiring
PLC input LED
Raw hardware tag
Alias tag
Input mapping
Logic routine
Output mapping
HMI tag

This method will help you avoid chasing the wrong problem.


Practical Troubleshooting Example

Problem

The operator presses Start, but the motor does not start.

What You See
Start pushbutton physically works.
Input LED on the PLC card turns ON.
But the Start_Request bit never turns ON.
Likely Causes
DI_Start_PB alias points to the wrong input
Input mapping routine uses the wrong hardware tag
Start pushbutton is wired to a different input point
Wrong slot number in the program
The program is using another start tag
The HMI/manual mode logic is blocking the request
What To Do
1. Identify the real input terminal.
2. Monitor the raw hardware input.
3. Check the alias tag.
4. Check input buffering logic.
5. Search all references for DI_Start_PB.
6. Verify Start_Request logic.
7. Compare with electrical drawings.

Best Practices for PLC Addressing

Use these best practices:

Use descriptive tag names.
Use consistent prefixes.
Avoid using raw hardware addresses everywhere.
Document alias tags clearly.
Map inputs in one routine.
Map outputs in one routine.
Avoid duplicate physical outputs.
Keep electrical drawings updated.
Verify HMI tags after changes.
Use comments and descriptions.

A clean addressing structure makes a PLC program easier to read, troubleshoot, and maintain.


Key Terms
TermMeaning
AddressingMethod used to identify PLC memory or I/O locations
Rack/Slot AddressingAddressing based on physical rack, slot, and terminal
Tag-Based AddressingAddressing based on named memory locations
Base TagActual memory location where data is stored
Alias TagAlternate name pointing to another tag
Input ImageMemory storing input status
Output ImageMemory storing output status
Hardware TagAuto-created tag for physical I/O module data
Input MappingMoving raw inputs into internal program tags
Output MappingMoving internal commands to physical outputs
DIDigital Input
DODigital Output
AIAnalog Input
AOAnalog Output

Final Thoughts

PLC addressing is the connection between the physical machine and the PLC program.

In older Allen-Bradley systems, you will often see rack/slot-based addresses such as:

I:1/0
O:2/1

In newer Logix systems, you will see tag-based addressing such as:

Local:1:I.Data.0
DI_Start_PB
DO_Motor_Starter

For an Automation Technician, the most important skill is being able to connect the physical device to the program tag.

When you understand addressing, you can troubleshoot faster, read programs more confidently, and understand how the PLC sees the real machine.

Leave a Reply

Your email address will not be published. Required fields are marked *