Show an HMI timer counting from a PLC current value

6 min read · Published November 5, 2026

An HMI can show a PLC timer counting because the timer instruction keeps a live current value that rises while the rung is enabled. Link the numeric display to that register for elapsed time. A countdown needs preset minus current in the timer's configured time base; changing the display's number format cannot produce it.

A PLC timer counts inside the controller, and the HMI screen only reads what the controller exposes. When a timer will not count on screen, the fault is almost always in the link, not in the timing logic: point the numeric display at the timer's live current-value register and it counts up the whole time the rung is enabled. A countdown needs one more value, computed as preset minus current in the timer's configured time base. Changing the display's format, label or decimal places cannot do that job, because the preset never moves while the timer runs. This article sets out both links, the subtraction, and the checks that prove which value the screen is reading.

What each wrong display points to

Read the screen before touching the PLC. Four symptoms cover nearly every case, and each points at one cause.

  • A steady number equal to the target. The object is linked to the preset. The preset is the duration the timer is timing toward; it holds still for the whole cycle, so a preset link shows no progress at all.
  • It counts up when the operator needs a countdown. The link is already on the current value. Add the subtraction described below and leave the timer rung alone.
  • The number runs far too fast for its label. The screen is showing raw counts. Compact PLC timers count in a fixed base unit, often 0.01 s, so a seconds label needs the configured time base from the timer instruction before it is honest.
  • Frozen at zero or stuck at an old number. The object points at the wrong timer number or another register, or the enable rung never went ON. Check the timer number first and the address second.

Formatting still matters for labels and decimal points once the right value flows; the details live in how to format a PLC timer duration display.

The timer instruction set in the controller's manual documents the two facts the screen needs. An on-delay timer starts on the OFF-to-ON transition of its enable rung and increases its current value from that moment. A status bit turns ON when the current value reaches the preset. Nothing else about the rung matters to the display.

On the compact PLC family this case comes from, the naming is simple: the current value of timer 5 is the item written TD5, and timer 12 is TD12. The live value carries the timer's own number.

  1. Find the timer number in the rung that drives it.
  2. In the numeric display object's PLC connection, set the item to that timer's current-value item, TD plus the same number.
  3. Reserve the preset for a separate numeric input object that sets the target. The preset is a setting, never a progress value.
  4. Read the configured time base from the timer instruction before labeling the screen in seconds.

A link one number off produces a value that looks plausible and is wrong, so keep the timer number identical in the rung and on the screen.

Compute remaining time as preset minus current

Remaining = Preset - Current, in counts. Use both values from the same timer, in the same configured unit. The preset of a different timer, or a constant typed into the object, gives a number that falls but means nothing. If the HMI objects cannot do arithmetic, compute the subtraction in the PLC and expose the result as a data register the screen reads like any other value.

Presets are edited from the screen on many jobs, through a numeric input object that writes the preset register. Compute remaining from that live register, so an edit to the target reaches the countdown at its next update. If a preset written from the screen misbehaves after the download, that is a separate fault, covered in fix an HMI timer preset that resets to zero in the PLC.

Recommendation: Link the numeric display straight to the timer's current-value item for an elapsed readout. For a countdown, add one PLC register that holds Preset minus Current in the timer's configured counts and point the screen at that register whenever the HMI objects cannot do the subtraction themselves. Keep the preset on an input object reserved for setting the target, on any compact PLC and HMI pairing.

Example: a 90.00 s cycle timer shown as seconds remaining

Inputs, and where each comes from:

  • Preset 90.00 s, set by the operator through a numeric input object; a typical value for one cycle of a packaging or assembly step.
  • Time base 0.01 s per count, the timer's configured unit in this example, read from the timer instruction.
  • Current value 3,450 counts, one live reading taken off the current-value item partway into the cycle.

The rule in words: elapsed counts come from the current-value item, remaining counts are preset counts minus current counts, and seconds are counts multiplied by the time base.

The arithmetic:

  • Preset in counts: 90.00 s ÷ 0.01 s per count = 9,000 counts.
  • Elapsed at the reading: 3,450 counts × 0.01 s per count = 34.50 s.
  • Remaining in counts: 9,000 - 3,450 = 5,550 counts.
  • Remaining in seconds: 5,550 counts × 0.01 s per count = 55.50 s.

Result: a display linked to the preset sits at a flat 9,000 counts, reading 90.00 s for the whole cycle. A display on the current-value item rises from 0 to 9,000 counts as the cycle runs. The subtraction register falls from 9,000 to 0 and reads 5,550 counts, shown as 55.50 s remaining, at the moment the current value reads 3,450.

Decision: if the screen holds 9,000 counts while the cycle runs, the link is on the preset; move it to the current-value item for elapsed time, or keep the screen where it is and add the subtraction for a countdown. At this time base a healthy countdown falls 100 counts per second. A display that holds flat, or drops by the whole preset at once, is reading the wrong item.

Check it on a live cycle

Check Expected If it fails
Current-value item during a normal cycle Rises from 0 toward the preset while the enable rung is ON The fault is in the rung or the timer number, not the screen
Screen against the PLC value at two points in the cycle Matches at both points, as 34.50 s does in the example The object points at a different timer or register; correct the item
Remaining-time register against current value Falls by exactly what the current value rises, while the preset holds The subtraction uses another preset or mixed units; check both operands
Timer done state Current value equals preset, remaining reads 0, status bit ON Confirm the comparison, then the label and time base on the screen

Run these checks during a normal production cycle and watch the numbers from outside the guarded area; never force a machine to run just to test a screen.

Where a signage screen fits

This link and subtraction are HMI work, and the panel doing it is an operator interface. If the cell also needs a screen that tells the crew today's run plan or posts shift notices, that is a separate sign with its own content, and we build those. The choice between the two jobs is laid out in factory status display or operator HMI, and shop-floor screen options sit under our shop-floor screens.

Questions

Why does the countdown show the full time before the cycle starts?

With the timer reset, the current value is 0, so preset minus current equals the full preset, and on the 90.00 s example the screen shows 90.00 s before the cycle starts. The arithmetic is correct at idle; the number reads as time available. If operators should see a blank or 0 before the cycle starts, gate the display in the PLC on the timer's run or done status.

What happens to the display if the timer is retentive?

A retentive timer keeps its current value when the enable rung drops, so the screen holds the last count between cycles until something resets it. The timer family's documentation notes that a retained current value requires a reset input, so add that reset to the cycle routine. Without it, the countdown opens every shift at a stale number and the crew stops trusting the screen.

Can the operator edit the preset from the screen and keep the countdown honest?

Yes. Write the new target through a numeric input object to the preset register, and compute remaining from that same register so the countdown follows the edit. If the target can change while a cycle is already running, decide in the PLC whether remaining adopts the new value at once or holds the value captured at the cycle start, then test that case on the floor.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote