25 Common PLC Programming Interview Questions (With Answers)
25 Common PLC Programming Interview Questions (With Answers)
PLC programming interviews vary widely — from a quick "tell me about a project" conversation to a 90-minute technical screen with live coding. But most interviewers draw from the same pool of fundamentals.
The 25 questions below cover the topics that come up most often: scan cycle, ladder logic basics, timers, counters, PID, safety, troubleshooting, and communication protocols. Each answer is written to give you the technical depth interviewers expect — not just a definition, but context that shows you have used the concept in a real program.

Almost every PLC interview draws from the same handful of topic areas. Knowing where the questions come from helps you target your prep.
How deep an interviewer goes usually tracks the seniority of the role.
Fundamentals
1. What is a PLC and what problem does it solve?
A PLC (Programmable Logic Controller) is a ruggedised industrial computer that replaces relay panels and hardwired logic with a programmable control program. It solves the problem of maintaining and modifying complex sequencing and interlock logic: instead of rewiring a relay cabinet every time the process changes, you update software. PLCs also provide deterministic execution timing, industrial environmental ratings, and integration with SCADA and HMI systems.
2. Describe the PLC scan cycle.
The scan cycle has three main phases:
- Input scan — all input states are read into the Process Image Input Table.
- Program execution — the CPU evaluates each rung/instruction top to bottom, writing results to the Process Image Output Table.
- Output scan — the output image table is written to the physical output terminals.
A fourth phase, housekeeping, handles communications and diagnostics. The complete cycle repeats continuously — typically every 1–20 ms on a mid-range PLC.
See also: The PLC Scan Cycle Explained
3. What is a normally-open vs a normally-closed contact?
A normally-open (NO) contact passes logic (evaluates TRUE) when its associated bit is 1. A normally-closed (NC) contact passes logic when its associated bit is 0 — it conducts when the signal is absent.
NC contacts are used for stop buttons and safety devices because a broken wire or de-energised safety relay reads as 0, which opens the NC contact and prevents the hazardous output — fail-safe behaviour.
4. What is a coil in ladder logic?
A coil is the output element on the right side of a rung. When the rung conditions are true, the coil bit is set to 1. When the rung is false, the coil is set to 0. Special coil types include latch (set), unlatch (reset), and one-shot (pulse for one scan only).
5. Explain the difference between OTL/OTU (latch/unlatch) and a standard coil.
A standard output coil (OTE in AB, ( ) in IEC) reflects the current rung state every scan — if the rung is false, the bit is 0. An OTL (latch) coil sets the bit and it stays set even if the rung goes false. It retains its state until explicitly cleared by an OTU (unlatch) coil. This is useful for step sequencers and alarms that must be acknowledged, but should be used carefully on safety-critical outputs since a loss of power can leave a retentive bit set on restart.
Timers and Counters
6. What is a TON timer and how does it work?
TON (Timer On-Delay) starts timing when its enable input goes TRUE. After the preset time (PT) elapses, the done output (Q) goes TRUE. If the enable drops before PT, the timer resets. Key parameters: IN (enable), PT (preset), Q (done), ET (elapsed time).
Use it when something must happen after a delay — e.g., a motor run-time confirmation alarm after 5 seconds of no feedback.
7. What is a TOF timer? When would you use it over TON?
TOF (Timer Off-Delay) — the output Q is TRUE when the enable is TRUE. When the enable drops to FALSE, the timer starts, and Q stays TRUE for the preset duration before dropping. Use it for post-run actions: a motor cooling fan that stays on for 30 seconds after the motor stops.
8. What is a TP timer?
TP (Timer Pulse) generates a fixed-width pulse on Q for exactly PT time after a rising edge on the enable input, regardless of how long the input stays active. Use it to generate a consistent timed output from an uncontrolled input.
9. What does the CTU counter do?
CTU (Count Up) increments its accumulated value CV by 1 on each rising edge of the count input CU. When CV >= PV (preset value), the output Q goes TRUE. A reset input R clears CV to 0. Use it to count parts, cycles, or events.
10. How do you reset a timer that has timed out?
For TON: remove the enable input (set it to FALSE for at least one scan). The timer resets immediately when the enable drops. For CTU: apply a TRUE to the reset input R. On AB platforms, the reset instruction (RES) is applied to the timer or counter tag.
Ladder Logic and Program Structure
11. What is a seal-in rung? Draw one in pseudocode.
A seal-in rung keeps an output latched after a momentary start signal is released:
|--[Start]--+--[/Stop]--[/Fault]--( Motor )--|
|
+--[Motor]--+
Once Motor energises, its own NO contact in the parallel branch maintains the rung even when Start opens. Stop or Fault breaks all paths and de-energises the motor.
More detail: Seal-In Rungs in Ladder Logic: The Complete Guide
12. What is the difference between a contact and a coil?
A contact is an input condition — it reads a bit and determines whether logic flows. A coil is an output action — it writes a bit. In a sentence: contacts on the left side of a rung determine whether the coil on the right side is energised.
13. What happens if two rungs write to the same output bit?
The last rung to execute in the scan wins. If rung 10 sets Output1 := TRUE and rung 50 sets Output1 := FALSE, the output will be FALSE after the scan completes, regardless of what rung 10 wrote. This is called a double-write and is a common source of bugs. Avoid it by consolidating all logic that controls a single output into one rung or one structured text block.
14. What is a one-shot instruction (OSR / R_TRIG)?
A one-shot rising-edge instruction outputs TRUE for exactly one scan when its input transitions from FALSE to TRUE. It is used to trigger an action that must happen only once per button press, rather than every scan the button is held. IEC equivalent: R_TRIG function block. AB: ONS or OSR instruction.
PID and Analogue Control
15. What is a PID controller in a PLC context?
A PID (Proportional-Integral-Derivative) controller is a closed-loop control algorithm that drives a process variable (temperature, pressure, level, flow) toward a setpoint by computing an output (heater power, valve position) based on:
- P (Proportional): output proportional to current error.
- I (Integral): output proportional to accumulated error over time (removes steady-state offset).
- D (Derivative): output proportional to rate of error change (dampens overshoot).
See PID Control for PLCs: Practical Tuning Guide
16. What is the difference between a velocity (incremental) PID and a positional PID?
A positional PID computes the absolute output value directly. An incremental (velocity) PID computes the change in output to apply each sample. Incremental is safer on actuators like control valves because power-cycle or manual override does not cause a sudden jump to a calculated absolute value — the output stays at its last position until the PID pushes it.
17. What does analogue scaling mean?
A physical 4–20 mA input representing 0–100°C is read by the PLC as a raw integer (e.g., 0–32767 on a 15-bit input). Scaling converts that raw value to engineering units: Temperature = (RawValue / 32767) * 100.0. Always scale before using analogue values in control logic — the raw count is meaningless to a PID setpoint of 75°C.
Safety and Reliability
18. What is the difference between fail-safe and fail-secure?
- Fail-safe — on fault, the system moves to a state that is safest for people and equipment. For most machines, that means de-energising outputs (stopping motion, closing valves).
- Fail-secure — on fault, the system maintains physical security (a door stays locked). This may mean the output stays energised on fault.
The appropriate behaviour depends on the hazard. A lift motor is fail-safe (stops on fault). An electronic lock on a pharmaceutical isolator may be fail-secure.
19. Why is a hardwired E-stop needed even if the PLC has an E-stop input?
A software E-stop can only work if the PLC is running normally. If the PLC faults, goes into a communication error state, or loses power, a software-only E-stop may not de-energise the hazardous output. A hardwired E-stop is wired in series with the safety relay power circuit — it physically cuts power to dangerous outputs regardless of PLC state. The PLC E-stop input is used for alarm logging and restart interlocking, not for the primary safety function.
20. What is a safety relay and how does it differ from a standard relay?
A safety relay is a certified component (IEC 62061, EN ISO 13849-1) with internal redundancy — two monitoring channels, positive-guided contacts, and self-checking logic. It is designed so that a single component failure (stuck contact, short circuit) does not prevent the relay from opening and removing power from the hazardous output. Standard relays have none of this redundancy.
Communication and Integration
21. What is Modbus and how is it used with PLCs?
Modbus is a serial communication protocol published in 1979 and still widely used. Modbus RTU runs over RS-485 or RS-232. Modbus TCP runs over Ethernet. A PLC acts as a Modbus master (client) to read registers from slave (server) devices — VFDs, sensors, meters, remote I/O. Registers: coils (bits, writable), discrete inputs (bits, read-only), holding registers (16-bit words, writable), input registers (16-bit words, read-only).
22. What is EtherNet/IP and how does it differ from standard TCP/IP?
EtherNet/IP (Ethernet Industrial Protocol) runs over standard TCP/IP and UDP/IP infrastructure but adds the CIP (Common Industrial Protocol) application layer. It supports implicit (cyclic I/O data, UDP) and explicit (message-based, TCP) connections. Allen-Bradley uses EtherNet/IP natively. It differs from standard TCP/IP in that it defines industrial device profiles, real-time I/O exchange semantics, and a device identity model — Ethernet is just the physical/transport layer.
Troubleshooting
23. A motor is not starting. Walk through your troubleshooting process.
- Check the output status — is the PLC output bit TRUE? If not, the problem is in the program logic.
- If the bit is TRUE but motor does not run — check the output module LED, the wiring to the motor starter contactor, the contactor coil voltage, the power supply to the motor circuit, and the overload relay status.
- If the bit is FALSE — go online and check which rung controls the motor output. Find which contact in the rung is false that should be true. Trace back to the sensor or permissive that is preventing the rung from going true.
- Check the fault table — any active PLC faults? I/O module faults? Watchdog trips?
- Check the program for double-writes — is another rung unconditionally resetting the bit?
24. What does the watchdog timer do?
The watchdog timer is a hardware countdown that the PLC firmware resets at the end of every successful scan. If the CPU does not reset the timer — because the scan has gone on too long or the CPU has faulted — the watchdog trips and forces all outputs to a safe state (typically de-energised). It is the last line of defence against a runaway program leaving a motor running or a valve open indefinitely.
25. What is a logic force and why is it dangerous?
A logic force overrides a physical I/O point or memory bit to a value you specify, ignoring the actual hardware state. It is used for testing and troubleshooting (force a sensor to TRUE without triggering the physical device). It is dangerous because:
- Forces do not announce themselves in normal operation — a technician running the machine may not know a force is active.
- Forgetting to remove a force can mask a real hardware fault.
- Forcing safety inputs can defeat safety interlocks.
Always use the PLC's force table to document active forces and clear them before leaving the machine.
Practice Before Your Interview
The best preparation for a PLC interview is writing real programs and being able to explain what each rung does and why. Use this preparation flow to build up from the fundamentals to a project story you can walk through on the day.
When you do answer a question, structure it so you show depth, not just a memorised definition.
The difference between a strong answer and a weak one is usually context — an example, a dialect, and a pitfall.
Work through the interview prep tracks in the PLC Simulator's interview prep section — they include live coding exercises, timed rounds, and Q&A sets that mirror real interview formats.
For more on career paths, read How to Become a PLC Programmer: A Self-Teaching Roadmap.
Practice this yourself in the simulator — 3 scenarios free. No install. No credit card. Write real ladder logic against a live machine model in your browser.