A PLC in RUN scans its program whenever power is on, so an ungated wash cycle starts the moment the processor comes up. Keep the processor in RUN, gate the sequence behind a start bit the panel writes, clear it with the first-scan bit, and run the timed steps in a drum sequencer. Pause is a process state you define per output, and Reset is the only path back to idle.
A keg washer with ten solenoid valves does not need the processor to leave RUN to behave. The scan starts the moment power lands and the processor is in RUN, and it runs whether or not anyone asked for a wash. That is the processor doing its job: RUN means the program is being solved, hundreds of times a second in a small program. The cycle starts at power-up because nothing in the program stands between power and the outputs. The fix is four pieces of logic: a start bit the panel writes, a drum sequencer for the timed steps, a first-scan clear so a stale start cannot survive a power cut, and a Reset that is the only path back to idle. Below are the symptoms, the logic, and a worked example with a 120-second cycle.
Why the machine runs with nobody at the panel
At power-up the processor initializes its hardware and, if it is in RUN, begins solving the program at once. One scan of a small ladder program takes a few milliseconds, so every output is re-decided on every scan. Two things follow from that. First, if a valve opens at power-up, some rung is true at power-up: either the sequence start has no operator request in series, or the request bit is already on when power returns. Second, the program's END rung is not a cycle end. The processor reaches END, wraps, and starts the next scan; that loop runs the whole time the processor is in RUN.
Changing the processor's mode is the wrong tool for this. The mode switch on the PLC governs panel communications and how the machine comes back after a restart, not whether a wash cycle is authorized.
Symptoms and what each points to
- The cycle starts the moment power lands. The start rung has no operator request in series, so the sequence enable is true at the first scan.
- The cycle restarts by itself after a power cut. The start bit or step pointer sits in a retentive register and powers up with the value it had. Keeping values alive through a power loss is a deliberate choice, the one you make for run-hour counters; a start request wants the opposite, a clean zero at power-up.
- The wash is finished but the panel still shows RUN. The button displays what it sent. Running and complete come from drum status bits in the PLC, wired to indicator lights.
- A pause leaves a valve half-open. Stopping the scan mid-step holds the outputs where they are, and no logic runs to manage the transition. A process pause lives in the logic, which names a state for every output.
Gate the start behind a panel request
Give the sequence its own internal start bit, set by the panel's Start button and cleared by the logic everywhere else. The drum enable rung is a normally open start contact in series with a normally closed stop contact, both driven by panel buttons that write bits to the PLC. The drum instruction itself is the software descendant of the motor-driven cam timer that sequenced machines before PLCs: it steps a defined group of outputs through timed steps, one at a time, and sets a completion bit at the end. For the step table, the walkthrough of configuring a PLC drum sequencer for a timed machine cycle shows the same arrangement you will enter.
Three pieces make the gate hold:
- First-scan clear. Most instruction sets provide a first-scan bit, on only during the first scan after the processor enters RUN. Use it to clear the start bit and park the drum at idle. A Start that was pressed when power failed now dies at power-up instead of resuming a wash.
- Idle condition. Let Start work only while the drum is idle and not complete. A second Start during an active or finished cycle does nothing.
- Reset as the only path back. The completion bit latches the Cycle Complete lamp until Reset clears the drum. Two fresh kegs then get a full cycle from step one, on a new Start request.
Pause is a process state with named outputs
Define pause per output before you write it. A leaking rinse valve wants its water off: the pause action de-energizes the valve outputs, holds the drum on its current step, and waits for the operator. Whether the step timer holds its count or restarts it is a behavior of the drum instruction itself, stated in its own documentation; try it once on the bench with the coil supply isolated before promising a clean resume.
One safety note: a logic pause is a process convenience, not a protective function. Where the machine's risk assessment calls for an emergency stop or an independent protective device, that device stays in the hardware, outside this logic.
Longer sequences and shared outputs
When the sequence grows to 35 steps with 10 valves and 2 pumps, do not stack a second drum below the first and let ladder placement pick the cycles. One drum keeps shared outputs in one place if its step count allows 35; if two drums are unavoidable, give each cycle a selection bit, make the selection bits mutually exclusive, and let only the selected drum command the shared outputs. Keep interlocks beside the sequence: a heating element in the cleaning reservoir runs only while a feedback contact confirms its reservoir pump is on, so the element never fires dry. And when ten 110 VAC coils drop together at a step boundary, the supply takes a hit; suppress the coils at the coil and check the grounding first, the same discipline that stops a PLC restarting when solenoid valves switch.
Example: a 10-valve washer that waits for Start
Say the wash is four timed steps on ten solenoid valves: CO2 purge 15 s, rinse 30 s, sanitize 45 s, final drain 30 s. Each delay is one row of the drum's step table, entered the way configuring drum sequencer steps with fixed delays lays out. Cycle time is the sum of the step delays: 15 + 30 + 45 + 30 = 120 s, two minutes per keg. Two kegs back to back is 240 s.
At power-up the first-scan bit clears the start bit and parks the drum at idle, so no valve moves. The operator presses Start; the panel writes the start bit; the normally open contact closes in series with the normally closed stop contact, and the drum opens the purge valve. Ten indicator lights on the panel show which of the ten valves is open at each step, and a numeric display bound to the drum's time register, DS1 in the washer's program, counts toward 120. Binding a register to a numeric readout is the same job as showing machine elapsed run time on an HMI display. At 120 s the completion bit sets, the complete lamp lights, and Start is dead until Reset. After Reset, a new Start runs the full 120 s again from step one.
If the current step and the count also need to be readable from across the wash bay, size a separate shop-floor status screen by viewing distance and mounting.
Checks before the valves get their coil supply
- With the coil supply off or the valve wiring isolated, power the PLC and put it in RUN. Nothing moves and no step shows.
- Press Start on the panel. The drum steps to step 1 and the purge valve light comes on.
- Kill power mid-rinse and restore it. The washer sits at idle, the start request is gone, and nothing runs until Start again.
- Let a cycle finish. The complete lamp lights and a second Start does nothing; press Reset, then Start, and a full 120 s cycle runs again.
- Watch the supply as all ten coils drop together at a step boundary. If the processor glitches or the panel display flickers, add coil suppression and re-check grounding before the next run.
The decision
Recommendation: keep the processor in RUN whenever the machine is powered and treat RUN as the processor's state, never as the wash cycle's. Gate the drum with a start bit the panel writes, put a normally closed stop contact in series with it, clear the start bit with the first-scan bit so every power-up lands at idle, and make Reset the only route to a new cycle. For minor leaks and stops, use a logic pause with a named state for every output, and keep the emergency stop and any required protective device in hardware. If the sequence outgrows one drum, split it deliberately with mutually exclusive selection bits.
Questions
What happens to the outputs when the processor leaves RUN?
The processor stops solving the program, so no rung is evaluated and no transition is managed. What the physical outputs then do depends on the model: many hold their last state until RUN returns, others go to their configured stopped state. Either way it is not a controlled sequence pause, which is why pause logic belongs in the program. Read the stopped-state behavior in the processor's own documentation before you rely on it.
Should the cycle resume by itself after a short power dip?
Only if you build that on purpose. With a first-scan clear, the machine waits at idle for a new Start, which is the safe default for a washer. If the process really needs to continue mid-cycle, keep the step pointer in a retentive register, skip the first-scan clear for that drum, and add checks that the keg and the fluid paths are in a safe state before any valve reopens. Write it deliberately, never by accident.
How do I run two different wash recipes from one Start button?
Give each recipe its own drum and its own selection bit, with the selection bits mutually exclusive so only the chosen drum can command the shared valves. The Start request then feeds whichever drum the selection bit enables, and Reset returns both to idle. Do not place one sequence below the other in the ladder and expect the placement alone to keep them apart.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.