A one shot, or “differential”, is used to cultivate a signal that is precisely one scan in duration. As shown in the diagram above, when a signal is applied to a contact (a Pushbutton in the diagram above), no matter how long the signal stays on, a pulse of one scan length is generated after the one shot.
Different PLC manufacturers use different names and symbols for one shots, but they mostly all operate in the same manner. A one shot can be generated from the rising or falling edge of the signal. One Shot Rising (OSR), Positive Differential (PD) and Differential Up (DIFU) are some of the names given to rising edge signals, while One Shot Falling (OSF), Negative Differential (N) and Differential Down (DIFD) are the equivalent falling edge terms.
One shots placed in the middle of rungs as input instructions need a bit address, and it is important that every one shot has a different address. There was one program where all the one shots were given the same address, and surprisingly it mostly worked. But, when it didn’t, the results were variable.
In the diagram below, one can see what one shots are used for:
When the ON Pushbutton is held down, the device will still be turned off. This is important in some motor or actuator safety circuits to ensure that a device is initialized to the de-energized state.
Another example is shown in the diagram below:
This is called an Accumulator rung. It adds whatever is in “Word 6”, (a memory location) to the number one and puts the result back in itself. The problem with this rung is that it doesn’t count what you want it to count, which is activations of the count signal.
This of course is what the rung should look like if you want to count the number of signals (or pushbutton presses).
A few things to note about the accumulator: you can count by numbers other than one, such as ten. You can subtract as well as add. There are other features that make this a useful tool; the accumulator is one of the basic circuits which should be in every programmer’s toolkit.