IEC 61850 — Substation Automation (MMS)
IEC 61850 is the international standard for substation automation. The IEDs (Intelligent Electronic Devices) inside a substation — protection relays, Merging Units, circuit breaker controllers — communicate using a common data model. This gateway uses the MMS (Manufacturing Message Specification) portion of IEC 61850.
The gateway's IEC 61850 driver provides MMS associate + Read (polling), so you can use it as-is for monitoring applications that periodically collect status and measurement values from IEDs. If you additionally need Reporting (BRCB/URCB), GOOSE, Sampled Values, select-before-operate, or SCL file-based automatic mapping, please contact the development team.
Registration Form Entries
| Field | What to enter | Example |
|---|---|---|
| IP address | IED's IP | 192.168.0.130 |
| Port | MMS port | 102 (standard ISO-on-TCP) |
| Response timeout (request-timeout) | Response wait (ms) | 5000 |
IEC 61850 has no standard user/password scheme; instead, "allow MMS communication" must be enabled on the IED side (via vendor tools: ABB PCM600, SEL AcSELerator, Siemens DIGSI, etc.).
PLC Address Notation for Tags
IEC 61850 data is an object-oriented tree.
LD (Logical Device) / LN (Logical Node) . DO (Data Object) . DA (Data Attribute)
In the gateway, enter it in slash + dollar form (the 61850-8-1 standard syntax).
| Notation | Meaning |
|---|---|
LD0/LLN0$ST$Mod$stVal | Logical Node Zero of LD0, mode (status) |
LD0/MMXU1$MX$A$phsA$cVal$mag$f | Phase A current measurement (Float) |
LD0/MMXU1$MX$PhV$phsA$cVal$mag$f | Phase A voltage |
LD0/MMXU1$MX$Hz$mag$f | Frequency |
LD0/MMXU1$MX$TotW$mag$f | Total active power |
LD0/XCBR1$ST$Pos$stVal | Circuit breaker 1 position (open/close) |
LD0/PTRC1$ST$Tr$general | Protection trip signal |
Commonly Used Logical Node Abbreviations
| LN | Meaning |
|---|---|
MMXU | Measurements (current/voltage/power — most frequently read) |
XCBR | Circuit Breaker |
XSWI | Disconnector |
PTRC | Protection Trip |
LLN0 | Logical Node Zero (overall status) |
GGIO | General-purpose I/O (user-defined) |
Key DAs of the CDC (Common Data Class)
| DA | Meaning |
|---|---|
stVal | Status value (boolean / enum) |
mag.f | Float measurement |
mag.i | Integer measurement |
q | Quality flag |
t | Timestamp |
general | General trip signal (Boolean) |
Data Type Matching
| Kind | Data type | Type modifier |
|---|---|---|
| stVal (Bool / enum) | Boolean or Integer | (leave empty) |
| mag.f (measurement) | Float | REAL |
| mag.i (integer measurement) | Integer | DW |
| timestamp (t) | String | (leave empty) |
Common Problems and Solutions
| Symptom | Possible cause | Solution |
|---|---|---|
| "Association rejected" | MMS disabled on the IED, or ACSE authentication required | Enable MMS in IED settings, turn authentication off (if possible) |
| "Object not found" | Wrong LN/DO/DA path | Verify the exact path in the IED's SCL (.icd / .scd) file |
| Value cannot be read (FCD only) | Missing Functional Constraint | Specify the FC, e.g. $ST$, $MX$, $CF$ |
| Value is stale | The current driver is polling-based — push reporting from the IED is not received | Shorten the timecycle (1–5 s), or contact us separately if reporting integration is required |
Real-World Mapping Examples by IED
SEL-451 (Schweitzer protection relay)
One of the most widely used IEDs in 154 kV / 22.9 kV substations. It is typically defined in the SCL's dataset.icd as follows.
| Tag name | Address | Data type |
|---|---|---|
| Phase A current | LD1/MMXU1$MX$A$phsA$cVal$mag$f | Float |
| Phase B current | LD1/MMXU1$MX$A$phsB$cVal$mag$f | Float |
| Phase C current | LD1/MMXU1$MX$A$phsC$cVal$mag$f | Float |
| Phase A voltage | LD1/MMXU1$MX$PhV$phsA$cVal$mag$f | Float |
| Frequency | LD1/MMXU1$MX$Hz$mag$f | Float |
| Total active power | LD1/MMXU1$MX$TotW$mag$f | Float |
| Circuit breaker 1 position | LD1/XCBR1$ST$Pos$stVal | Integer (1=open, 2=close) |
| 51P (overcurrent trip) | LD1/PTOC1$ST$Op$general | Boolean |
| 50P (instantaneous overcurrent trip) | LD1/PIOC1$ST$Op$general | Boolean |
ABB REC615 (relay + circuit breaker control)
| Tag name | Address |
|---|---|
| Bay-side measurement | CTRL/MMXU1$MX$... |
| Feeder-side measurement | MEAS/MMXU1$MX$... |
| Trip signal | PROT/PTRC1$ST$Tr$general |
| Circuit breaker position | CTRL/CBCSWI1$ST$Pos$stVal |
Siemens SIPROTEC 5
The LD names differ somewhat (Application/MeasFlt, Control/CB1, etc.). Open the SCL exported from DIGSI in an IEC 61850 browser tool (e.g. HelinKS, Triangle MicroWorks), confirm the Functional Constraint (FC) and the exact path, then register it.
Common Operating Patterns
Pattern 1. Substation monitoring dashboard
Poll only the 7–10 key measurements per IED — if you need more, you must use full reporting (BRCB), so at the polling stage a timecycle of 1–5 seconds is recommended.
Pattern 2. Trip event detection
Detect changes in PTOC1$ST$Op$general (boolean) and send an alarm. For comparing "whether the value differs from the previous one" on the PlantPulse side, see outlier notification node / events.
Pattern 3. Cumulative values for reports
Total active energy (MMTR1$MX$TotWh) is a cumulative value. Derive daily/monthly consumption by differencing on the display side.
Next Steps
- If you obtain the IED's SCL file (
*.icd/*.scd), every LD/LN/DO/DA is listed exactly. - If you need full GOOSE / Reporting support, please contact the development team separately.
- See the IEC 61850 examples in Advanced — REST API.