Using One SLC Timer Value to Set Another Timer
Transfer one SLC timer value into another preset without creating a moving target. This guide covers time bases, one-shot capture, limits, TON/RTO behavior, HMI approval, and boundary testing.
Copying one SLC timer value into another timer is valid ladder logic, but the transfer is only useful when the program defines units, capture timing, limits, restart behavior, and operator authority. A MOV from one accumulator to another preset can otherwise turn a simple teach function into a changing setpoint that is difficult to diagnose.
A timer handoff should capture one approved measurement, validate it, and publish a stable preset with documented units.
Know what the timer words represent
An SLC timer element contains status information, a preset value, and an accumulated value. The accumulator is a count interpreted through the instruction’s time base; it is not automatically milliseconds or seconds in every application. Two timers that display the same numeric value can represent different durations when their configured time bases differ.
The official SLC 500 Instruction Set Reference Manual documents timer status bits, preset and accumulator behavior, supported time bases, and instruction-specific reset rules. Use that processor reference rather than assuming that a Logix 5000 timer behaves identically.
Define the transfer contract
State why the source value is being captured. Common purposes include learning a conveyor travel time, measuring a valve stroke, recording an operator-approved dwell, or passing a duration between sequence phases. Then define the event that makes the value authoritative. A one-shot after a successful teach cycle is usually clearer than a MOV that executes continuously.
Writing the destination preset every scan can move the completion threshold while the destination timer is active. If the new preset falls below the current accumulator, the done state can change immediately. If the source continues to count, the destination may chase a target that never becomes stable. Continuous tracking should therefore be an explicit design choice, not an accidental consequence of an always-true rung.
Convert units before writing the preset
When time bases match, the source accumulator can be range-checked and moved to the destination preset. When they differ, convert through a documented intermediate value. Perform the arithmetic in a data type that can hold the intermediate result, account for rounding, and verify that the final preset remains within the timer’s legal range.
Keep the engineering unit visible in symbols and HMI text. Names such as Learned_Dwell_10ms_Counts are easier to maintain than TimerValue. If a human enters seconds while the PLC stores hundredths of a second, the conversion belongs in one reviewed routine rather than in several display objects.
Use an intermediate value for governance
A practical pattern captures the source accumulator into an integer on a one-shot, validates minimum and maximum limits, and only then transfers the approved value to the destination preset. Separate status bits should indicate capture complete, value valid, value rejected, and preset applied. This structure preserves the measured value for troubleshooting even if the destination timer later resets.
Do not copy the entire timer element merely to move a duration. The control word contains instruction state as well as timing information. Moving only the intended numeric member avoids importing enable, timing, or done-state relationships that belong to the source instruction.
Account for TON and RTO behavior
A non-retentive TON resets its accumulator when its rung becomes false. A retentive RTO preserves accumulated time until a RES instruction acts on it. The capture event must occur before a non-retentive source resets, and the program must define whether a retained taught value survives a processor restart, download, recipe change, or maintenance reset.
Do not confuse timer retention with configuration retention. A retained accumulator can still be overwritten by initialization logic or an HMI write. If the learned duration is a production parameter, store it under the same access, audit, and default-value rules used for recipes. If it is only a temporary measurement, clear its valid bit when the machine state no longer supports it.
Protect the process from bad measurements
Reject zero unless zero is a deliberate operating value. Set engineering minimum and maximum durations from actual machine limits, not from the largest number the timer accepts. A short value can command motion before a mechanism settles; an excessive value can hide a jam or prolong heating, filling, or pressure application.
Capture only after the source cycle completes normally. Abort the teach if an emergency stop, guard opening, drive fault, sensor disagreement, communication loss, or manual intervention occurred. A measured time from a degraded cycle should not silently become the next production setpoint.
Design the HMI interaction
Show the measured value, proposed preset, unit, valid range, and current approved preset separately. Require an intentional acceptance action from an authorized role. The PLC should perform the range check and own the final write; the HMI should not bypass validation by writing directly to the timer preset.
Provide a known default and a way to restore it. Log the previous value or preserve it in a backup register so a mistaken teach can be reversed. These controls turn a hidden MOV instruction into a commissioning function that operators and maintenance staff can understand.
Commission boundary cases
Test minimum, nominal, and maximum source durations. Interrupt the sequence immediately before capture, during validation, after acceptance, and while the destination timer is active. Test a source reset, a destination reset, a processor mode change, and a power cycle when retention matters. Confirm that invalid values alarm without changing the active preset.
Trend the source accumulator, captured integer, destination preset, destination accumulator, and done bit. This reveals unit errors and scan-order effects that are hard to see from a static ladder view. Record the accepted range and test evidence with the machine backup.
Keep the legacy design maintainable
The same governance applies whether the value is moved between two timers or stored in a recipe. Controls teams maintaining these applications can pair this design with the SLC communications guide and manage replacement hardware through the Allen-Bradley collection.
Our editorial view is that a learned timer value is a process setpoint, not a programming shortcut. A defined capture event, explicit units, PLC-side limits, controlled acceptance, and boundary testing provide more value than a clever one-rung MOV.