Seven exam-style problems on the everyday motor-control patterns of PLC programming —
start/stop seal-in, two-hand safety, the classic 3-wire circuit, jog mode, mutual
forward/reverse interlocks with a stop delay, and a swap-on-the-fly two-motor sequence.
Always wire Stop buttons as NC for fail-safe behaviour, and watch for the seal-in pattern — these few ideas underpin every motor-control rung in the section.
Q1
Drill press with two-hand safety and a part-present sensor
Write a PLC program (with truth table) for a motor-control circuit with separate Start and
Stop push-buttons. The application is a simple drill press that may only run when a part
is present and the operator is pressing one of the two start switches with each hand. The
dual-switch arrangement ensures the operator’s hands are clear of the drill before it starts.
ShowHide worked solution
Inputs: S1 (left-hand start), S2 (right-hand start), PART (part-present sensor) and STOP (wired NC). Output: M (drill motor). The motor runs only while all three positive conditions are true at once.
Truth table — STOP assumed not pressed; M runs only on the all-ones row.
S1
S2
PART
M
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
M = S1 · S2 · PART · (¬STOP)
Ladder program
|---[/STOP]---[ S1 ]---[ S2 ]---[ PART ]----------( M )---|
Single rung — four series contacts and no seal-in, so the motor stops the instant any required signal is lost.
Final AnswerM = S1 · S2 · PART · (¬STOP). One rung, four contacts in series, no seal-in — operator must hold both buttons throughout drilling.
Q2
Two Start buttons and two Stop buttons with seal-in
Write a PLC program for a motor with two Start buttons and two Stop buttons. The motor
runs whenever any Start is pressed and continues via the seal-in once that button is
released; pressing either Stop stops it. Also produce the equivalent logic-gate representation.
ShowHide worked solution
The two NC Stops sit in series; the two NO Starts together with the motor’s own seal contact form a parallel block. The whole network drives the coil M.
An OR gate combines START1, START2 and the seal-in M; its output is AND-ed with the inverted STOP1 and STOP2 signals (two series NC contacts = an AND of NOTs). The single AND output drives the motor coil.
Final AnswerM = (¬STOP1)(¬STOP2)(START1 + START2 + M). One rung with two NC Stops in series, then a parallel block of two NO Starts plus the seal contact M.
Q3
Restart only after pressing Go twice
A motor is governed by two switches: a Go switch starts it and a Stop switch stops it.
After the Stop switch has been used, the Go switch must be operated twice in order to
restart the motor. While the motor is energised, an indicator light must be ON. The Stop
switch is wired as Normally Closed.
ShowHide worked solution
A counter C1 with preset 2 counts presses of GO. The motor energises only when C1 is done (two presses accumulated) and Stop is not pressed; pressing Stop resets the counter so the next start again needs two presses.
Ladder program
Rung 1: |---[ GO ]------------------(CTU C1, PRE = 2)---|
Rung 2: |---[/STOP]---[ C1.DN ]---+--------( M )---|
| |
|---[ M ]--------------+
Rung 3: |---[ STOP_pressed ]------(RES C1)----------|
Rung 4: |---[ M ]------------------( LAMP )-----|
Counter counts GO presses; motor latches when the counter is done; STOP resets both the seal and the counter.
Final AnswerA CTU with preset 2 counts GO presses; the motor latches when C1.DN goes true. STOP breaks the seal and resets the counter, so any restart again needs two Go presses.
Q4
Continuous-run and jog modes on one motor
Design a PLC program for a motor with two operating modes — continuous run and jog (jog
runs only while the button is held). Start gives continuous run; Jog runs only while held;
Stop kills both. Once Start has been pressed, further presses of Start or Jog must have no
further effect until the motor has been stopped.
ShowHide worked solution
Two internal modes meet at one physical motor coil. M_RUN latches via Start (the seal-in pattern). M_JOG is momentary — true only while JOG is held — and is interlocked against M_RUN so it has no effect once continuous mode is active. The physical coil M is the OR of the two modes.
Ladder program
Rung 1 — continuous run (seal-in):
|---[/STOP]---[ START ]---+-------( M_RUN )---|
| |
|---[ M_RUN ]-------------+
Rung 2 — jog (momentary, interlocked off when continuous):
|---[/STOP]---[/M_RUN]---[ JOG ]-------( M_JOG )---|
Rung 3 — combine into the physical motor coil:
|---[ M_RUN ]----+--------( M )------|
| |
|---[ M_JOG ]----+
Final AnswerTwo parallel modes — M_RUN latched by Start, M_JOG momentary on Jog — merged through OR into the physical motor coil. JOG is interlocked off when M_RUN is true.
Q5
Forward / Reverse motor with mutual interlock and 1-second lockout
Design a ladder program for Forward/Reverse motor control. Forward starts forward; Reverse
starts reverse; Stop stops the motor. While Forward is active, Reverse must have no
effect, and vice-versa. The motor must be stopped before it can be started in the opposite
direction, and there must be a 1-second delay between a Stop event and any subsequent
operation.
ShowHide worked solution
Each direction is its own seal-in rung. The two rungs are mutually interlocked with an NC contact of the other direction’s coil, so only one direction can ever be active. A one-second TON triggered by Stop blocks any restart until the timer is done.
Ladder program
Rung 1 — 1-second lockout timer, started on each Stop:
|---[ STOP_pressed ]----(TON T1, PRE = 1.0 s)---|
Rung 2 — Forward (interlocked against R, gated by T1.DN):
|---[/STOP]---[/R]---[ T1.DN ]---[ FWD ]---+----( F )---|
| |
|---[ F ]----------------------------------+
Rung 3 — Reverse (interlocked against F, gated by T1.DN):
|---[/STOP]---[/F]---[ T1.DN ]---[ REV ]---+----( R )---|
| |
|---[ R ]----------------------------------+
[/R] in the forward rung and [/F] in the reverse rung enforce mutual exclusion; T1.DN adds the 1-second post-stop delay.
Final AnswerTwo seal-in rungs for F and R, each with a mutual NC interlock and an enable-after-1-second timer. Stop kills both and starts the 1-second lockout.
Q6
Two motors in a 5-second swap sequence
Write a PLC program that drives two motors with an interlock, running sequentially for a
fixed time each. Pressing Start runs Motor 1 for 5 seconds, then Motor 2 for 5 seconds,
repeating the cycle. While the sequence is running, if one motor is active and the
opposite button is pressed, the running motor stops and the other takes over. Include the
master Start-input section.
ShowHide worked solution
A master RUN bit latches on Start. Two cascading 5-second TONs drive the alternation: T1 runs while M1 is active, T2 runs after T1.DN. Each motor rung carries a mutual NC interlock against the other and listens for the swap button so the user can force a hand-over.
Ladder program
Rung 1 — master seal:
|---[/STOP]---[ START ]---+----( RUN )---|
| |
|---[ RUN ]---------------+
Rung 2 — 5-second timer for M1:
|---[ RUN ]---[/T2.DN]----(TON T1, PRE = 5 s)---|
Rung 3 — 5-second timer for M2:
|---[ T1.DN ]----(TON T2, PRE = 5 s)----|
Rung 4 — M1 active (or forced on by B1):
|---[ RUN ]---[/T1.DN]---[/B2]---+----( M1 )---|
| |
|---[ B1 ]-----------------------+
Rung 5 — M2 active (or forced on by B2):
|---[ RUN ]---[ T1.DN ]---[/T2.DN]---[/B1]---+----( M2 )---|
| |
|---[ B2 ]-----------------------------------+
Rung 6 — cycle reset:
|---[ T2.DN ]----(RES T1)----|
|---[ T2.DN ]----(RES T2)----|
Final AnswerMaster RUN latch + two 5-second TON timers + two motor rungs with mutual interlocks and the swap-button paths. T2.DN resets both timers to repeat the cycle.
Q7
The classic three-wire start–stop seal-in
Write the relay/PLC code for starting and stopping a motor using momentary push-button
contacts (either NO or NC) for both the Start (S) and Stop (R) switches, energising the
motor contactor through a relay via either a CR1 or a CR2 contact. Once the motor is
running, further presses of the Start button must have no effect — only the Stop button
may stop the motor.
ShowHide worked solution
This is the classic 3-wire seal-in circuit — the foundation of motor control.
M = (¬R) · (S + M)
Ladder program
|---[/R]---+----[ S ]----+--------( M )---|
| | |
| +----[ M ]----+ ← seal via auxiliary CR contact
Once the coil M energises, the parallel CR contact keeps the rung true regardless of further presses of S. Pressing S again just keeps the rung true — no state change. Only opening R breaks the rung. Crucially, the Stop button must be wired NC (or the NO terminal of a held-down switch) so a broken wire stops the motor — this is the fail-safe principle.
Final AnswerClassic 3-wire seal-in: an NC Stop in series with the parallel of NO Start and the motor’s own auxiliary contact M; the pair drives coil M. Once latched, further Start presses are ineffective.