Automation Glossary • Data Object and Data Attribute

IEC 61850 Data Object vs Data Attribute

Merobix Engineering • • 7 min read

Once you know logical nodes, the next layer down is where the actual values live: data objects and data attributes. Engineers building object references or reading an SCL file need to know how these nest. This page explains data objects, data attributes, and the common data classes that give them a predictable structure.

Back to Blog

Data Object and Data Attribute in one line: In IEC 61850 a data object is a named piece of information inside a logical node - such as Pos (breaker position) or A (current) - built from a common data class. A data attribute is a field inside that data object, such as stVal (status value), q (quality), and t (timestamp). Together they complete the object reference down to the value.

Nesting From Node to Value

A logical node is not a flat list of numbers; it contains structured data objects. An XCBR breaker node has a Pos data object for position, an OpCnt data object for the operation counter, and so on. Each data object is an instance of a common data class (CDC) - a reusable template defined by the standard. The Pos object uses the controllable-double-point class; a measured current uses a measured-value class. The CDC is what makes the internal structure predictable across devices.

Inside each data object are data attributes: the individual fields. The pattern repeats everywhere. A status data object typically carries stVal (the status value itself), q (a quality field flagging validity, and whether the value is good, questionable, or invalid), and t (the timestamp of the last change). A measured value carries mag (magnitude), q, and t. Reading q and t alongside the value is essential - a value with bad quality should not be trusted no matter what stVal says.

Building the Full Reference

The full object reference walks the whole hierarchy: IED name, then logical device, then logical node, then data object, then data attribute. A reference to a breaker's status value might read as the logical device, XCBR node, Pos object, and stVal attribute joined by dots and a slash. That precise path is what a client subscribes to and what appears in a dataset.

This is also why datasets and reporting are built from the SCL file rather than by hand - the exact data-object and data-attribute names come from the model. When you configure a report control block, you are choosing which of these attributes go into the report and which trigger it. The nesting is the concrete detail beneath the abstract model in the IEC 61850 series structure.

Functional Constraints Group the Attributes

Look inside any data object with a browsing client and you will see more attributes than stVal, q, and t. The standard sorts them with a functional constraint (FC), a tag that says what role each attribute plays. ST marks status attributes, MX marks measurands, CO marks control attributes such as Oper and SBOw, CF marks configuration such as ctlModel, DC marks descriptions, and SP marks setpoints. The same Pos data object therefore carries its live position under ST, its control entry points under CO, and its behavioral configuration under CF, all side by side in one object.

The grouping is not cosmetic. Services address attributes by functional constraint - a report dataset built for status references ST attributes, a control operation targets CO - and a client that ignores the FC will try to write read-only status values or subscribe to configuration that never changes. When a reference is written out in full, the FC rides along in brackets, which is how attributes with similar names in different roles stay unambiguous.

Common Data Classes You Will Meet First

A handful of common data classes covers most of what a SCADA integration ever touches:

CDCKind of dataCore attributes
SPSSingle-point status (boolean indication)stVal, q, t
DPSDouble-point status (open/closed with intermediate and bad states)stVal, q, t
DPCControllable double point (switchgear position with control)stVal, q, t plus control attributes such as Oper
MVMeasured analog valuemag, q, t
INSInteger status (counters, mode words)stVal, q, t

The pattern is deliberately repetitive: whatever the class, expect one value attribute accompanied by q and t. Once you have mapped one MV and one DPC correctly, the next hundred follow the same shape. Which classes a given device actually implements is declared in its SCL capability files, which is where mapping work should start - not in a live browse of a device on the bench.

Flattening References Into SCADA Tags

Gateways and SCADA drivers ultimately turn each subscribed data attribute into a flat tag, and the naming decision deserves more care than it usually gets. Encoding the whole path - device, node, object, attribute - into the tag name keeps the mapping self-documenting but produces long names; abbreviating loses the traceability that makes the self-describing model valuable in the first place. Whichever convention is chosen, it should be generated mechanically from the SCL export rather than typed by hand, because a transposed character in one of hundreds of near-identical references is exactly the kind of error commissioning tests miss.

Two mapping rules save later grief. First, carry q through to the SCADA side as a paired quality tag or a quality-stamped value rather than dropping it, so bad or questionable measurements are visibly bad downstream instead of silently plausible. Second, prefer the device's t timestamp over the gateway's arrival time when historizing, so the stored record reflects when things changed at the source rather than when they happened to be delivered.

Debugging a Bad Value Through Its Path

When a value in the SCADA looks wrong, its object reference is a debugging map. Walk it segment by segment: is the IED name the device you think it is; is the logical device prefix the right function partition; is the node instance correct - XCBR1 versus XCBR2 matters in a two-breaker bay; is the data object the one intended, Pos rather than a neighboring object; is the attribute and its FC right, stVal under ST rather than a configuration attribute under CF. One wrong segment anywhere in that chain produces a plausible-looking value from the wrong place, which is the hardest class of error to spot from the HMI alone.

Then check q before arguing about the number: a value flagged questionable or invalid is telling you the device itself does not vouch for it, and the fix lives at the device or its wiring, not in the mapping. Comparing the failing reference against the SCL export settles whether the configured path ever matched the engineered one - disagreement between the two is a configuration-management problem masquerading as a data problem.

Frequently Asked Questions

What is the difference between a data object and a data attribute?

A data object is a named item inside a logical node, such as Pos or A, built from a common data class. A data attribute is a field within that object, such as stVal, q, or t. The object groups related attributes; the attribute holds an actual field value.

What do stVal, q, and t mean?

stVal is the status value of a data object, q is its quality field indicating whether the value is good, questionable, or invalid, and t is the timestamp of the last change. A client should always check q before trusting stVal.

What is a common data class?

A common data class (CDC) is a reusable template that defines the internal structure of a data object - which data attributes it has. Standardized CDCs are why the same kind of data object looks the same across different vendors' devices.

Can a client write to stVal directly?

No. stVal carries functional constraint ST and is read-only; it reports what the device observes. Changing a controllable object goes through the control model instead - the client operates on control attributes under CO, such as Oper, and the device updates stVal itself once the switchgear actually moves. The delay between command and status change is genuine feedback from the process, not a fault.

Do all data objects have stVal, q, and t?

All status-like classes do, but the value attribute's name varies by class: measured values carry mag rather than stVal, for example. What stays consistent is the pattern of one value attribute accompanied by q and t. Checking the common data class in the SCL file tells you exactly which attributes to expect before you connect.

More in Industrial Protocols
Information Object Address (IOA)  •  IEC 61850 series structure  •  SCL Files (ICD, CID, SCD, SSD)  •  GOOSE Message  •  Merging Unit  •  All Industrial Protocols →
Free SCADA operator training
Merobix University - 70 video lessons & 261 quiz questions, from first login to compliance reporting. No demo call required.
Start free →