Output mapping links internal command bits to physical output channels such as %QX0.0. Name each output in the I/O Mapping tab (DO_Motor_Run), but write machine logic on internal command bits (Cmd_Motor_Run) and copy them to outputs in one output-mapping rung or POU, where the final interlocks such as E-stop healthy and MPCB OK are applied.
- Transistor outputs switch 24 VDC loads; use interposing relays for AC loads or high current
- Add a freewheeling diode or suppressor on DC coils
- Logic writes Cmd_ bits; one output-mapping section writes DO_ outputs
- Configure outputs to switch OFF when the CPU stops
Inputs tell the PLC what is happening; outputs change the machine. Mistakes here burn output channels or start motors unexpectedly, so wiring rules and a clear mapping structure come first.
Step 1: Match Each Load to the Output Type
| Load | Supply | Connect via | Protection |
|---|---|---|---|
| Contactor coil 24 VDC | 24 VDC | Direct from transistor output | Freewheeling diode across coil |
| Contactor coil 230 VAC | 230 VAC | 24 VDC interposing relay | RC suppressor on the AC coil |
| Solenoid valve 24 VDC | 24 VDC | Direct if current within output rating | Diode / suppressor connector |
| Tower lamp 24 VDC LED | 24 VDC | Direct | None needed |
| Push button lamp 24 VDC | 24 VDC | Direct | None needed |
| ACS580 run command (hardwired option) | Drive DI | Direct to drive digital input | Common 0 V between PLC and drive |
Step 2: Name the Outputs in the I/O Mapping Tab
| Tag name | Address* | Channel | Load |
|---|---|---|---|
DO_Motor_Run | %QX0.0 | CPU onboard DO0 | Main contactor coil / drive run (hardwired mode) |
DO_Motor_Rev | %QX0.1 | CPU onboard DO1 | Reverse contactor coil |
DO_Tower_Green | %QX0.2 | CPU onboard DO2 | Tower lamp green: running |
DO_Tower_Amber | %QX0.3 | CPU onboard DO3 | Tower lamp amber: ready / warning |
DO_Tower_Red | %QX0.4 | CPU onboard DO4 | Tower lamp red: fault |
DO_Buzzer | %QX0.5 | CPU onboard DO5 | Buzzer / hooter |
DO_Start_Lamp | %QX1.0 | DX561 DO0 | Start push button lamp |
DO_Reset_Lamp | %QX1.1 | DX561 DO1 | Reset push button lamp (fault present) |
DO_Auto_Lamp | %QX1.2 | DX561 DO2 | Auto mode indicator |
DO_Manual_Lamp | %QX1.3 | DX561 DO3 | Manual mode indicator |
* 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.
- Open onboard I/O > I/O Mapping, type the DO_ names in the Variable column for the output channels.
- Repeat for
DX561_Slot1outputs. - Mark unused channels
SPAREin the comment column.
Step 3: Build an Output Mapping Layer
Machine logic in later labs (manual, auto, alarms) sets command bits like Cmd_Motor_Run. A single POU, Output_Mapping, is the only place that writes physical outputs. That gives you one place to apply final interlocks and one place to look when an output does not switch. Try it below.
Output mapping simulator
Turn on the command from logic, then trip the MPCB or press the E-stop: the physical output drops even though the command is still TRUE.
Green contact = passing power. Orange moving wire = rung is true and the output is energised.
If two POUs write the same output, the last one executed wins. This “double coil” bug is the most common reason an output flickers or ignores a command.
Step 4: Test Outputs Safely
- Isolate motor power (contactor load side open) and warn people near the machine.
- Download (Lab 8) and log in.
- Use write or force on each Cmd_ bit (Lab 10) and check the output LED and the load.
- Stop the CPU and confirm all outputs switch OFF.
- Remove all forces before leaving the machine.
| ID | Check | How to check | Pass criterion | Result |
|---|---|---|---|---|
| Outputs | ||||
| O-01 | Contactor | Write Cmd_Motor_Run TRUE | Contactor pulls in, DI_Contactor_FB TRUE | |
| O-02 | Interlock | Trip MPCB with command TRUE | DO_Motor_Run drops | |
| O-03 | Tower lamps | Write each lamp bit | Correct colour lights | |
| O-04 | CPU STOP | Stop the CPU | All outputs OFF | |
Practice Exercise
Add DO_Motor_Rev to Output_Mapping with an interlock so forward and reverse can never be ON together. Prove it on the kit with motor power isolated.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Output LED on but load off | No output process supply or blown load fuse | Measure 24 VDC at UP/ZP and at the load |
| Output channel failed after contactor test | No suppression on inductive load | Fit diode/suppressor; replace channel/module |
| Output flickers | Written in two places | Search cross-references; write only in Output_Mapping |
| Output stays on when CPU stops | Module set to hold last value | Set output behaviour on STOP to OFF |
Frequently asked questions
Can AC500-eco transistor outputs switch a 230 VAC contactor?
No. Transistor outputs switch 24 VDC only. Use a 24 VDC interposing relay, or a relay-output CPU or module, for AC loads.
Why use command bits instead of writing outputs directly?
It gives one place where final interlocks are applied and avoids the same output being written in several places.
Do I need a diode across a 24 VDC contactor coil?
Yes, a freewheeling diode or suppressor protects the transistor output from the voltage spike when the coil switches off.
What should outputs do when the PLC stops?
Switch OFF. Set this in the module or CPU parameters so a stopped controller never leaves a load running.