Automation Glossary • DNP3 Class 0 poll

What Is a DNP3 Class 0 Poll?

Merobix Engineering • • 7 min read

DNP3 sorts an outstation's data into two very different kinds of things: the current value of every point, and the record of recent changes. A Class 0 poll is how a master asks for the first kind - a complete snapshot of every static value right now. It is the tool that re-establishes ground truth when the master's picture of a device might be incomplete. This guide explains what a Class 0 poll reads, how it differs from the Class 1, 2, and 3 event polls, why an integrity poll bundles Class 0 with the event classes, and how often to run it on a link where bandwidth is precious.

Back to Blog

DNP3 Class 0 poll in one line: A DNP3 Class 0 poll is a request from the master for all current static data from an outstation - the present value of every configured point, delivered as a full snapshot. It differs from Class 1, 2, and 3 polls, which return only event data (recent changes), so a Class 0 poll is how a master rebuilds a complete, current copy of a device's state rather than just catching up on what changed.

Static Data Versus Event Data

DNP3 gives every point two ways of being reported. Its static value is simply what the point reads right now - a tank at 62 percent, a pressure at 340 kPa, a pump running. Its events are the log of how that value has changed since the master last collected them - the level crossed a deadband, the pump stopped, an alarm set. Class 0 is the label DNP3 gives to all of the static data taken together. A Class 0 poll therefore asks the outstation to report the current value of every point it is configured to expose, regardless of whether anything has changed recently.

That is a fundamentally different request from asking for events. Events are transient records that live in a buffer and are cleared once delivered and confirmed; static values are always available because they are just the present state of the process. A Class 0 poll ignores the event buffers entirely and reads the here-and-now of the whole device. The result is a complete picture with no history - it tells the master exactly where everything stands at the moment of the poll, but nothing about the path each point took to get there.

This distinction is why Class 0 is sometimes called the static class while Classes 1, 2, and 3 are the event classes. The static class answers the question what is everything doing now, and the event classes answer the question what has happened since I last asked. A well-run master needs both: events to see change as it happens, and Class 0 to periodically confirm the full state and recover anything the event stream may have missed.

Class 0 Versus Class 1, 2, and 3 Polls

A Class 1, 2, or 3 poll asks the outstation only for the events buffered in that particular class. The three event classes exist so an integrator can prioritize traffic: a designer might assign the most urgent points - a fire-and-gas alarm, an emergency shutdown status - to Class 1 and poll it frequently, while relegating slow-moving or low-importance points to Class 3 polled far less often. Polling by class lets the master collect the changes that matter most, most often, without dragging along everything else on every scan.

The catch is that event polls are inherently incremental. They deliver only what changed, so they are efficient but they carry an implicit assumption: that the master's existing copy of everything else is still correct. That assumption can break. If an outstation's event buffer overflows during a long outage, some changes are dropped, and if a device restarts, its buffers clear entirely. In either case the master can miss a change and never be told what it missed by events alone, so its cached values quietly drift out of step with reality.

A Class 0 poll is the cure for that drift because it does not depend on the master's existing copy at all - it just reads everything fresh. Where event polls keep a good picture current cheaply, the Class 0 poll rebuilds the picture from scratch to guarantee it is right. The two are complementary rather than competing: an efficient scan strategy leans on event classes for routine updates and reaches for Class 0 when it needs to be certain.

Integrity Polls and Scheduling Class 0 in SCADA

In practice a master rarely sends a bare Class 0 poll. It sends an integrity poll, a single request that asks for Class 0 together with Classes 1, 2, and 3 - all the static data plus any outstanding events - in one exchange. Bundling them this way re-baselines the master completely: it takes a fresh full snapshot of current values and sweeps up any buffered events in the same operation, leaving the master with both an accurate present state and the recent history behind it. A master runs an integrity poll on first connection, after it sees a Device Restart flag, and after any indication that its data may be stale.

How often to schedule the periodic integrity poll is a genuine trade-off, because a Class 0 read is the most expensive request in a normal cycle - it returns every point rather than just the handful that changed. On a fast, cheap link, running it frequently costs little and keeps the master reassuringly in sync. On a constrained or metered link - a low-bandwidth radio, a satellite hop billed by the byte, a cellular plan with a tight data cap - a frequent full snapshot can dominate the traffic and the bill, so it is scheduled sparingly, perhaps once or a few times a day, with fast event polls carrying the routine load in between.

A cloud SCADA platform such as Merobix, collecting DNP3 data from many remote wells and facilities over mixed backhaul, tunes this balance per site. Event polling or unsolicited reporting handles the moment-to-moment changes efficiently, and a scheduled integrity poll periodically guarantees the platform's stored state matches the field, catching anything the event stream dropped during a buffer overflow or a reboot. The aim is to spend the bandwidth of a full Class 0 snapshot often enough to stay trustworthy but not so often that it swamps a thin link.

Frequently Asked Questions

What is the difference between a Class 0 poll and a Class 1, 2, or 3 poll in DNP3?

A Class 0 poll requests all current static values - the present reading of every point as a full snapshot. A Class 1, 2, or 3 poll requests only event data, the changes buffered in that class since the master last collected them. Class 0 rebuilds a complete current picture, while the event classes deliver incremental changes efficiently but assume the master's existing copy of everything else is still correct.

Is a Class 0 poll the same as an integrity poll?

Not quite. A Class 0 poll requests only the static data, while an integrity poll bundles Class 0 together with Classes 1, 2, and 3, so it collects all current values plus any outstanding events in a single request. Masters almost always use the integrity poll form because it re-baselines both current state and recent history at once, which is what you want after a connection or a restart.

How often should a DNP3 Class 0 or integrity poll run?

It depends on the link. On a fast, inexpensive connection a full poll can run frequently at little cost. On a constrained or metered link - low-bandwidth radio, satellite billed by the byte, or a capped cellular plan - the full snapshot is scheduled sparingly, often just once or a few times a day, while fast event polls handle routine updates in between so the expensive Class 0 read does not dominate traffic.

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.

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

From Definitions to a Live Dashboard

Merobix reads your field devices into a cloud SCADA - the real thing behind these terms, live in days from any browser.

Request a Free Demo +1 (903) 307-7300
More in Automation Glossary
NB-IoT  •  LTE Cat-M1  •  PSM and eDRX  •  Spreading factor  •  LoRaWAN duty cycle  •  Iridium SBD  •  All Automation Glossary →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →