Chapter 2
Logic Execution
Timer Execution
PLC/SLC Controller
In a PLC/SLC controller, the timers stores 8 bits at 10 ms/bit. This lets 2.56 seconds (2**8 /
100) of padding before a timer overlaps.
If program execution skips timers, it appears as if the timers pause. Actually, the timers
are overrunning themselves. Depending on when the timer logic next executes, the lost
time varies ranges from 0...2.56 seconds.
38
Timers in the PLC, SLC, and Logix5000 controllers all store off a portion of the
real-time clock each time they are scanned. The next time through, they compare
this stored value against the current clock and then adjust the ACC value by
the difference.
Logix5000 Controller
A Logix5000 controller uses native 32-bit data, so there is more space to store the time.
The timer stores 22 bits at 1 ms/bit, which equates to 69.905 minutes (2**22 / 1000 ms
per second / 60 seconds per minute).
If program execution skips timers, it takes longer than in PLC/SLC controllers to overrun
the timers. This results in a larger jump in lapsed time when the timer code next executes.
Program execution can skip executing timers due to the following:
• Subroutine not being called
• Jumping over code
• SFC action
• Inactive SFC step
• Event or periodic task not executing
• Equipment phase state routines
SFC Step Timer Execution
An SFC step timer stores the clock time each time the step executes. On
subsequent scans of the step, the controller compares the current clock time with
the last scan and updates the step timer's ACC by the difference.
When you pause an SFC and then release the SFC, the step timer jumps forward
by the duration of the pause. If you want a step timer to remain at its position
during a pause:
• Latch a recovery bit when the chart pause is released.
• Add an action to the step to store the step timer's .ACC value and restore
that value when the pause recovery bit is set.
Rockwell Automation Publication 1756-RM094I-EN-P - September 2015