The IEC 60870-5-104 interoperability list groups the basic application functions: initialization, data acquisition in several ways, interrogation, clock synchronization, commands, integrated totals, parameter loading, test and file transfer. Each one has a direction and an initiator.
Short answer
The basic application functions are the tasks that IEC 60870-5-104 defines between the control center (master) and the station (slave): start up, send data in several ways, interrogate, synchronize the clock, command, totalize energy, load parameters, test and transfer files. Each device declares which ones it implements in its interoperability list.
How to read the function table
In the interoperability list each function is marked with a letter: it is used in the standard direction (from station to center for data, from center to station for commands), in the reverse direction, or in both. A function with no mark does not exist in that device.
IEC 60870-5-104 takes its functions from IEC 60870-5-101. The change is in the transport, not in the application.
| Function | What it is for | Who starts it |
|---|---|---|
| Station initialization | Announce that the slave is ready | Slave (or master, if remote) |
| Cyclic transmission | Send measurands at fixed intervals | Slave |
| Read procedure | Request a single value | Master |
| Spontaneous transmission | Send changes as they happen | Slave |
| Station interrogation | Receive the state of everything or of a group | Master |
| Clock synchronization | Set the slave time | Master |
| Commands | Operate equipment or send setpoints | Master |
| Integrated totals | Read energy counters | Master |
| Parameter loading | Change measurand thresholds | Master |
| Test | Check communication | Master |
| File transfer | Download records or upload files | Depends on direction |
| Background scan | Keep recent copies | Slave |
| Transmission delay acquisition | Measure transmission time | Master |
Function by function
Station initialization
When the slave finishes starting up, it sends an end of initialization message. With it, the center knows it lost the previous state and must request a general interrogation. The list also allows a remote initialization, ordered from the master.
Data acquisition
There are four ways, which coexist:
- Cyclic: one measurand per interval, for example every 60 s.
- By read: the master requests a specific value.
- Spontaneous: the slave sends the change when it happens; it is the basis of events.
- Background: the slave scans all points slowly.
The list adds an option: double transmission. The same change goes out twice, once with a time tag and once without. It serves centers that understand only one of the two types.
Station interrogation
The master requests the state of all signals, or that of a group among sixteen possible ones. The slave answers with a cause of transmission different from spontaneous, so the master knows these are requested values. It is used at startup and after recovering a link.
Clock synchronization
The master sends the time and the slave applies it. The list declares whether day of the week, the substituted time tag indicator and the summer time bit are used. Accuracy depends on the master and the network. For a more precise reference a dedicated time source is used, as explained in time synchronization in substations.
Commands
The list declares which command types exist and how they are executed:
- Direct: one order and it is executed.
- Select before operate: first it is selected and the slave confirms; then it is executed.
- Command duration: short pulse, long pulse or persistent output.
- Delay supervision: the slave rejects a command whose time tag is too old.
This last check is a frequent cause of a command rejected from SCADA when clocks differ.
Integrated totals
Energy counters support four modes, depending on where the value is frozen and how it is reported: local freeze with spontaneous sending, local freeze with reading by interrogation, freeze and reading by master command, or freeze by command and spontaneous sending. There are also read commands, freeze with or without reset, and reset.
Parameter loading and activation
It lets the master change the threshold of a measurand, its smoothing factor and its low and high transmission limits. Activation enables or stops the periodic transmission of an object. It is not a way to adjust protection settings: it affects how measurands are reported.
Test procedure
The master sends a test frame and the slave confirms it. It serves to verify the communication chain at application level, beyond the transport test.
File transfer
The list distinguishes monitor direction, with transparent files, protection disturbance data, sequences of events and sequences of recorded analog values, and control direction, with transparent files. Fault records travel as files in this direction.
Background scan and transmission delay
Background was already described. Delay acquisition lets the master measure how long a message takes to reach the slave and compensate for it in clock synchronization.
How to use the table in a project
- Take the slave list and the master list.
- Mark the functions the project needs: for example, time-tagged events, select-before-operate commands and energy totals.
- Verify that both devices declare them in the same direction.
- Note what is missing and decide whether it is solved in a gateway or accepted.
Frequent mistakes
- Expecting the current state without requesting a general interrogation.
- Using only cyclic transmission and losing the intermediate events.
- Enabling double transmission in a center that duplicates alarms.
- Assuming the device offers files or parameter loading because it is certified.
How we can help
Defining which functions each link uses avoids rework in the acceptance test. At Tiza Group we build the function matrix with you and test it end to end. See our SCADA and gateway integration or write to us to quote it.
Related guides
- IEC 60870-5-104: what it is, how it works and how it is tested
- Files and fault records over IEC 60870-5-104
- IEC 104 interoperability: how to read the list
- General and counter interrogation in IEC 101/104
- Command rejected from SCADA: causes and diagnosis
References
- IEC 60870-5-104, Network access for IEC 60870-5-101 using standard transport profiles: basic application functions of the interoperability list.
- IEC 60870-5-101, application functions and ASDU selection.
- IEC 60870-5-5, basic application functions.
Frequently asked questions
What is the difference between spontaneous, cyclic and background transmission?
Spontaneous sends a value when it changes. Cyclic sends it at a set interval, whether it changes or not. Background scans all the data slowly in the background, so the master always has a recent copy. They are used in combination.
Why does the SCADA not have the current state after the link restarts?
Because spontaneous transmission only reports changes. After a restart, the master must request a general interrogation to receive the state of all signals. Without it, it sees old values until each signal changes.
Does a device that complies with IEC 104 have all these functions?
No. Each device ticks in its interoperability list only the functions it implements. For example, many slaves offer neither parameter loading nor file transfer.