Skip to content

IEC60870-5-104 ​

IEC60870-5-104 is a commonly used communication protocol in power automation systems. It uses the TCP/IP protocol as the underlying communication protocol and is used to monitor and control various devices in the power system, such as substations, generators, switches, etc.

For the generic steps, see Create a Southbound Driver and Groups and Tags.

EMQX Neuron supports the acquisition of remote signaling, remote measurement, and remote pulse (electricity call) data in the form of station interrogation, and supports the control of devices through remote control.

Add Driver ​

On Data Collection → South Devices, click Add Device.

  • Name: The name of this device node.
  • Driver: Select the IEC60870-5-104 driver.

Connection Parameters ​

Click the driver card to open the Device Configuration page and fill in:

ParameterDescription
Device IP AddressTarget device IPv4 address
Device PortTarget device port, default 2404
Common AddressASDU Address
Station Interrogation IntervalOptional, station interrogation interval
Sync Time IntervalOptional, the interval of sending sync time (C_CS_NA_1)
Remote Pulse IntervalOptional, the interval of sending remote pulse (C_CI_NA_1)
T0T0 timeout, the timeout of establishing TCP connection, unit: second
T1T1 timeout, the timeout of waiting for a response, unit: second
T2If no I frame is received within T2 time, send S frame, unit: second
T3If no I frame is received within T3 time, send test frame, unit: second
WEnable sync time (C_CS_NA_1)

Tag Configuration ​

The data types and address formats supported by this driver are listed below.

The point attribute is configured as Read, which means that the point will not only regularly report the value of the data point sent by the 104 Server according to the configured Station Interrogation Interval, but also regularly report the data according to the interval of the group .

The point attribute is configured as Subscribe, which means that the point will not only regularly report the value of the data point sent by the 104 Server according to the configured Station Interrogation Interval, but also when the data point changes, EMQX Neuron will also receive the change data points, and report the data points northbound through the northbound application configuration.

TIP

Due to the real-time requirements of the 104 protocol, for points configured as Subscribe, EMQX Neuron will immediately report the changed data points to the northbound application after receiving the changes in the data points, and will not be subject to the interval of the collection group limit.

TIP

When the data points of the collection group are all configured as Subscribe type, even if there is no change in the data points, Station Interrogation will still be triggered.

The point attribute is configured as Write, which means that the point supports EMQX Neuron to actively write data to the 104 Server. Note that the read address and write address of the 104 protocol are separated. A point address is either a read point or a There is no write point that can be read and written at the same time. For specific information, please refer to the relevant documents of the 104 protocol.

Point attributes Subscribe, Read, and Write can only be configured individually.

TIP

It is recommended to configure only one point attribute in the same collection group. For example, in a collection group, only configure points with the Subscribe attribute, or only configure points with the Read attribute, or only configure Write Attribute point.

Address Format ​

IOA

IOA ​

In the IEC60870-5-104 protocol, IOA (Information Object Address) refers to the information object address, which is used to uniquely identify a data object. It is used to specify the address of an information object (remote signaling, remote measurement, remote control, etc.).

Implementation Specification ​

Device Communication Process ​

  • Support protection against loss and duplication of messages, refer to IEC60870-5-104 5.1
  • Support test procedures, refer to IEC60870-5-104 5.2
  • Support control using Start/Stop, refer to IEC60870-5-104 5.3
  • Support Station initialization, refer to IEC60870-5-104 7.1
  • Support acquisition of events, refer to IEC60870-5-104 7.4
  • Support general interrogation, refer to IEC60870-5-104 7.5
  • Support clock synchronization, refer to IEC60870-5-104 7.6
  • Support command transmission, refer to IEC60870-5-104 7.7
  • Support transmission of integrated totals, refer to IEC60870-5-104 7.8

Supported TypeIDs ​

Monitoring Direction ​
  • M_SP_NA_1: Single-point information (BIT, BOOL)
  • M_SP_TB_1: Single-point information with time tag (BIT, BOOL)
  • M_DP_NA_1: Double-point information (BIT, BOOL)
  • M_DP_TB_1: Double-point information with time tag (BIT, BOOL)
  • M_ST_NA_1: Step position information (INT8)
  • M_ST_TB_1: Step position information with time tag (INT8)
  • M_BO_NA_1: Binary output information (UINT32, INT32)
  • M_BO_TB_1: Binary output information with time tag (UINT32, INT32)
  • M_ME_NA_1: Measured value, normalized value (FLOAT32)
  • M_ME_TD_1: Measured value with time tag, normalized value (FLOAT32)
  • M_ME_NB_1: Measured value, scaled value (UINT16, INT16)
  • M_ME_TE_1: Measured value with time tag, scaled value (UINT16, INT16)
  • M_ME_NC_1: Measured value, short floating point value (FLOAT32)
  • M_ME_TF_1: Measured value with time tag, short floating point value (FLOAT32)
  • M_IT_NA_1: Integrated total value (UINT32, INT32)
  • M_ME_ND_1: Measured value, normalized value without quality (FLOAT32)
Control Direction ​
  • C_SC_NA_1: Single command (BIT, BOOL)
  • C_DC_NA_1: Double command (UINT8)
  • C_RC_NA_1: Regulating step command (INT8)
  • C_SE_NA_1: Set point command, normalized value (FLOAT32, -1.0 ~ 1.0)
  • C_SE_NB_1: Set point command, scaled value (UINT16, INT16)
  • C_SE_NC_1: Set point command, short floating point value (FLOAT32)
  • C_BO_NA_1: Binary output command (UINT32, INT32)

TIP

Not supported with time tag types: C_SC_TA_1, C_DC_TA_1, C_RC_TA_1, C_SE_TA_1, C_SE_TB_1, C_SE_TC_1, etc.

Subscribe ​

IEC60870-5-104 supports the subscription of data changes. In EMQX Neuron, you need to configure the Subscribe attribute for the tag. When the device sends the changed data to EMQX Neuron, EMQX Neuron will send the change message to the corresponding northbound application in time.

TIP

Tags that support time and quality will optionally upload the quality and time of the tag.

Address Examples ​

IOATypeDescription
100M_SP_NA_1Read the single-point information at IOA 100
1000C_SC_NA_1Single command: write a single-point value to the information object at IOA 1000
400M_ME_NA_1Read the measured value at IOA 400
4000C_SE_NA_1Set-point command: write to the information object at IOA 4000

Where IOA 100 and 1000 are mapped to each other, a value written to 1000 can be read back from 100; the same applies to 400 and 4000.

Use Case ​

You can simulate an IEC60870-5-104 device and test its connection to EMQX Neuron using the IEC 60870-5-104 Server Simulator. For specific steps, refer to IEC 60870-5-104 Server Simulator.