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.
Step 1: creating the connection
Section titled “Step 1: creating the connection”| Parameter | Example | Description |
|---|---|---|
| Protocol | IEC 60870-5-104 | The protocol |
| IP Address | 192.168.1.50 | The target slave station’s IP address |
| Port | 2404 | The target port (default: 2404) |
| COT Field Length | 2 | Cause of Transmission field length (1–2 bytes) |
| Common Address Field Length | 2 | CASDU field length (1–2 bytes) |
| IOA Field Length | 3 | IOA field length (1–3 bytes) |
| Originator Address | 0 | The master’s originator address |
| t1 | 15 s | Response timeout |
| t2 | 10 s | S-format acknowledgement timeout |
| t3 | 20 s | Test frame timeout |
| k | 12 | Max unacknowledged I-frames |
| w | 8 | Acknowledgement window |
| Is With Timestamps | true | Accept timestamped ASDUs |
| Background Scan Period | 60000 ms | The background scan interval |
| Spontaneous Duplicates | 0 | How many times a spontaneous message is repeated |
| Use System Timezone | false | Use the system time zone |
Step 2: creating the device
Section titled “Step 2: creating the device”| Parameter | Example | Description |
|---|---|---|
| Common Address | 1 | CASDU — the slave station address |
| Control Point Offset | 0 | The address offset for control commands |
| Scan Time | 1000 ms | The polling interval |
| Scan Type | PERIODIC | PERIODIC or FIXED_DELAY |
Step 3: creating frames
Section titled “Step 3: creating frames”Define one frame per ASDU type:
| Parameter | Example | Description |
|---|---|---|
| Type | Measured Value, Short Float | The ASDU type |
Typical frames
Section titled “Typical frames”| Frame name | Type | Used for |
|---|---|---|
| Digital Input | Single Point Information | Breaker and isolator states |
| Double Digital | Double Point Information | Breaker positions (open / closed / in transit / indeterminate) |
| Analogue Measurement | Measured Value, Short Float | Current, voltage and power measurements |
| Normalised Measurement | Measured Value, Normalized | Integer measurements in the ±32767 range |
| Scaled Measurement | Measured Value, Scaled | Scaled integer measurements |
Step 4: creating variables
Section titled “Step 4: creating variables”An IEC 104 variable is identified by its IOA (Information Object Address):
| Parameter | Example | Description |
|---|---|---|
| Use IOA Addresses | true | IOA addressing mode |
| Read Address | 100 | Read address (simple mode) |
| Write Address | 100 | Write address (simple mode) |
| Read IOA Address 1 | 0 | IOA read address, byte 1 |
| Read IOA Address 2 | 0 | IOA read address, byte 2 |
| Read IOA Address 3 | 100 | IOA read address, byte 3 |
| Write IOA Address 1 | 0 | IOA write address, byte 1 |
| Write IOA Address 2 | 0 | IOA write address, byte 2 |
| Write IOA Address 3 | 100 | IOA write address, byte 3 |
Read and Write Address Usage Pattern
Section titled “Read and Write Address Usage Pattern”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.
Best Practice: Use the Same IOA Address
Section titled “Best Practice: Use the Same IOA Address”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:
| Operation | ASDU Type | Type Group | Direction |
|---|---|---|---|
| Read | M_SP_NA_1 (TI 1) | Single Point Information | Monitoring |
| Read (timestamped) | M_SP_TB_1 (TI 30) | Single Point Information | Monitoring |
| Write | C_SC_NA_1 (TI 45) | Single Command | Control |
| Write (timestamped) | C_SC_TA_1 (TI 58) | Single Command | Control |
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:
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:
| Variable | Read Address | Write Address | Read ASDU | Write ASDU |
|---|---|---|---|---|
| Breaker_1 | 100 | 100 | M_SP_NA_1 | C_SC_NA_1 |
| Temp_Setpoint | 200 | 200 | M_ME_NC_1 | C_SE_NC_1 |
Step 5: Start the Connection
Section titled “Step 5: Start the Connection”Start the connection from the Runtime Control Panel. inSCADA will automatically:
- Establish the TCP connection
- Send STARTDT (Start Data Transfer)
- Start background scan (if configured)
- Begin listening for spontaneous events
The connection status will show “Connected”.