IEC 60870-5-104 Protocol
IEC60870-5-104 enables communication between IED, RTU control station and substation via a standard TCP/IP network. The TCP protocol is used for connection-oriented secure data transmission.

IEC 60870-5-104 protocol (IEC 104) is a part of IEC Telecontrol Equipment and Systems Standard IEC 60870-5 that provides a communication profile for sending basic telecontrol messages between two systems in electrical engineering and power system automation.
IEC 60870 part 5 is one of the IEC 60870 set of standards which define systems used for telecontrol (supervisory control and data acquisition SCADA) in electrical engineering and power system automation applications. Part 5 provides a communication profile for sending basic telecontrol messages between two systems, which uses permanent directly connected data circuits between the systems. The IEC Technical Committee 57 (Working Group 03) have developed a protocol standard for telecontrol, teleprotection, and associated telecommunications for electric power systems. The result of this work is IEC 60870-5. Five documents specify the base IEC 60870-5:

• IEC 60870-5-1 Transmission Frame Formats
• IEC 60870-5-2 Data Link Transmission Services
• IEC 60870-5-3 General Structure of Application Data
• IEC 60870-5-4 Definition and Coding of Information Elements
• IEC 60870-5-5 Basic Application Functions
• IEC 60870-5-6 Guidelines for conformance testing for the IEC 60870-5 companion standards
• IEC TS 60870-5-7 Security extensions to IEC 60870-5-101 and IEC 60870-5-104 protocols (applying IEC 62351)

The IEC Technical Committee 57 has also generated companion standards:
• IEC 60870-5-101 Transmission Protocols - companion standards especially for basic telecontrol tasks
• IEC 60870-5-102 Transmission Protocols - Companion standard for the transmission of integrated totals in electric power systems (this standard is not widely used)
• IEC 60870-5-103 Transmission Protocols - Companion standard for the informative interface of protection equipment
• IEC 60870-5-104 Transmission Protocols - Network access for IEC 60870-5-101 using standard transport profiles
• IEC TS 60870-5-601 Transmission protocols - Conformance test cases for the IEC 60870-5-101 companion standard
• IEC TS 60870-5-604 Conformance test cases for the IEC 60870-5-104 companion standard

Interoperability between devices by different vendors is ensured by the interoperability list, which is defined by the standard. In the list, the function range is defined for each device by marking the applicable functions. The common denominator between different vendor lists defines the possible function range.





Salient Features

  • Easy to integrate
  • Low memory footprint
  • Follows corporate coding standards: Efficient and compact, yet easy to read, understand, and debug
  • Written in ANSI-Standard C Source Code, and supports C++, C# .NET (Wrapper Class)
  • Can be used with or without a Real Time Operating System (RTOS).
  • Transparent licensing scheme - No hidden costs, No deferred payments.
  • High performance, robust and scalable architecture
  • Provides a simple method for systems Integrators and OEMs to utilize standard tools to implement their systems
  • Our stacks are fully compliant with "POSIX" and tested in ARM, ubuntu, feroda, Debian, QNX, Linux Embedded OS and Various Cross compiler tool chains.
    Our all protocol stack supports "POSIX compliant operating system"
  • Context-based event-driven model
  • Multiple Server and Client Simulation
  • In a Single Server(link) simulate Multiple Stations (Common Address)
  • Supports Background Scan, Cyclic Data Transmission, Double Transmission, Redundancy and File transfer.
  • Communication with redundant control systems and interruption-free switch over between redundant systems
  • Supports "Select-Before-Operate" and "Direct-Execute" command execution modes
  • In IEC 60870-5-104 Client Side, Data Mode and Test mode connection type available.
  • Complete file transfer support (file transfer - monitor and control direction)


  • Royalty-free Readily deployable IEC 104 RTU Server and Client Stack on royalty-free basis
  • Developed in C language and can be ported to any Microcontroller platform, Support C, C++, C# (.NET) programming
  • Enables faster firmware development of IEC 60870-5-104 enabled field devices
  • Supports all the major ASDU(Monitor, Control, Parameter, File Transfer)

Supported Information Types


Process information in monitoring direction :

 

1 Single point information M_SP_NA_1
2 Single point information with time tag M_SP_TA_1
3 Double point information M_DP_NA_1
4 Double point information with time tag M_DP_TA_1
5 Step position information M_ST_NA_1
6 Step position information with time tag M_ST_TA_1
7 Bit string of 32 bit M_BO_NA_1
8 Bit string of 32 bit with time tag M_BO_TA_1
9 Measured value, normalized value M_ME_NA_1
10 Measured value, normalized value with time tag M_ME_TA_1
11 Measured value, scaled value M_ME_NB_1
12 Measured value, scaled value with time tag M_ME_TB_1
13 Measured value, short floating point value M_ME_NC_1
14 Measured value, short floating point value with time tag M_ME_TC_1
15 Integrated totals M_IT_NA_1
16 Integrated totals with time tag M_IT_TA_1
17 Event of protection equipment with time tag M_EP_TA_1
18 Packed start events of protection equipment with time tag M_EP_TB_1
19 Packed output circuit information of protection equipment with time tag M_EP_TC_1
20 Packed single-point information with status change detection M_PS_NA_1
21 Measured value, normalized value without quality descriptor M_ME_ND_1

 

Process telegrams with long time tag ( 7 octets ) :

 

30 Single point information with time tag CP56Time2a M_SP_TB_1
31 Double point information with time tag CP56Time2a M_DP_TB_1
32 Step position information with time tag CP56Time2a M_ST_TB_1
33 Bit string of 32 bit with time tag CP56Time2a M_BO_TB_1
34 Measured value, normalized value with time tag CP56Time2a M_ME_TD_1
35 Measured value, scaled value with time tag CP56Time2a M_ME_TE_1
36 Measured value, short floating point value with time tag CP56Time2a M_ME_TF_1
37 Integrated totals with time tag CP56Time2a M_IT_TB_1
38 Event of protection equipment with time tag CP56Time2a M_EP_TD_1
39 Packed start events of protection equipment with time tag CP56time2a M_EP_TE_1
40 Packed output circuit information of protection equipment with time tag CP56Time2a M_EP_TF_1

 

Process information in control direction :

 

45 Single command C_SC_NA_1
46 Double command C_DC_NA_1
47 Regulating step command C_RC_NA_1
48 Setpoint command, normalized value C_SE_NA_1
49 Setpoint command, scaled value C_SE_NB_1
50 Setpoint command, short floating point value C_SE_NC_1
51 Bit string  32 bit C_BO_NA_1

 

Command telegrams with long time tag ( 7 octets ) :

 

58 Single command with time tag CP56Time2a C_SC_TA_1
59 Double command with time tag CP56Time2a C_DC_TA_1
60 Regulating step command with time tag CP56Time2a C_RC_TA_1
61 Setpoint command, normalized value with time tag CP56Time2a C_SE_TA_1
62 Setpoint command, scaled value with time tag CP56Time2a C_SE_TB_1
63 Setpoint command, short floating point value with time tag CP56Time2a C_SE_TC_1
64 Bit string 32 bit with time tag CP56Time2a C_BO_TA_1

 

System information  in monitoring direction :

 

70 End of initialization M_EI_NA_1

 

System information in control direction :

 

100 (General-) Interrogation command C_IC_NA_1
101 Counter interrogation command C_CI_NA_1
102 Read command C_RD_NA_1
103 Clock synchronization command C_CS_NA_1
104 ( IEC 101 ) Test command C_TS_NB_1
105 Reset process command C_RP_NC_1
106 ( IEC 101 ) Delay acquisition command C_CD_NA_1
107 Test command with time tag CP56Time2a C_TS_TA_1

 

Parameter in control direction :

 

110 Parameter of measured value, normalized value P_ME_NA_1
111 Parameter of measured value, scaled value P_ME_NB_1
112 Parameter of measured value, short floating point value P_ME_NC_1
113 Parameter activation P_AC_NA_1

 

File transfer :

 

120 File ready F_FR_NA_1
121 Section ready F_SR_NA_1
122 Call directory, select file, call file, call section F_SC_NA_1
123 Last section, last segment F_LS_NA_1
124 Ack file, Ack section F_AF_NA_1
125 Segment F_SG_NA_1
126 Directory F_DR_TA_1
127 QueryLog – Request archive file F_SC_NB_1

 

Protocol Features

  • Application Layer
    On-demand transmission (e. g. single indications, analogs...)
    Spontaneous transmission (e. g. single indications with time tag ...)
    Direct command transmission (with select before operate)
    Clock synchronization
    File Transfer
  • Address Space
    Common Address of ASDU: 1..65535
    Information object address: 1..16777215

Application Examples
  •     Integrate existing devices to a modern control system with a field proven product
  •     Use the IEC-104 event based communication instead of polling
  •     Feeder automation
  •     Substation automation
  •     Utility automation
  •     Reclosers
  •     Protection relays

Licensing

  • Perpetual
  • One-time payment, royalty-free
  • Unlimited production volume
  • Neither license manager nor dongle required

Source Code License model:

In this License model, We deliver complete source code of the protocol implementation according to the customer specified operating system(Windows, Linux, QNX...).

Customer may embed the library into unlimited copies of Multiple end-use products for worldwide manufacturing, branding and distribution. Original equipment manufacturers choose this model. They usually have multiple products in their pipeline.

Compiled Library License model:

In this License model, We deliver Dynamic/ Static compiled library (dll / lib) of the protocol implementation according to the customer specified operating system(Windows, Linux, QNX...).

Customer may embed the library into unlimited copies of Multiple end-use products for worldwide manufacturing, branding and distribution. Original equipment manufacturers choose this model. They usually have multiple products in their pipeline.


You can also try our IEC 60870-5-104 Protocol Server Simulator, IEC 60870-5-104 Protocol Client Simulator, IEC 60870-5-104 Protocol Windows SDK and IEC 60870-5-104 Protocol Linux SDK



IEC 60870-5-104 Protocol Video Tutorial


Download Free Evaluation Kit - IEC 60870-5-104 Protocol Development Bundle

In the Development Bundle, We included IEC 60870-5-104 Protocol Server Client Simulator, Windows and Linux SDK, C# projects, Doxygen documentation and Raspberry Pi, BeagleBone Demo library.


* Required fields

We recommend using your Bussiness email address.
Your contact information will not be sold or used outside of our organization as per our privacy policy.