Tiza Group

Home / Guides / Protection, control and communications

IEC 60870-5-104 Basic Application Functions

The basic functions of IEC 60870-5-104 explained with one example each: initialization, interrogation, commands, integrated totals, files and test.

By Shadai García, CEO and protection engineer at Tiza Group.

StationControl centermonitorcontrolStation→ CenterCenter→ StationProcess dataTime-tagged eventsGeneral interrogationCommandsClock synchronizationParameters and filesmagenta: data · white: control · yellow: parameters and filesFunctionProcessEventsInterrogationControlClock© tizagrp.comStationControl centermonitorcontrolStation→ CenterCenter→ StationProcess dataTime-tagged eventsGeneral interrogationCommandsClock synchronizationParameters and filesmagenta: data · white: control · yellow: parameters and filesFunctionProcessEventsInterrogationControlClock© tizagrp.com
IEC 60870-5-104: basic application functions and direction of each. Location in the system and operating principle. Illustrative: real values come from the nameplate and the manufacturer's manual.
Short answer

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.

FunctionWhat it is forWho starts it
Station initializationAnnounce that the slave is readySlave (or master, if remote)
Cyclic transmissionSend measurands at fixed intervalsSlave
Read procedureRequest a single valueMaster
Spontaneous transmissionSend changes as they happenSlave
Station interrogationReceive the state of everything or of a groupMaster
Clock synchronizationSet the slave timeMaster
CommandsOperate equipment or send setpointsMaster
Integrated totalsRead energy countersMaster
Parameter loadingChange measurand thresholdsMaster
TestCheck communicationMaster
File transferDownload records or upload filesDepends on direction
Background scanKeep recent copiesSlave
Transmission delay acquisitionMeasure transmission timeMaster

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

  1. Take the slave list and the master list.
  2. Mark the functions the project needs: for example, time-tagged events, select-before-operate commands and energy totals.
  3. Verify that both devices declare them in the same direction.
  4. 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.

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.

WhatsApp