ABB PLC Lab Manual · Lab 05 of 20 · I/O Mapping & Program Transfer

ABB AC500-eco Digital Input Mapping for Push Buttons and Sensors

Give every physical input a clear name and prove it. Learn how NO and NC devices show up in the PLC, name the 14 inputs of the conveyor kit, enter them in the I/O Mapping tab and test each one against the hardware.

2,500+ engineers trained 4.9/5 Google rating 21+ years, Chinchwad, Pune Real AC500-eco + ACS580 trainer kits
Lab 5 of 20 · 45 minutes · Level: Beginner
Quick answer

Input mapping means linking each physical input channel (for example %IX0.1) to a meaningful variable (DI_Start_PB). In Automation Builder you type the variable name directly in the module's I/O Mapping tab, which creates a global variable at that address. Safety-related stop devices are wired NC, so their input is TRUE when healthy and FALSE when pressed or when the wire breaks.

  • Name inputs by device and function: DI_ + device + function (DI_Start_PB)
  • Stop and E-stop are wired NC: TRUE = healthy, FALSE = pressed or broken wire
  • Type names in the I/O Mapping tab so the address lives in one place
  • Test every input on the real kit and tick it off before writing logic
HardwareKit with push buttons, selectors, sensors
SoftwareProject with DX561 from Lab 4
DrawingsKit I/O list

Readable programs start with readable inputs. A rung that reads DI_Stop_PB AND DI_EStop_OK explains itself; one that reads %IX0.2 AND %IX0.0 needs the drawing open on another screen.

Step 1: Understand NO, NC and PNP Inputs

Field devices 10 minutes
DeviceWired asInput when idleInput when operatedWhy
Start push buttonNOFALSETRUEStarting needs a deliberate action
Stop push buttonNCTRUEFALSEA broken wire must stop the machine, like a press
E-stop (via safety relay)NC healthy contactTRUEFALSEFail-safe: loss of signal = stop
Auto/Manual selectorTwo NO contactsone TRUEother TRUEBoth FALSE or both TRUE = selector fault
PNP proximity sensor3-wire, switches +24 VFALSETRUE (target present)Matches sourcing sensors and sink inputs
MPCB auxiliaryNO, closed when healthyTRUEFALSE when trippedHealthy feedback, not a fault contact
Rule of thumb

Name the variable after what TRUE means. DI_EStop_OK is TRUE when healthy; never call it DI_EStop, which leaves the reader guessing.

Step 2: Try the Inputs on the Simulator

Interactive 5 minutes

Input mapping simulator

Press and hold Start, press Stop, latch the E-stop and switch Auto. Watch how NC devices go FALSE when operated.

Inputs (click / hold)
Outputs
%IX0.1 DI_Start_PB
%IX0.2 DI_Stop_PB
%IX0.0 DI_EStop_OK
%IX0.4 DI_Auto_Sel
%IX1.2 DI_Entry_Sensor
Stop_Chain_OK: 0Start_Request: 0
001 Stop chain healthy: both NC devices must be TRUEDI_Stop_PB%IX0.2DI_EStop_OK%IX0.0Stop_Chain_OK002 Start request only in Auto with chain healthyDI_Start_PB%IX0.1DI_Auto_Sel%IX0.4Stop_Chain_OKStart_Request

Green contact = passing power. Orange moving wire = rung is true and the output is energised.

Notice that the Stop button uses a normally open contact symbol in the ladder even though the device is NC. The contact asks “is the input TRUE?”, and a healthy NC button gives TRUE.

Step 3: Enter Input Names in the I/O Mapping Tab

Automation Builder 15 minutes
  1. Open the CPU onboard I/O node and select the I/O Mapping tab.
  2. In the Variable column of DI0, type DI_EStop_OK. Continue down the list using the table below.
  3. Add a comment/description on each line; it appears in tooltips and printouts.
  4. Repeat on DX561_Slot1 for its eight inputs.
  5. Build the project. The new names are now available in every POU.
Tag nameAddress*ChannelDeviceTRUE means
DI_EStop_OK%IX0.0CPU onboard DI0Safety relay healthy contact (NC chain)1 = healthy
DI_Start_PB%IX0.1CPU onboard DI1Start push button (NO)1 = pressed
DI_Stop_PB%IX0.2CPU onboard DI2Stop push button (NC)0 = pressed
DI_Reset_PB%IX0.3CPU onboard DI3Fault reset push button (NO)1 = pressed
DI_Auto_Sel%IX0.4CPU onboard DI4Selector switch AUTO position1 = auto
DI_Manual_Sel%IX0.5CPU onboard DI5Selector switch MANUAL position1 = manual
DI_Jog_Fwd_PB%IX1.0DX561 DI0Jog forward push button1 = pressed
DI_Jog_Rev_PB%IX1.1DX561 DI1Jog reverse push button1 = pressed
DI_Entry_Sensor%IX1.2DX561 DI2Part present at conveyor entry (PNP)1 = part
DI_Exit_Sensor%IX1.3DX561 DI3Part present at conveyor exit (PNP)1 = part
DI_MPCB_OK%IX1.4DX561 DI4Motor protection breaker aux contact1 = healthy
DI_Contactor_FB%IX1.5DX561 DI5Main contactor auxiliary contact1 = closed
DI_Lamp_Test_PB%IX1.6DX561 DI6Lamp test push button1 = pressed
DI_Silence_PB%IX1.7DX561 DI7Buzzer silence push button1 = pressed

* Addresses shown are the ones Automation Builder assigned on our trainer project. Your project may differ depending on CPU variant, firmware and module order, so always read the actual address from the module's I/O Mapping tab.

Step 4: Test Every Input on the Kit

Online, after Lab 8 download 15 minutes

Once a program is downloaded (Lab 8), log in and open the I/O Mapping tab online. Operate each device and confirm the value changes on the right line. This is the same check done in a FAT on a real panel.

0 of 7 checks recorded
IDCheckHow to checkPass criterionResult
Operator devices
I-01Start PBPress and holdDI_Start_PB TRUE only while pressed
I-02Stop PBPress and holdDI_Stop_PB goes FALSE
I-03E-stopPress, then release + reset relayDI_EStop_OK FALSE, then TRUE
I-04SelectorTurn AUTO / MANUALOnly one of DI_Auto_Sel / DI_Manual_Sel TRUE
Sensors and feedbacks
I-05Entry and exit sensorsHold a part at each sensorMatching input TRUE, sensor LED on
I-06MPCB feedbackTrip the MPCB test buttonDI_MPCB_OK goes FALSE
I-07Contactor feedbackForce DO_Motor_Run (Lab 10) with motor isolatedDI_Contactor_FB TRUE

Practice Exercise

Exercise

Disconnect the Stop button wire at the terminal (power off first). Power up and check DI_Stop_PB. Explain to your trainer why this behaviour is safer than a NO-wired stop button.

Troubleshooting

SymptomLikely causeFix
Input LED on, variable stays FALSEVariable mapped to the wrong channelRecheck the I/O Mapping line for that channel
Input never turns onInput common not connected / NPN sensor on sink inputCheck the group common and sensor type
Selector shows both positions TRUEWiring error at the selectorCheck the two contact blocks
Stop works backwardsButton wired NO instead of NCRewire as NC; keep the logic unchanged

Frequently asked questions

How do I map inputs in ABB Automation Builder?

Open the module or onboard I/O node, go to the I/O Mapping tab and type a variable name in the Variable column for each channel. Automation Builder creates a global variable at that address.

Why is the stop button wired NC to the PLC?

So that a broken wire or loose terminal has the same effect as pressing stop. The input is TRUE when healthy and FALSE when pressed or broken.

Should I use the address or the tag name in my program?

Always the tag name. It makes logic readable and keeps the address defined in one place.

What naming convention should I use for PLC inputs?

A prefix for the signal type (DI_), the device and its function, and a suffix that says what TRUE means, for example DI_MPCB_OK or DI_Start_PB.

Reviewed by Bhawesh Kumar SinghIndustrial Automation Trainer and Industry 4.0 Consultant · Softwell Automation · 21+ years industry experience

Get the full ABB PLC syllabus + free demo class

Share your details. A Softwell training advisor will call you within 24 hours with batch dates, fees and AC500 hardware access options.

No spam. Used only to share course details for this enquiry.

Practise every lab on real ABB hardware

AC500-eco PLC, ACS580 drive and HMI trainer kits: live online, Pune classroom or corporate in-plant training.

Request Course Details
Verified learning pathway

Discuss This Technical Course

Explore practical curriculum, software, hardware and batch options for this technology.

Content reviewed: 14 October 2026

ABB PLC & Automation Builder Learning Path

Follow the full 20-lab ABB AC500-eco practical series in order, or start from the ABB PLC Lab Manual hub.

  1. Lab 1: Automation Builder Installation & AC500-eco Setup
  2. Lab 2: Connect AC500-eco PLC via Ethernet
  3. Lab 3: Create a New Automation Builder Project
  4. Lab 4: AC500-eco IO Configuration
  5. Lab 5: Digital Input Mapping
  6. Lab 6: Digital Output Mapping
  7. Lab 7: First Ladder Program: Start/Stop
  8. Lab 8: Download a Program to AC500-eco
  9. Lab 9: Upload a Program from AC500-eco
  10. Lab 10: Online Monitoring, Force & Write
  11. Lab 11: Timers & Counters in Ladder
  12. Lab 12: Network & Tag Mapping
  13. Lab 13: Alarm Mapping & Fault Latching
  14. Lab 14: Tower Lamp Logic
  15. Lab 15: Emergency Stop & Interlocks
  16. Lab 16: Manual Mode Logic
  17. Lab 17: Auto Mode Sequence Logic
  18. Lab 18: Structured Text (ST) Programming
  19. Lab 19: AC500-eco to ACS580 Modbus RTU Setup
  20. Lab 20: Control ACS580 via Modbus RTU
  21. ABB AC500 PLC Selection Guide
☎ Call WhatsApp ✉ Email Enquire Now