# 14.2 IEC 60870-5-101 Master The IEC 60870-5-101 protocol is a companion standard for power system monitoring, control associated communications for telecontrol, teleprotection and associated telecommunications for electric power systems. Standard IEC 60870-5-101 was prepared by IEC Technical Committee 57 (Power system control and associated communications). Standard IEC 60870-5-101 defines an **Application Service Data Unit** (**ASDU** Figure below). In ASDU there is an ASDU identifier (with the type of ASDU in it) and information objects. IEC 60870-5-101 ASDU structure **Common Address of ASDU** Defines the stations' address and can be configured in Devices asdu\_address field for source and *Signals* common\_address field for the destination. **Information Object Address** Used as destination object address in the control direction and as source object address in the monitor direction can be configured in the Signals info\_address field. Standard IEC 60870-5-101 transmission frames are separated into 3 different types: **frame with variable length**, **frame with fixed length,** and **single control characters** [](https://wiki.elseta.com/uploads/images/gallery/2021-11/image-1638259001158.png) IEC 60870-5-101 ASDU structure **The control field** provides information about the message direction, type of service, and checksum. **The address field** specifies the link address which points to the message's destination. WCC Lite supports IEC 60870-5-101 Master protocol over a serial link (according to EIA RS485). Its full functionality list can be found in an [IEC 60870-5-101 PID Interoperability List](https://wiki.elseta.com/link/180#bkmrk-pid%27s) which can be downloaded separately from this user manual. ### Configuring datapoints (master) The IEC 60870-5-101 Master in WCC Lite has to be configured in Excel. This configuration contains two Excel sheets where parameters must be filled in Devices and Signals. ##### IEC 60870-5-101 master parameters for *Devices* tab
**Parameter | **Type | **Description | **Required | **Default value** (when not specified) | **Range** | |
Min | Max | |||||
name | string | User-friendly name for a device | Yes | |||
description | string | Description of a device | No | |||
device\_alias | string | Alphanumeric string to identify a device | Yes | |||
enable | boolean | Enabling/disabling of a device | No | 1 | 0 | 1 |
protocol | string | Protocol to be used | Yes | IEC 60870-5-101 master | ||
device | string | Communication port | Yes | PORT1 | PORT2 | |
baudrate | integer | Communication speed (bauds/s) | No | 9600 | 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 | |
databits | integer | Data bit count for communication | No | 8 | 6 | 9 |
stopbits | integer | Stop bit count for communication | No | 1 | 1 | 2 |
parity | string | Communication parity option | No | none | none, even, odd | |
flowcontrol | string | Number of requests, before the link is considered lost (device status signals are changed) and reconnect attempt will be issued | No | none | none | |
link\_address | integer | Destination address when in transmit and source address when broadcasting | Yes | 0 | 65535 | |
link\_size | integer | Link address size in bytes | No | 1 | 1 | 2 |
asdu\_address | integer | Application Service Data Unit address | Yes | 0 | 65535 | |
asdu\_size | integer | Common address size in bytes | No | 1 | 1 | 2 |
ioa\_size | integer | Information object address (IOA) size in bytes | No | 2 | 1 | 3 |
cot\_size | integer | Cause of transmission (COT) size in bytes | No | 1 | 1 | 2 |
time\_sync\_interval\_sec | integer | Defines how often (in seconds) a slave will request time synchronization. **If greater than 0** – slave will request synchronizations and will reset the timer if the master did it earlier. **If 0** – slave won’t request timesyncs, but will allow them. **If 1** – time syncs are not supported, all time sync requests will be dropped. | No | 60 | ||
gi\_interval\_sec | integer | The time frame between General Interrogation requests in seconds if 0 requests are disabled | No | 300 | ||
scan\_rate\_ms | integer | Polling interval in milliseconds. The time frame between two telegrams from the master | No | 100 | ||
timeout\_ms | integer | Response timeout in milliseconds | No | 1000 | ||
retry\_count | integer | Number of retries of failed requests before announcing that the device is in Error state | No | 1 |
**Parameter** | **Type** | **Description** | **Required | **Default value** (when not specified) | **Range** | |
Min | Max | |||||
signal\_name | string | User-friendly signal name | Yes | |||
device\_alias | string | Alphanumeric string to identify a device | Yes | |||
signal\_alias | string | Unique alphanumeric name of the signal to be used | Yes | |||
source\_device\_alias | string | device\_alias of a source device | For commands | |||
source\_signal\_alias | string | signal\_alias of a source signal | For commands | |||
enable | boolean | Enabling/disabling of an individual signal | No | 1 | 0 | 1 |
log | integer | Allow signal to be logged. If the **log is 0 signal** will not be logged. If the **log is more than 0** signal will be logged | No | 0 | ||
gi | boolean | Including/excluding (1 or 0) signals from General Interrogation | No | 0 | 0 | 1 |
common\_address | integer | Address of a destination device | No | 1 | ||
info\_address | integer | Information object address | Yes | |||
data\_type | integer | ASDU type identifier | Yes | 1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13, 14, 30, 31, 32, 34, 35, 36, 45, 46, 47, 48, 49, 50 | ||
periodic\_update\_ms | integer | Signal value is published periodically according to the value set. | No |