4. PLC Inputs and Outputs Explained

PLC Inputs and Outputs Explained
In industrial automation, a PLC does not work by itself. It needs to interact with real-world devices installed on the machine or process.
These real-world devices are connected to the PLC through inputs and outputs.
A simple way to understand it is:
Inputs tell the PLC what is happening.
Outputs allow the PLC to control what happens next.
The PLC receives information from input devices, processes that information through the program, and then commands output devices.
Field Inputs → PLC Logic → Field Outputs
According to Programmable Logic Controllers, 6th Edition, the PLC I/O system is the interface between external field devices and the controller. Input modules accept signals from machine or process devices, while output modules convert controller signals into external control signals used to operate the machine or process.
What Are PLC Inputs?
A PLC input is a signal coming from a field device into the PLC.
Inputs are used to tell the PLC the condition or status of something in the machine.
For example:
Is the Start pushbutton pressed?
Is the Stop pushbutton healthy?
Is the door closed?
Is the box present?
Is the tank level high?
Is the motor overload tripped?
Is the VFD faulted?
The PLC reads these input signals and uses them in the control logic.
Common PLC Input Devices
Common input devices include:
Pushbuttons
Selector switches
Limit switches
Proximity sensors
Photoelectric sensors
Pressure switches
Level switches
Temperature switches
Flow switches
Motor overload auxiliary contacts
VFD running contacts
VFD fault contacts
Safety relay feedback contacts
These devices do not usually perform the final action. They provide information to the PLC.
Example:
Photoeye detects a box → PLC input turns ON
PLC logic confirms box present
PLC commands conveyor stop or reject system
What Are PLC Outputs?
A PLC output is a signal sent from the PLC to control a field device.
Outputs are used to command devices such as motors, valves, relays, lights, and alarms.
For example:
Turn ON motor starter
Energize solenoid valve
Turn ON stack light
Send run command to VFD
Activate alarm horn
Open pneumatic valve
Turn ON heater contactor
The PLC program decides when an output should turn ON or OFF.
Common PLC Output Devices
Common output devices include:
Pilot lights
Stack lights
Relays
Interposing relays
Solenoid valves
Motor starters
Contactors
Alarm horns
Buzzers
VFD run commands
Valve actuators
Heater contactors
These devices perform the action commanded by the PLC logic.
Example:
PLC output turns ON → relay energizes → solenoid valve opens
Input Module vs Output Module
The PLC normally does not connect directly to the CPU terminals. Field devices connect to input and output modules.
Input Module
An input module receives signals from field devices and converts them into a signal the PLC processor can understand.
Example:
24 VDC proximity sensor signal
↓
PLC input module
↓
PLC input memory bit
If the sensor is ON, the PLC may see a logic 1.
If the sensor is OFF, the PLC may see a logic 0.
Output Module
An output module receives commands from the PLC processor and switches power or sends a control signal to an output device.
Example:
PLC output command bit
↓
PLC output module
↓
Motor starter coil energizes
The output module acts like the bridge between the PLC logic and the real-world device.
Discrete Inputs and Outputs
The most basic type of PLC I/O is discrete I/O.
Discrete means the signal has only two states:
ON or OFF
1 or 0
True or False
Energized or De-energized
Examples of discrete input devices:
Pushbutton pressed / not pressed
Limit switch made / not made
Sensor ON / sensor OFF
Pressure switch closed / open
Overload contact healthy / tripped
Examples of discrete output devices:
Pilot light ON / OFF
Relay energized / de-energized
Solenoid valve ON / OFF
Motor starter ON / OFF
Horn ON / OFF
Discrete I/O is very common in machine control.
Analog Inputs and Outputs
Some signals are not simply ON or OFF. Some signals represent a changing value.
These are called analog signals.
Analog signals may represent:
Temperature
Pressure
Tank level
Flow
Weight
Speed
Position
pH
Conductivity
Common analog signal ranges include:
4–20 mA
0–10 VDC
0–5 VDC
-10 to +10 VDC
Example:
4 mA = Empty tank
20 mA = Full tank
Or:
0 VDC = 0 PSI
10 VDC = 100 PSI
Analog I/O allows the PLC to monitor and control variable process values instead of only ON/OFF conditions.
Digital Input Example
Imagine a proximity sensor detecting a metal part.
Metal part present → Sensor output ON → PLC input ON
Metal part absent → Sensor output OFF → PLC input OFF
The PLC program may use that input like this:
IF Part_Present = ON
THEN allow conveyor to move
In ladder logic concept:
Part_Present Conveyor_Enable
----] [--------------------( )----
This means when the part present input is true, the conveyor enable bit turns on.
Digital Output Example
Imagine the PLC controls a solenoid valve.
PLC logic true → Output module ON → Solenoid energized → Valve shifts
PLC logic false → Output module OFF → Solenoid de-energized → Valve returns
In ladder logic concept:
Valve_Command Solenoid_Output
----] [--------------------( )----
This means when the valve command is true, the PLC turns on the solenoid output.
Input Status vs Output Command
This is a key troubleshooting concept:
Inputs are conditions.
Outputs are commands.
An input tells the PLC something.
An output tells a device to do something.
Example:
Input: Door_Closed_LS
Meaning: The door is closed.
Output: Door_Open_Solenoid
Meaning: Command the valve to open the door.
Do not confuse feedback with command.
For example:
Motor_Run_Command = PLC telling the motor to run.
Motor_Running_Feedback = field device telling the PLC the motor is actually running.
This distinction is very important in industrial troubleshooting.
Command vs Feedback
A common mistake is assuming that because the PLC output is ON, the field device is actually working.
That is not always true.
Example:
PLC output command = ON
Motor starter coil should energize
But motor does not run
Possible causes:
No control voltage
Blown fuse
Bad output module
Bad interposing relay
Bad starter coil
Overload tripped
Loose wire
Motor disconnect OFF
Mechanical problem
VFD fault
That is why real industrial programs often use both:
Command
Feedback
Example:
Motor_Run_Command
Motor_Running_Feedback
The PLC commands the motor to run, then expects feedback proving the motor actually started.
Field Device Power vs PLC Logic
Another very important concept:
The PLC logic can be true even if the field device does not actually energize.
Why?
Because PLC logic and field power are related, but they are not always the same thing.
Example:
The PLC output bit is ON in the program.
The output LED is ON.
But the solenoid is not energized.
Possible reasons:
No 24 VDC field power
Blown output fuse
Bad common
Disconnected wire
Bad solenoid coil
Wrong voltage
Failed relay contact
The PLC can command the output, but the field circuit still needs voltage, wiring, and a working device.
Input LED and Output LED
Most PLC modules have status LEDs.
These LEDs are very useful for troubleshooting.
Input LED
An input LED usually indicates that the input module is receiving a signal from the field device.
Example:
Sensor ON → Input LED ON
Sensor OFF → Input LED OFF
If the sensor is ON but the input LED is OFF, check:
Sensor power
Sensor wiring
Input common
Wrong input point
Broken wire
Bad sensor
Wrong sinking/sourcing type
Bad input module
Output LED
An output LED usually indicates that the PLC is commanding the output ON.
Example:
PLC output command ON → Output LED ON
PLC output command OFF → Output LED OFF
Important:
Output LED ON does not always mean the field device is working.
It usually means the PLC is commanding the output.
You still need to verify field voltage and the actual output device.
Example: Start/Stop Motor Control
Let’s use a simple motor control circuit.
Inputs
Start_PB
Stop_PB
Motor_Overload_OK
Motor_Running_Feedback
Output
Motor_Starter_Coil
Logic Concept
If Start_PB is pressed
AND Stop_PB is OK
AND Motor_Overload_OK is true
THEN energize Motor_Starter_Coil
Feedback Concept
After the PLC commands the motor starter, it may expect feedback.
Motor_Starter_Coil = ON
Motor_Running_Feedback should turn ON
If the command is ON but feedback does not turn ON after a short time, the PLC may generate a fault:
Motor Failed To Start
This is professional industrial logic.
Normally Open and Normally Closed Inputs
Many input devices are described as NO or NC.
NO = Normally Open
NC = Normally Closed
This describes the electrical state of the device when it is in its normal condition.
Example:
NO pushbutton:
Not pressed = open
Pressed = closed
Example:
NC stop pushbutton:
Not pressed = closed
Pressed = open
In PLC programming, you must understand both:
The physical wiring state
The PLC logic instruction
A normally closed device may be programmed with an XIC instruction if the PLC input is ON during the healthy condition.
Example:
Stop_PB_OK = ON when stop button is not pressed
Then in ladder logic:
Stop_PB_OK
----] [----
This means the stop circuit is healthy.
Input Naming Best Practice
Use clear names for input tags.
Instead of:
Local:1:I.Data.0
Use:
DI_Start_PB
DI_Stop_PB_OK
DI_Door_Closed_LS
DI_Box_Present_PE
DI_Motor_OL_OK
DI_VFD_Faulted
This makes the program easier to understand.
A good prefix system:
DI_ = Digital Input
AI_ = Analog Input
DO_ = Digital Output
AO_ = Analog Output
Examples:
DI_Start_PB
DI_Estop_OK
DI_Photoeye_BoxPresent
AI_Tank_Level
DO_Motor_RunCmd
DO_Solenoid_Extend
AO_VFD_SpeedRef
Good tag names reduce confusion during troubleshooting.
Output Naming Best Practice
Use clear names for output tags too.
Instead of:
Local:2:O.Data.3
Use:
DO_Conveyor_Motor_Run
DO_Air_Valve_Open
DO_Red_StackLight
DO_Green_StackLight
DO_Horn
DO_VFD_Start_Command
For professional logic, separate internal commands from physical outputs.
Example:
Motor_Run_Command → DO_Motor_Starter
This makes the logic cleaner.
Raw Inputs vs Buffered Inputs
A good programming practice is to avoid using raw hardware addresses everywhere.
Instead of using:
Local:1:I.Data.0
all over the program, buffer the input into a meaningful tag:
Local:1:I.Data.0 → DI_Start_PB
Then use:
DI_Start_PB
throughout the logic.
This gives you flexibility for:
Debounce
Signal inversion
Simulation
Diagnostics
Troubleshooting
Future hardware changes
This is a professional programming habit.
Raw Outputs vs Output Mapping
The same idea applies to outputs.
Instead of writing directly to physical outputs all over the program, use command bits first.
Example:
Motor_Run_Command
Valve_Open_Command
GreenLight_Command
Horn_Command
Then map them once to physical outputs:
Motor_Run_Command → Local:2:O.Data.0
Valve_Open_Command → Local:2:O.Data.1
GreenLight_Command → Local:2:O.Data.2
Horn_Command → Local:2:O.Data.3
This reduces duplicate output problems and makes troubleshooting easier.
Troubleshooting PLC Inputs
When an input is not working, follow the signal path.
Input Troubleshooting Path
Field device
↓
Device power
↓
Device output signal
↓
Field wiring
↓
Terminal block
↓
Input module terminal
↓
Input LED
↓
PLC input tag
↓
PLC logic
Common Input Problems
Bad sensor
Misaligned photoeye
Broken wire
Loose terminal
Missing 24 VDC
Missing common
Wrong PNP/NPN type
Wrong input point
Input filter delay
Bad input module
Incorrect logic inversion
Troubleshooting PLC Outputs
When an output is not working, follow the command path.
Output Troubleshooting Path
PLC logic
↓
Internal command bit
↓
Physical output tag
↓
Output LED
↓
Output module terminal
↓
Field voltage
↓
Fuse / relay / terminal block
↓
Output device
Common Output Problems
Logic is false
Fault or interlock active
Output is overwritten later
PLC output LED OFF
No field power
Blown fuse
Bad relay
Bad solenoid coil
Bad contactor coil
Wrong voltage
Loose wire
Failed output point
Practical Technician Example
Problem
A solenoid valve does not energize.
Step-by-Step Check
1. Is the PLC command bit ON?
2. Is the physical output ON?
3. Is the output LED ON?
4. Is voltage present at the output terminal?
5. Is voltage present at the solenoid?
6. Is the solenoid common connected?
7. Is the coil the correct voltage?
8. Is the coil open or shorted?
9. Is the valve mechanically stuck?
10. Is an interlock preventing the command?
This approach is much better than just replacing parts.
Practical Technician Example 2
Problem
A photoeye detects a box, but the PLC does not see it.
Step-by-Step Check
1. Is the photoeye powered?
2. Is the photoeye aligned?
3. Does the sensor indicator turn ON?
4. Is the correct output wire connected?
5. Is 24 VDC reaching the PLC input terminal?
6. Is the input common connected?
7. Does the PLC input LED turn ON?
8. Is the program looking at the correct input tag?
9. Is the signal being inverted?
10. Is debounce/filtering affecting the signal?
This is how you troubleshoot from the field device to the program.
Inputs and Outputs in the PLC Scan Cycle
Inputs and outputs are directly connected to the PLC scan cycle.
During the scan:
1. PLC reads input status
2. PLC executes logic
3. PLC updates output status
4. Physical outputs change state
This means the PLC uses input status to decide output commands.
Example:
DI_Box_Present = ON
↓
PLC logic true
↓
DO_Conveyor_Stop = ON
Understanding I/O makes the scan cycle much easier to understand.
Automation Technician Notes
For technicians, the most important point is this:
A PLC input tells the controller what is happening. A PLC output tells the machine what to do.
When troubleshooting, never assume.
Verify:
Is the field device working?
Is the PLC seeing the input?
Is the logic using that input correctly?
Is the PLC commanding the output?
Is the output module switching?
Is field power available?
Is the load device working?
This separates guessing from real troubleshooting.
Key Terms
| Term | Meaning |
|---|---|
| Input | Signal coming into the PLC |
| Output | Signal sent from the PLC to control a device |
| Field Device | Physical device connected to the control system |
| Input Module | Module that receives input signals |
| Output Module | Module that controls output devices |
| Discrete Signal | ON/OFF signal |
| Analog Signal | Variable signal such as 4–20 mA or 0–10 V |
| Input Image | PLC memory area storing input status |
| Output Image | PLC memory area storing output status |
| Command | PLC instruction to activate something |
| Feedback | Signal proving something actually happened |
| DI | Digital Input |
| DO | Digital Output |
| AI | Analog Input |
| AO | Analog Output |
Final Thoughts
PLC inputs and outputs are the connection between the real world and the PLC program.
Inputs tell the PLC what is happening in the machine. Outputs allow the PLC to control devices such as motors, valves, lights, and alarms.
For an Automation Technician, understanding inputs and outputs is essential for troubleshooting. Many problems are not caused by the PLC program itself, but by field devices, wiring, power, fuses, relays, modules, or missing feedback.
Once you understand the full I/O path, PLC troubleshooting becomes much more logical and much more effective.