Skip to main content

IEC 60870-5-104 Master

Purpose

This plugin connects to an IEC 60870-5-104 (IEC104) outstation, runs general interrogation, receives reported data, synchronizes time, and issues approved single or double commands. It is named Iec104Master in the device selector.

See Collection Configuration for common channel, device, variable, and data-format settings. This page covers only IEC104 settings, addresses, special methods, and debug tools.

Open the plugin

Open Development Configuration → Collection Configuration, create a TCP client channel, then create a device using Iec104Master.

Supported scope

ItemDescription
ChannelTCP client.
Data typesBoolean, Byte, common signed/unsigned integers, Float, Double, and String.
Writable typesSingle commands 45/58 and double commands 46/59. Other types are collected only.

Plugin properties

SettingDefaultRangeDescription
Common address11 to 65534Default for manual commands; collection variable addresses must include ca.
Send window K121 to 32767Maximum unacknowledged transmitted I-frames.
Interrogation retry count00 or greaterRetries after a failed general interrogation.
Idle test interval T320000 ms1 to 2147483647Link-test interval after the connection becomes idle.
Interrogation completion timeout180000 ms1 to 2147483647Maximum wait from activation to termination for general or group interrogation.

The master acknowledges each valid I-frame immediately with an S-frame (W=1), before processing point data. Acknowledgements bypass the configured send delay. W and T2 are not configurable plugin properties.

Address rules

Use ca=common address;type=type identifier;ioa=information object address. All values are decimal.

PartRangeDescription
ca1 to 65534Common address.
type1 to 255IEC104 type identifier.
ioa0 to 16777215Information object address.
group1 to 16Optional interrogation group, matching the outstation configuration. Maps to QOI 21 through 36. Omit this segment for an ungrouped point; zero and empty values are invalid.

Example: ca=1;type=13;ioa=100;group=1. Values are updated by interrogation or spontaneous reports. Variable writes support only type=45/58 single commands and type=46/59 double commands.

Interrogation scheduling

On initial connection and reconnection, the master runs one general interrogation (QOI=20) per common address. All read plans for that address share this initialization.

If every collected protocol variable has a group, periodic requests are grouped by common address, interrogation group, and packing interval. Group 1 uses QOI=21; group 16 uses QOI=36. Different intervals within one group create separate read plans.

If even one collected protocol variable omits group, all periodic requests for the device use general interrogation, grouped by common address and packing interval. Disabled, write-only, and special-method variables do not affect this decision. The interval comes from the variable, or the device default when the variable interval is empty. Spontaneous reports continue updating values in both cases.

Special methods

Choose the method under the variable's Special Method field and enter the listed arguments in the variable address field.

Selector valuePurposeArguments
GeneralInterrogationAsyncRun general interrogationqualifier,common address
TestLinkAsyncRun a link testNone
SynchronizeClockAsyncSynchronize outstation timetimestamp,common address
SelectSingleCommandAsyncSelect a single commandfull address,state,time tag
ExecuteSingleCommandAsyncExecute a single commandfull address,state,time tag
SelectDoubleCommandAsyncSelect a double commandfull address,state,time tag
ExecuteDoubleCommandAsyncExecute a double commandfull address,state,time tag

Functions

FunctionPurpose
Link statusUse Link status to check the connection state and latest result.
Plugin operationUse the controls on this plugin page and review the returned result.
Report monitoringUse Report monitoring to inspect mapped values, status, counters, recent messages, or the latest result.
Plugin operationUse the controls on this plugin page and review the returned result.
Plugin operationUse the controls on this plugin page and review the returned result.
MessagesView sent and received frames, protocol fields, and error details.
Protocol debug workspaceUse Protocol debug workspace to send or inspect protocol frames and view the device or target response.

Device debug

Open Development Configuration → Collection Configuration, select the IEC104 device, then open Debug → Protocol Debug · Iec104Master.

FeaturePurpose
Link and InterrogationTests the link and runs general interrogation.
Clock SynchronizationSynchronizes the selected time to the outstation.
Remote ControlRuns single or double select/execute commands.

Run Link Test first, then enter the interrogation qualifier and common address and run General Interrogation. The protocol result should show a valid outstation confirmation.

IEC104 link and interrogation debug

Clock synchronization

Verify the timestamp and common address before synchronizing. This changes the outstation clock, so first verify the gateway time zone and system time.

IEC104 clock synchronization debug

Remote control

Select Single or Double and enter the full logical address, target value, and optional time tag. For select-before-operate, run Select and wait for success before Execute.

IEC104 remote control debug

A remote command changes field equipment state. Verify ca, type, ioa, target value, and interlocks before confirming the high-risk operation.

Verify the configuration

  1. Run Link Test and confirm a valid outstation response.
  2. Run one general interrogation and confirm configured variables update under the expected common address.
  3. Verify that reported variables continue to update.
  4. Test remote control only with site approval and satisfied interlocks.

Troubleshooting

SymptomCheck
Link test failsTCP channel, outstation port, network, and existing connection ownership.
Interrogation returns no dataCommon address, qualifier, group assignment, and outstation point list.
Variable does not updateca, type, ioa, data type, and reported-data configuration.
Command is rejectedCommand type, select/execute order, target value, time tag, outstation permission, and equipment interlock.
Frequent disconnectsSend window K, idle interval T3, prompt S-frame acknowledgements, timeout settings, and network quality. Increase the packing interval if requests are too frequent.