IEC 61850 Data Types Explained: The Complete Practical Guide

By | December 11, 2025

Everything engineers need to know about Basic Types, Common Data Classes, and how they appear in GOOSE, Sampled Values, MMS, and SCL.

IEC 61850 is much more than a communication protocol—it is a semantic language designed to describe protection, control, measurement, and automation inside modern substations. At the core of this language lies one essential concept:

👉 Every piece of information in IEC 61850 must have a defined, standardized data type.

These data types ensure:

  • consistency across vendors
  • predictable communication
  • correct engineering in SCL
  • reliable behavior in GOOSE, SV, and MMS
  • full interoperability across relays, merging units, gateways, and tools

This article explains all IEC 61850 data types—from the smallest boolean to complex phasor structures—using clear English and practical examples.

1. Why IEC 61850 Has Its Own Data Types

Legacy protocols (Modbus, DNP3, IEC 60870-5-104) do not define meaning. They only send numbers.

IEC 61850 does the opposite.

It defines:

  • what a breaker position is
  • what its timestamps and quality bits mean
  • how measurements must be structured
  • how to encode analog samples
  • how to group data for reporting and GOOSE

This works because IEC 61850 uses a layered data model:

  1. Basic Data Types (BDTs) → raw numeric/boolean/string types
  2. Common Data Classes (CDCs) → structured substation data types
  3. Data Objects (DOs) → real functional elements inside Logical Nodes
  4. Data Attributes (DAs) → the smallest addressable values
IEC 61850 Data Model Structure: Device, Logical Device, Logical Node, Data Object, and Data Attribute
IEC 61850 Data Model Simplified: Logical Nodes, Data Objects, Attributes & Device Structure

Understanding these layers is the key to mastering IEC 61850 engineering.

2. Basic Data Types in IEC 61850

Defined primarily in IEC 61850-7-2 and encoded per IEC 61850-8-1, these are the primitive building blocks.

2.1 Booleans and Integer Types

IEC 61850 uses a range of Boolean and integer types to represent the most common values found in protection, control, measurement, and communication services. These are the simplest data types in the standard and appear in almost every Logical Node.

Boolean and Integer Types

Data TypeDescriptionTypical Uses / Examples
BOOLEANTRUE or FALSE valueTrip (Op.general), breaker open/close (Pos.stVal), alarms, enabling/disabling logic
INT8, INT16, INT32, INT64Signed integersOperation counter, fault counters, settings requiring negative ranges
INT8U, INT16U, INT24U, INT32UUnsigned integersstNum and sqNum in GOOSE, smpCnt in SV, configuration indexes, engineering counters

Where These Data Types Are Used

Booleans and integers are found in almost every part of IEC 61850:

GOOSE Messaging
  • stNum (state number) → unsigned integer
  • sqNum (sequence number) → unsigned integer
  • test flag → BOOLEAN
  • simulation flag → BOOLEAN
Sampled Values (SV)
  • smpCnt (sample counter) → unsigned integer
  • confRevunsigned integer
  • Synchronization indicators → BOOLEAN
Logical Node Data Objects
  • PTOC.StrBOOLEAN
  • PTOC.Trip → BOOLEAN
  • OpCntRsinteger counter

2.2 Floating-Point Numbers

IEC 61850 uses floating-point data types to represent measurement values that require decimals and higher numerical accuracy. These values are essential for protection, metering, power quality, and monitoring applications.

Floating-Point Types

TypeMeaningStandard
FLOAT32IEEE 754 single-precision floating-point (32-bit)IEC 61850-7-2 / IEC 61850-8-1
FLOAT64IEEE 754 double-precision floating-point (64-bit)IEC 61850-7-2 / IEC 61850-8-1

Both formats follow strict encoding rules so that all IEDs interpret values consistently, regardless of vendor.

Where Floating-Point Numbers Are Used

Floating-point values appear in almost every measurement Logical Node, including:

Protection Measurements (MMXU, MMTR, etc.)
  • Phase currents → MMXU.A.phsA.cVal.mag.f (FLOAT32)
  • Phase voltages → MMXU.PhV.phsA.cVal.mag.f
  • Frequency → MMXU.Hz.mag.f
Power and Energy Values
  • Real power (P)
  • Reactive power (Q)
  • Apparent power (S)
  • Power factor (Pf)
Symmetrical Components
  • Positive-sequence current (I1)
  • Negative-sequence current (I2)
  • Zero-sequence current (I0)
  • Same for voltages (V1, V2, V0)
Sampled Values (SV)

SV streams often carry raw instantaneous sample values (instMag.i and instMag.v) encoded as floating-point numbers or scaled integers, depending on implementation.

Why Floating-Point Data Types Matter

Floating-point numbers allow IEC 61850 systems to represent:

  • Analog magnitudes with high precision
  • Power system calculations
  • Dynamic changes in current and voltage
  • Accurate digital protection algorithms

Protection relays rely on these values to compute:

  • Differential currents
  • Impedance trajectories (for distance protection)
  • Harmonics and power quality metrics
  • Real-time phasors

Without floating-point values, digital substations could not achieve the accuracy required for advanced protection and control.

2.3 Bitstrings

EC 61850 uses structured bitstrings to represent several types of status information. These bitstrings are not arbitrary flags—they follow strict definitions in IEC 61850-7-3. The most common structured bitstrings include:

Quality (q) Bitstring

The quality attribute contains multiple sub-fields that describe the validity and condition of a value.

Quality includes flags such as:

  • validity (good, invalid, questionable)
  • source (process, substituted, test)
  • test (indicates test mode)
  • operatorBlocked (operator has blocked command)
  • derived (value calculated, not measured)
  • overflow

Source (src) Bitstring

Describes how data was obtained:

  • process (real measurement)
  • substituted (manually replaced)
  • test (test device generated data)

Status and Control Bitstrings

Used by control models and logical nodes to indicate states such as:

  • local/remote (ctlModel)
  • interlock check active
  • synchrocheck active
  • command blocked
  • command pending

Mode and Behavior Bitstrings

IEC 61850 also defines bitstrings for IED modes:

  • on
  • blocked
  • test
  • test-blocked
  • off

Test Flag (t)

IEC 61850 defines a Test Flag, often shown as t, used inside GOOSE and Sampled Values to clearly indicate whether a message is:

  • real (production)
    or
  • simulated (test mode)

This flag ensures that protection IEDs do not accidentally react to test signals while the substation is in normal operation.

How the Test Flag Works
In GOOSE (IEC 61850-8-1)

The test flag is part of the GOOSE PDU (test field).

  • test = FALSE → production message
  • test = TRUE → simulated test message

Subscribers behave as follows:

  • If the IED is in production modeignore all test messages
  • If the IED is in test modeonly accept test messages

This prevents accidental trips during commissioning.

In Sampled Values (IEC 61850-9-2)

SV uses a similar mechanism, called the Simulation Indicator (S or Simulate flag) inside the ASDU.

  • S = TRUE → SV frame came from a test device
  • S = FALSE → SV frame is from the real merging unit

Subscribers must ignore simulated SV messages unless they are explicitly placed in test mode.

This ensures:

  • No false protection operation during testing
  • Tools like Omicron test sets can inject SV safely

2.4 Strings

IEC 61850 defines several string types used to store names, identifiers, descriptions, labels, and raw byte sequences. These string types appear throughout the data model, SCL configuration, GOOSE/SV PDUs, and MMS communication.

Common IEC 61850 String Types

TypeUsage / Purpose
VisString32 / VisString64 / VisString129 / VisString255Human-readable names, labels, engineering descriptions (ASCII visible characters).
UnicodeStringInternational text; supports multilingual identifiers.
OCTET STRINGRaw byte sequences such as MAC addresses, GUIDs, object identifiers, and protocol-specific values.

Where Strings Are Used in IEC 61850

These string types appear widely across the standard, including:

  • gocbRef – Reference to a GOOSE control block (VisString64)
  • datSet – Name of the DataSet linked to a GOOSE/SV control block (VisString64)
  • svID – Identifier of a Sampled Value stream (VisString64)
  • RptID / report descriptions – Report control block identifiers and engineering notes
  • SCL file elements – IED names, Logical Device names, Logical Node names, DataSet names, communication labels, etc.

Strings allow IEC 61850 to remain self-describing because devices communicate not just values but also readable, meaningful identifiers.

2.5 Time Types

IEC 61850 defines several dedicated time formats used for events, logging, reporting, GOOSE, and Sampled Values. These formats ensure consistent, interoperable timestamping across all IEDs.

Main IEC 61850 Time Types

TypeMeaning / Purpose
TimestampA 64-bit time value used for events, GOOSE, Sampled Values, and data attributes. Contains seconds since epoch + fractional nanoseconds + time quality.
EntryTimeA 48-bit timestamp used for logging and report entries. Less detailed than Timestamp but optimized for logs.
TimeOfDayA legacy format inherited from earlier IEC standards. Still supported but rarely used in modern IEC 61850 systems.

3. Constructed Data Types (CDTs) – The Heart of IEC 61850

Defined in IEC 61850-7-3, these provide semantic meaning to data.

Each Common Data Class (CDC) combines multiple attributes into a functional structure.

3.1 Status CDCs

CDCMeaningContains
SPS (Single Point Status)1-bit statusstVal, q, t
DPS (Double Point Status)Two-bitstVal = (On, Off, Intermediate)
INS (Integer Status)Integer with status semanticsstVal, q
BCR (Binary Counter Reading)Pulse counteractVal, q, t

Used for:

  • breaker positions
  • switch states
  • interlocking
  • digital inputs
  • counters and event meters

3.2 Measurement CDCs

CDCMeaning
MV (Measured Value)Float + quality + timestamp
CMV (Complex Measured Value)Magnitude + angle
WYE3-phase measurements: A, B, C, N
SEQSymmetrical components
SAVRaw instantaneous sample (used in SV)

These represent nearly every analog value in a substation.

3.3 Control CDCs

CDCPurpose
SPC (Single Point Control)ON/OFF breaker control
DPC (Double Point Control)Tap changers, switches
INC (Integer Control)Numerical settings
ENC (Enumerated Control)Mode selection

Control CDCs include:

  • SBO / SBO with enhanced security
  • Operate sequencing
  • Check conditions
  • Timeouts
  • Select-before-operate logic

These are the data types behind:

  • breaker control
  • reclosing operations
  • tap changer control
  • mode switching (auto/manual)

3.4 Setting CDCs

CDCUse
SP (Setting Parameter)Boolean or enumeration
ING (Integer Setting)Trigger levels, counters
ASG (Analog Setting)Thresholds (e.g., 0.8 pu)

4. Data Objects (DOs) Built from CDCs

Logical Nodes (IEC 61850-7-4) contain Data Objects, which are built from Common Data Classes.

Example: XCBR (Circuit Breaker)

DOTypeMeaning
PosDPSPosition (open/close)
BlkOpnSPSBlocking open
BlkClsSPSBlocking close
OpCntBCROperation counter

Every manufacturer must follow this structure exactly.

That’s why interoperability works.

5. Data Attributes (DAs): The Final Level

Each DO contains attributes like:

  • stVal → primary value
  • q → quality
  • t → timestamp
  • subEna → substitution enable
  • ctlModel → control behavior
  • Oper → control commands

Example:

XCBR1.Pos.stVal = 1 (breaker closed) XCBR1.Pos.q = good XCBR1.Pos.t = 2025-02-14T10:32:50.123Z

6. How IEC 61850 Data Types Are Encoded in MMS, GOOSE, and SV

Each service uses the same types but encodes them differently.

6.1 In MMS (Reports, Controls, SCADA)

Encoded using ASN.1 BER rules:

  • Boolean → 1 byte
  • INT16 → 2 bytes
  • FLOAT32 → 4 bytes
  • String → length-prefixed
  • Timestamp → 8 bytes

This ensures interoperability across networks.

6.2 In GOOSE Messages

Every member of the GOOSE allData[] list retains its IEC-61850 data type.

Example:

  • stVal → ENUMERATED
  • q → BITSTRING (16 bits)
  • t → Timestamp

GOOSE is simply a fast multicast wrapper around IEC 61850 types.

6.3 In Sampled Values (SV)

SAV (Sampled Analog Value) is the main type.

A SAV includes:

  • instMag.i → INT16 or INT32
  • q → Quality flags

The ASDU uses:

  • svID → VisibleString
  • smpCnt → INT16U / INT32U
  • confRev → INT32U
  • allData → SEQUENCE OF SAV

SV is extremely strict because protection accuracy depends on correct encoding.

7. SCL and Data Types (IEC 61850-6)

SCL files define types through:

  • BDA → Basic Data Attributes
  • DAType → Composite types
  • DOType → Data Object definitions
  • LNodeType → Logical Node templates

Example DOType for a breaker position:

<DOType id="DPC_1" cdc="DPC">
    <DA name="stVal" bType="Enum" />
    <DA name="q" bType="Quality" />
    <DA name="t" bType="Timestamp" />
</DOType>

Engineering tools validate type consistency via SCL.

8. Why Understanding IEC 61850 Data Types Matters

1. Accurate GOOSE mapping

Incorrect types → subscribers reject frames.

2. Correct SV decoding

Relays must understand data ordering and size exactly.

3. Report and Dataset engineering

Only valid CDC attributes may appear in a DataSet.

4. Control model correctness

DPC vs SPC → completely different semantics.

5. Gateway mapping

Mapping IEC 61850 to Modbus/DNP3 requires knowing:

  • numeric type
  • status semantics
  • quality mapping

6. Cybersecurity filtering

IEC 62351-6 signs data based on type encoding.

9. Practical Examples

Example 1 — Breaker Position

XCBR1.Pos.stVal → DPS (0=open, 1=closed)
XCBR1.Pos.q     → Quality
XCBR1.Pos.t     → Timestamp

Example 2 — Phase Current

MMXU1.A.phsA.mag.f → FLOAT32 value
MMXU1.A.q → Quality
MMXU1.A.t → Timestamp

Example 3 — SV Sample

SAV.instMag.i → INT16 (raw sample) SAV.q → Quality

10. Summary Table — All IEC 61850 Data Type Classes

LayerStandardPurpose
Basic Data Types (BDTs)7-2, 8-1Boolean, integers, floats, timestamps, strings
Common Data Classes (CDCs)7-3Structured substation data types
Data Objects (DOs)7-4Functional elements (breaker position, voltage, trip)
Data Attributes (DAs)7-3stVal, q, t, settings, control attributes
Encoding8-1, 9-2ASN.1 (MMS/GOOSE), raw samples (SV)

11. Conclusion

Data types are the foundation of IEC 61850. They give meaning, structure, and semantic consistency to every measurement, status, command, and sample transmitted in a digital substation.

By standardizing:

  • how values are represented
  • how they are grouped
  • how timestamps and quality behave
  • how communication is encoded

IEC 61850 ensures:

✔ Interoperability across vendors
✔ Predictable protection behavior
✔ Reliable GOOSE and SV performance
✔ Clean SCL engineering
✔ Future-proof system design

Anyone working with protection relays, SCADA gateways, or IEC 61850 networks must understand these types to engineer safe and accurate systems.

Author: Zakaria El Intissar

I'm an automation and industrial computing engineer with 12 years of experience in power system automation, SCADA communication protocols, and electrical protection. I build tools and write guides for Modbus, DNP3, IEC 101/103/104, and IEC 61850 on ScadaProtocols.com to help engineers decode, analyze, and troubleshoot real industrial communication systems.

Leave a Reply

Your email address will not be published. Required fields are marked *