TON and TOF Differences

Introduction of TON and TOF Differences

There are several TON and TOF Differences that you need to be aware of. In summary, the TON delays the DN bit from turning ON. The TOF Instruction delays the DN Bit from shutting off.

The TON Instruction

By far, the TON instruction is probably the most widely used instruction. It is also the easiest to understand. As an illustration, here is what the TON Instruction looks like in ladder logic.

When the rung goes true, the timer will start timing. As can be seen, the accumulated value is increasing.

Once the accumulated value reaches the preset, the timer is done. The DN (Done) bit goes true, and the light will energize.

When you shut off the switch, the timer effectively resets. The DN bit shuts off, and the light will shut off.

Practical uses for the TON instruction include alarm delays. For example, we need to prove an alarm condition is true for a certain amount of time before generating an actual alarm. This would eliminate many nuisance alarms. Another example is a conveyor system. Maybe you need to blow an alarm for a few seconds before the conveyor actually starts.

The TOF instruction

By comparison, TOF instruction works much differently. When the TOF instruction goes true, the DN (Done) bit goes true instantly. After the TOF goes false, the DN bit shuts off later.

Let’s take a look at a TOF instruction in logic. In this example, we have a Main Motor and a Blower Motor. When the Main Motor is running, we need the Blower Motor to run also. When the Main Motor shuts off, the Blower Motor will shut off 10 seconds later.

To begin, if the MotorStart bit is false, neither the MainMotor, nor the BlowerMotor are energized.

Once the MotorStart bit goes true, notice the timer does not start to time. The MainMotor and BlowerMotor goes true. Notice that both the Enable (EN) and Done (DN) bits are both true.

Next, we will shut off the MotorStart bit. The timer begins to run. As you can see, the Enable bit drops out immediately. Therefore the Main Motor stops. The DN is still true. The Blower is still running!

Once the timer reaches 10 seconds (10,000 ms), the DN bit shuts off. Therefore, the blower stops.

You can use a RES (reset) instruction for the TON. However, it is bad programming practice to use a RES on a TOF. This is confusing, and can lead to unpredictable operation.

Other practical examples of TOF usage include a conveyor system. You may want to run product off of a conveyor before shutting it down. In a blower system, you might blow a line clear before shutting off a blower. Another example is for a post lube system that continues to run once you shut off your equipment.


Use the TON when you need to delay an event from starting. Use the TOF when you want to delay an event from stopping. Always create a new tag for each timer used in logic. It’s also important to remember the preset values are entered in Milliseconds. If you need 5 minutes on a timer, your preset will be 300000.

Visit the ControlLogix timers post for more detailed information on using timers!

— Ricky Bryce

Leave a comment

Your email address will not be published. Required fields are marked *

− one = one