IEC 61850 MMS (Substation Automation)
IEC 61850 is an international standard for substation automation. 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) part of IEC 61850.
The gateway's IEC 61850 driver provides MMS associate + Read (polling), so it can be used as-is for monitoring applications that periodically collect IED status/measurement values. If you additionally need Reporting (BRCB/URCB), GOOSE, Sampled Values, select-before-operate, SCL file-based automatic mapping, please contact the development team.
Registration Form Inputs
| Field | What to enter | Example |
|---|---|---|
| IP address | IED's IP | 192.168.0.130 |
| Port | MMS port | 102 (standard ISO-on-TCP) |
| Request timeout | Response wait (ms) | 5000 |
IEC 61850 has no user/password in the standard; you must enable "MMS communication allowed" on the IED side (using vendor tools: ABB PCM600, SEL AcSELerator, Siemens DIGSI, etc.).
Tag PLC Address Notation
IEC 61850 data is an object-oriented tree.
LD (Logical Device) / LN (Logical Node) . DO (Data Object) . DA (Data Attribute)
In the gateway, you enter it in the slash + dollar format (61850-8-1 standard syntax).
| Notation | Meaning |
|---|---|
LD0/LLN0$ST$Mod$stVal | LD0's Logical Node Zero, mode (status) |
LD0/MMXU1$MX$A$phsA$cVal$mag$f | Phase A current measurement value (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 | Measurement value (current/voltage/power — most frequently read) |
XCBR | Circuit Breaker |
XSWI | Disconnector |
PTRC | Protection Trip |
LLN0 | Logical Node Zero (overall status) |
GGIO | Generic I/O (user-defined) |
Key DAs of CDC (Common Data Class)
| DA | Meaning |
|---|---|
stVal | Status value (boolean / enum) |
mag.f | Float measurement value |
mag.i | Integer measurement value |
q | Quality flag |
t | Timestamp |
general | General trip signal (Boolean) |
Data Type Mapping
| Type | Data Type | Format Helper |
|---|---|---|
| stVal (Bool / enum) | Boolean or Integer | (none) |
| mag.f (measurement) | Float | REAL |
| mag.i (integer measurement) | Integer | DW |
| timestamp (t) | String | (none) |
Common Problems and Solutions
| Symptom | Possible Cause | Solution |
|---|---|---|
| "Association rejected" | MMS disabled on IED or ACSE authentication required | Enable MMS in IED settings, turn off authentication (if possible) |
| "Object not found" | Incorrect LN/DO/DA path | Verify the exact path in the IED's SCL (.icd / .scd) file |
| Cannot read values (FCD only) | Missing Functional Constraint | Specify FC such as $ST$, $MX$, $CF$ |
| Value is stale | Current driver is polling-based — IED's push reporting not received | Shorten timecycle (1–5 seconds), or contact us separately for reporting integration |
Real Mapping Examples per Common IED
SEL-451 (Schweitzer Protection Relay)
It is one of the most widely used IEDs in 154kV / 22.9kV substations. Its SCL dataset.icd typically defines the following.
| 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 Controller)
| 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 are a bit different (Application/MeasFlt, Control/CB1, etc.). Open the SCL exported from DIGSI with an IEC 61850 browser tool (e.g., HelinKS, Triangle MicroWorks) to verify the Functional Constraint (FC) and the exact path before registering.
Common Operating Patterns
Pattern 1. Substation Monitoring Dashboard
Poll only 7–10 key measurement points per IED — if you need more, you should use full reporting (BRCB). For the polling stage, 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, refer to anomaly notification node / event.
Pattern 3. Cumulative Values for Reports
Total active power integration (MMTR1$MX$TotWh) is a cumulative value. Calculate daily/monthly usage by taking the difference on the display side.
Next Steps
- Once you obtain the IED's SCL file (
*.icd/*.scd), all LD/LN/DO/DA can be identified exactly. - If you need full GOOSE / Reporting, please contact the development team separately.
- Refer to the IEC 61850 example in Advanced — REST API.