Sequential operations are an important aspect of industrial control and automation. An example is an industrial washing machine. We could describe the machine’s operation in terms of states using action verbs such as filling, washing, emptying, or rinsing. The state transitions are tied to a specific stimulus such as an operator keypress, tank full, or time delay complete.
Today, the Programmable Logic Controller (PLC) is often used to control these sequential tasks. It’s important to understand this old technology as the modern PLC implementations often use the same terminology as they abstract the physical device to the software.
Historically there were a few different ways to perform this type of control including the drum sequencer and relay-like ratcheting mechanism. There is a subtle but very important distinction between these two technologies. The difference is a question of time.
The drum sequencer, more appropriately called a cam timer, is driven by an electric motor. The drum rotates at a specific speed. In fact, many devices featured a synchronous AC motor so that the timing was controlled by the line frequency. As the drum rotates, switches are activated just like the notes plucked by the drum in a music box with the dancing ballerina. This mechanism worked especially well in consumer applications such as the washing machine. The motor would faithfully time each part of the wash cycle.
While the cam timer provides a mental starting point for PLC operations, the time aspect adds unnecessary confusion. In many cases, it is better to consider the ratcheting sequencer as shown in Figures 1, 2, and 3. Here, in the lower left, we can see what looks like the armature of a relay. As the coil is energized, the cam advances one position moving the common wipers to the next position in the ring of contacts. This particular mechanism operated as a 10-pole 24-position mechanically driven switch.
We could think of this device as a 10 x 24 Look-Up Table (LUT). With solder as our “programming” language, we can configure the outputs for each state with 10 outputs for each of the 24 states. This would be like adding a 1 or 0 to each cell in the table. With proper external circuitry and external time delay relays, we can control the state based on sensor inputs and time. Such a mechanism could easily control an industrial washing machine with perhaps a few unique cycles.
Figure 1: Picture of an antique 10-pole 24-position mechanical sequencer from the author’s collection.
The ratcheting cam featured in Figure 1 does not concern itself with time. For example, if we wanted to wait 1 minute between states we would need to add a Time-On (TON) timer to “count” the minute. When the TON count was complete it would activate the cam advancing to the next state.
The mechanism is linear. As a mechanical device, it must transition from state 1 to 2 to 3 and so on to state 24. Understand that it doesn’t need to stay in any given state for very long, but it must stop in each state long enough for the coil to relax allowing the ratchet pawl to advance to the next tooth. As an example, consider the Figure 1 programming with the pole closest to the camera. If the ratchet were to advance 2 positions (clockwise), it would enter a reset condition. If you look carefully, you can see that all the wires from that position forward are soldered together. The mechanism would operate like a relay powered via its own normally closed contacts causing it to rapidly vibrate. This causes the mechanism to rapidly advance all the way to the starting (idle) position.
Tech Tip: A true state machine featuring “current state” and “next state” variables allows state transitions from any state to any state – to skip or jump at will. This is very different than the cam or ratchet as they must transition in a single (clockwise) direction through all states.
There is another subtle but extremely important aspect we must consider.
In order to advance states, the coil must be deenergized and allowed time to return to the “normally open” position. This relaxed position allows the ratchet to move to the next tooth.
As you apply this mental model to the PLC environments, you will likely encounter challenges. These will certainly be associated with advancing to the next state after a given amount of time. Forgetting to relax the “coil” input wire will cause problems as the PLC software will remain locked in the current state.
More to follow on this topic as we look at a particular PLC implementation.
Figure 2: Ratchet teeth and contacts of the antique ratcheting cam sequencer.
Figure 3: Close up picture of the contacts, The Mechanism is in state 11