Crisce / IEC60870-5-104

Libraries about IEC60870-5-104 protocol
16 stars 10 forks source link

IEC60870-5-104

The software implements communication via IEC60870-5-104 on arduino, you can use multiple instances of "MASTER" and "SLAVE" objects to connect Arduino with PLCs or RTU that use this protocol.

In v1.0.1 are supported:
M_SP_NA_1 - Single-point information
M_DP_NA_1 - Double-point information
M_ME_NA_1 - Measured value, normalised value
C_SC_NA_1 - Single command
C_DC_NA_1 - Double command
C_IC_NA_1 - Interrogation Command
M_EI_NA_1 - End of Initialization

By command "setParam(byte,bool)" you can set some telegrams to be sent to the connection establishment:
0 - M_EI_NA_1 - End of Initialization
1 - C_IC_NA_1 - Interrogation Command (Valid only for MASTER instance)

The library was tested on ESP32 with WiFi and Ethernet. To enable WIRED mode you need to #define IECWIRED in IEC60870-5-104.h file. Only for ESP32 the Ethenet library needs the Server.h file to be modified: you need to change "virtual void begin(uint16_t port=0) =0;" line with this "virtual void begin() =0;" (without commas).