Skip to content

IEC 104 Client (Master)

In Client (Master) mode inSCADA connects to field stations (RTUs, IEDs, protection relays and the like) to read data and send control commands.

ParameterExampleDescription
ProtocolIEC 60870-5-104The protocol
IP Address192.168.1.50The target slave station’s IP address
Port2404The target port (default: 2404)
COT Field Length2Cause of Transmission field length (1–2 bytes)
Common Address Field Length2CASDU field length (1–2 bytes)
IOA Field Length3IOA field length (1–3 bytes)
Originator Address0The master’s originator address
t115 sResponse timeout
t210 sS-format acknowledgement timeout
t320 sTest frame timeout
k12Max unacknowledged I-frames
w8Acknowledgement window
Is With TimestampstrueAccept timestamped ASDUs
Background Scan Period60000 msThe background scan interval
Spontaneous Duplicates0How many times a spontaneous message is repeated
Use System TimezonefalseUse the system time zone
ParameterExampleDescription
Common Address1CASDU — the slave station address
Control Point Offset0The address offset for control commands
Scan Time1000 msThe polling interval
Scan TypePERIODICPERIODIC or FIXED_DELAY

Define one frame per ASDU type:

ParameterExampleDescription
TypeMeasured Value, Short FloatThe ASDU type
Frame nameTypeUsed for
Digital InputSingle Point InformationBreaker and isolator states
Double DigitalDouble Point InformationBreaker positions (open / closed / in transit / indeterminate)
Analogue MeasurementMeasured Value, Short FloatCurrent, voltage and power measurements
Normalised MeasurementMeasured Value, NormalizedInteger measurements in the ±32767 range
Scaled MeasurementMeasured Value, ScaledScaled integer measurements

An IEC 104 variable is identified by its IOA (Information Object Address):

ParameterExampleDescription
Use IOA AddressestrueIOA addressing mode
Read Address100Read address (simple mode)
Write Address100Write address (simple mode)
Read IOA Address 10IOA read address, byte 1
Read IOA Address 20IOA read address, byte 2
Read IOA Address 3100IOA read address, byte 3
Write IOA Address 10IOA write address, byte 1
Write IOA Address 20IOA write address, byte 2
Write IOA Address 3100IOA write address, byte 3

In inSCADA, an IEC 104 variable can have both a Read Address and a Write Address. Correct usage of these two addresses is critical for efficient configuration.

Basic rule: If you only enter a Write Address for a variable, you cannot see the written value on inSCADA screens — because no read address is defined.

In the IEC 104 standard, reading (monitoring) and writing (control) for the same data point use different ASDU types. However, the IOA address can remain the same — because the ASDU type is determined by the Frame type. inSCADA automatically knows which ASDU type to use:

OperationASDU TypeType GroupDirection
ReadM_SP_NA_1 (TI 1)Single Point InformationMonitoring
Read (timestamped)M_SP_TB_1 (TI 30)Single Point InformationMonitoring
WriteC_SC_NA_1 (TI 45)Single CommandControl
Write (timestamped)C_SC_TA_1 (TI 58)Single CommandControl

Notice: These all belong to the same Single Point data group. The only difference is whether it is monitoring (M_) or control (C_) and whether it includes a timestamp. Therefore, you can enter the same IOA address for both Read and Write:

Variable: "Breaker_1" Read Address: 100 ← Read as M_SP_NA_1 (Frame type determines this) / Write Address: 100 ← Written as C_SC_NA_1 (Frame type determines this) Variable: "Breaker_1" Read Address: 100 ← Read as M_SP_NA_1 (Frame type determines this) Write Address: 100 ← Written as C_SC_NA_1 (Frame type determines this)

inSCADA automatically selects the correct ASDU type by looking at the Frame type the variable belongs to:

  • Frame type Single Point Information → M_SP_NA_1/TB_1 for reading, C_SC_NA_1/TA_1 for writing
  • Frame type Measured Value, Short Float → M_ME_NC_1/TF_1 for reading, C_SE_NC_1 for writing

This means:

  • A single variable definition with the same IOA address is sufficient
  • The same address can be used for both monitoring and control on the RTU/PLC side
  • No need to create separate variables for reading and writing
  • You can see the current value on screens and send control commands from the same variable

Example — Breaker Control:

VariableRead AddressWrite AddressRead ASDUWrite ASDU
Breaker_1100100M_SP_NA_1C_SC_NA_1
Temp_Setpoint200200M_ME_NC_1C_SE_NC_1

Start the connection from the Runtime Control Panel. inSCADA will automatically:

  1. Establish the TCP connection
  2. Send STARTDT (Start Data Transfer)
  3. Start background scan (if configured)
  4. Begin listening for spontaneous events

The connection status will show “Connected”.