Automation Glossary • Scan Class

What Is a Scan Class?
Grouping Tags by Update Rate

Merobix Engineering • • 6 min read

A scan class is a named update rate that a SCADA or PLC assigns to a group of tags, so different data is read at the speed it actually needs. Fast-changing safety values get scanned every second; slow readings like a daily total get scanned every minute or on demand. Grouping tags this way keeps the system responsive where it matters without drowning the network in needless traffic. This guide explains what scan classes are, why they exist, and how they shape SCADA polling.

Back to Blog

Scan Class in one line: A scan class is a defined polling or update interval - such as 1 second, 5 seconds, or 1 minute - to which tags are assigned so each value is read at an appropriate frequency. It lets a control or SCADA system spend bandwidth and CPU on fast-changing data while polling slow data less often.

Why Scan Classes Exist

Not every value needs the same attention. A wellhead shut-in pressure that feeds a safety alarm should be read every second or two, while a lifetime run-hours counter or a slowly drifting tank temperature is fine at once a minute. If everything were polled at the fastest rate, a SCADA server talking to hundreds of remote sites over cellular or radio would saturate its links and CPU for no benefit.

Scan classes solve this by letting the engineer bucket tags by importance and rate of change. Each tag is assigned to a class - Fast, Normal, Slow, or custom-named intervals - and the polling engine services each class on its own schedule. This is the core lever for balancing responsiveness against bandwidth and load in a distributed system.

Scan Class and Polling in SCADA

In a polled architecture, the SCADA server cycles through its scan classes: on each Fast tick it requests the fast-class registers from every device, on each Slow tick the slow-class registers, and so on. Well-designed device drivers pack the tags in a class into as few protocol reads as possible to keep the schedule efficient.

Scan class interacts with two related ideas. Deadband or report-by-exception reduces how much of what is scanned actually gets stored or transmitted. And in report-by-exception protocols, the relevant rate is how often the device is allowed to send changes rather than how often it is polled. Merobix, as a cloud-native SCADA, reads field devices over Modbus, DNP3, OPC UA, and similar protocols and lets you set update rates per tag group, so critical values stay near real-time while low-priority data is polled economically - important when many remote sites share limited cellular bandwidth.

A Working Method for Assigning Rates

Start from consequences, not habit. For each tag ask two questions: how fast can this value change in a way that matters, and what happens if the system notices late? Values that protect equipment or people go fastest - but note that genuine protection logic belongs in the PLC or RTU, which sees the value every controller scan regardless of what the SCADA polls. The scan class only governs how quickly a human or a central system finds out about it.

A practical bucketing: operator-response values - the pressures, flows, and statuses an operator acts on - in the fast class; situational-awareness values in a middle class; totalizers, diagnostics, and slowly drifting temperatures in a slow class; and configuration or nameplate data read once at startup or on demand. The guiding principle is that the scan must be comfortably faster than the fastest change you need to observe - sample slower than the event and the event simply happens between polls and never appears at all.

The Arithmetic of an Overloaded Schedule

Whether a schedule fits is a calculation you can run symbolically before commissioning. Suppose a fast class covers several devices on one shared channel, the driver needs P protocol transactions per cycle after packing contiguous registers into block reads, and each transaction costs t seconds including radio or cellular turnaround. The cycle then needs roughly P times t seconds. If that product exceeds the class interval, the class overruns: every cycle starts late, latency accumulates, and timestamps drift steadily away from reality.

The levers, in the order to pull them: pack registers so P shrinks - scattered addresses are the usual villain - then demote tags that never needed the fast class, then split devices across channels so transactions run in parallel, and only then consider new hardware. Watch the driver's own diagnostics: actual cycle time against configured interval, timeout counts, retry counts. A class that runs near its limit on a good day will overrun on a bad one, when a marginal radio path starts forcing retries.

Scan Rate, Alarms, and Stored History

An alarm evaluated in the SCADA can only fire when a scan delivers the value, so a brief excursion shorter than the scan interval may never be seen centrally. That is acceptable for awareness alarms and unacceptable for protection - which is why trips live in the controller and the SCADA alarm announces what the controller already did. Deciding which alarms carry which duty is a design task, not a polling setting, and it deserves a line in the alarm philosophy document.

History has its own rate. Storing every scan of a fast class multiplies storage and bandwidth for values that barely move, so systems filter what is scanned before it is stored - the role of deadbands, and the reason report by exception pairs naturally with scan classes. The scan brings the value in; the exception logic decides whether it is worth keeping; the historian stores what survives. Tuning all three together, rather than one at a time, is what keeps a large system both responsive and affordable.

Frequently Asked Questions

Why not scan every tag at the fastest rate?

Because it wastes bandwidth and CPU. A server polling hundreds of remote sites over cellular or radio would saturate its links reading slow-changing values needlessly. Scan classes let fast, important tags update near real-time while slow tags are read far less often.

What is the difference between scan class and deadband?

Scan class sets how often a tag is read. Deadband, or report-by-exception, sets how much a value must change before it is stored or transmitted. They work together: scan class controls the read rate, deadband filters out insignificant changes so you keep only meaningful updates.

How do you choose a scan class for a tag?

Match the rate to how fast the value changes and how important it is. Safety and control values that change quickly go in a fast class of a second or two; totalizers, run-hours, and slowly drifting readings go in a slow class of a minute or more.

Can a tag be in two scan classes at once?

Generally a tag has one scan class, but many systems temporarily accelerate polling for tags shown on an open display, or allow an on-demand read that bypasses the schedule. That gives fast updates while someone is watching without permanently loading the channel for values nobody is looking at.

Does putting everything in a faster class improve alarm response?

Only up to the point where the channel saturates - after that every class slips and response gets worse, not better. Alarm response improves by putting the right few tags in the fast class and keeping that class small. Anything protecting equipment or people should trip in the controller itself, where no polling interval is involved.

Sources and verification

This page references the protocol specifications published by the organizations below. Editions, product capabilities, and documentation change over time - confirm current requirements and specifications directly with the source.

Merobix is not affiliated with, endorsed by, or sponsored by these organizations; their names are used only to identify the standards and products discussed.

More in SCADA Fundamentals
How to set scan rates in SCADA  •  Scan Overrun  •  PLC-to-SCADA clock drift  •  How to add a tag to SCADA  •  How to build a trend in SCADA  •  All SCADA Fundamentals →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →