IEC 60870-5-104
IEC 60870-5-104 extends the IEC 101 protocol onto a TCP/IP network layer. It provides a TCP/IP interface for LAN connections and router support for WAN links. Its application layer stays compatible with IEC 101 while supporting several data synchronisation mechanisms.
It is widely used in electricity distribution, power generation, substations and SCADA control centres. inSCADA supports IEC 60870-5-104 in both the Client (Master) and the Server (Slave) role.
Core concepts
Section titled “Core concepts”Master and slave
Section titled “Master and slave”- Master (controlling station): the side that polls slave stations to collect data and sends control commands
- Slave (controlled station): the side that holds the field data, answers the master’s polls and sends spontaneous events
ASDU (Application Service Data Unit)
Section titled “ASDU (Application Service Data Unit)”In IEC 104 communication data travels as ASDUs. Each one carries:
- Type Identification (TI): identifies the data type
- Cause of Transmission (COT): states why it was sent (periodic, spontaneous, a poll response, and so on)
- Common Address (CASDU): the station address
- Information Object Address (IOA): the data point address
Supported data types (frame types)
Section titled “Supported data types (frame types)”| Frame type | ASDU | Description |
|---|---|---|
| Single Point Information | M_SP_NA / M_SP_TB | A 1-bit digital signal (with or without a timestamp) |
| Double Point Information | M_DP_NA / M_DP_TB | A 2-bit combined signal — breaker or isolator position |
| Measured Value, Normalized | M_ME_NA | A normalised analogue value (±32767 range) |
| Measured Value, Scaled | M_ME_NB | A scaled analogue value |
| Measured Value, Short Float | M_ME_NC / M_ME_TF | An IEEE 754 float analogue value |
Communication parameters (t1, t2, t3, k, w)
Section titled “Communication parameters (t1, t2, t3, k, w)”An IEC 104 connection is configured with the protocol’s own timing parameters:
| Parameter | Description | Default |
|---|---|---|
| t1 | APDU send timeout — how long a response is waited for | 15 s |
| t2 | S-format APDU timeout — how long an acknowledgement is waited for | 10 s |
| t3 | Test frame timeout — the link liveness check | 20 s |
| k | The maximum number of unacknowledged I-frames | 12 |
| w | The acknowledgement window — send an S-frame after w I-frames | 8 |
Addressing
Section titled “Addressing”IEC 104 addressing uses configurable field lengths:
| Field | Length | Description |
|---|---|---|
| COT Field Length | 1–2 bytes | The Cause of Transmission field |
| Common Address Field Length | 1–2 bytes | The CASDU (station address) field |
| IOA Field Length | 1–3 bytes | The Information Object Address field |
Spontaneous events
Section titled “Spontaneous events”A slave station can send a spontaneous event to the master when a value changes, without waiting to be polled. That is what makes a critical change of state known immediately.
Background scan
Section titled “Background scan”The master periodically polls every data point to confirm the integrity of its database. The interval of that scan is configurable.
Data model
Section titled “Data model”Sub-pages
Section titled “Sub-pages”- IEC 104 Client (Master) — configuring the master
- IEC 104 Server (Slave) — configuring the slave
- TLS (IEC 62351-3) — encrypting the link with TLS and checking the certificates