# 15.2 IEC 61850 Server WCC Lite can act as a IEC 61850 server to serve data to remote SCADA systems. For example, WCC Lite can be used to acquire data from various protocols (Modbus, IEC 60870-5-103, etc.), this data can be redirected and propagated further to a single or multiple IEC 61850 clients. IEC 61850 Server supports TCP and TLS connection types. TCP connection can be secured with password authentication. #### Commands WCC Lite **IEC 61850 Server** implementation defines four command types which are described by their control model: - **Case 1**: Direct control with normal security (direct-operate); - **Case 2**: SBO control with normal security (operate-once or operate-many); - **Case 3**: Direct control with enhanced security (direct-operate); - **Case 4**: SBO control with enhanced security (operate-once or operate-many). Normal security commands are considered for execution if the command signal is found in Excel configuration. There aren’t any additional checks in command execution in any master protocol. Enhanced security commands need feedback from master protocol to either to succeed or fail. If feedback is not received within **command\_ack\_timeout\_ms** timeframe, the command is considered as failed. Command value attributes (e.g. stVal) must be updated separately (if they need to be updated).
When using SBO commands, select is not routed to master protocol and select logic is performed only in IEC 61850 Server protocol.
#### Configuring datapoints To use IEC 61850 Server in WCC Lite, it has to be configured via an Excel configuration and data model must be uploaded. This configuration contains two Excel sheets where parameters have to befilled in - Devices and Signals. ##### IEC 61850 Server 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 61850 Server | ||
tls | string | Selecting if TLS should be used | No | 0 | 0 | 1 |
bind\_address | string (IP address format) | IP address of and interface to use with server | No | 0.0.0.0 | ||
host | string (IP address format) | IP address list of allowed IPs (separated with spaces) | Yes | |||
port | integer | TCP communication port | Yes | |||
tls\_local\_certificate | string | Local certificate for TLS connection | Yes (for TLS) | |||
tls\_peer\_certificate | string | Certificate authority file for TLS connection | Yes (for TLS) | |||
tls\_private\_key | string | File consisting of private key for TLS connection | Yes (for TLS) | |||
event\_history\_size | integer | Event log size | No | |||
ied\_name | string | Name of an Intelligent Electronic Device | Yes | |||
authorization | string | Authorization type | No | password | ||
password | string | Authorization password for server device | Yes (if authorization is yes) | |||
model\_filename | string | Filename of data model uploaded to WCC (with or without file extension) | Yes | |||
edition | string | Which IEC61850 edition to use. | No | 2 | 1,2, 2.1 | |
command\_ack\_timeout\_ms | integer | Timeframe (ms) in which enhanced-security commands must be acknowledged (Default: 3000) | No | 3000 | ||
report\_buffered\_size | integer | Report control blocks buffer size in bytes (Default: 65536) | No | 65536 | ||
report\_unbuffered\_size | integer | Unbuffered report control blocks buffer size in bytes (Default: 65513) | No | 65513 |
**Parameter** | **Type** | **Description** | **Required | **Default value** (when not specified) | **Range** | |
Min | Max | |||||
signal\_name | string | User-friendly signal name | Yes | |||
device\_alias | string | Device alias from a Devices tab | Yes | |||
signal\_alias | string | Unique alphanumeric name of the signal to be used | Yes | |||
enable | boolean | Enabling/disabling of an individual signal | No | 1 | 0 | 1 |
log | boolean | Allow signal to be logged. If **log is 0 signal** will not be logged. If **log is more than 0** signal will be logged | No | 0 | ||
number\_type | string | Number format type (BOOLEAN, FLOAT, INT16, etc.) | Yes | |||
ld\_instance | string | Instance of a logical device | Yes | |||
ln\_class | string | Logical node class type | Yes | |||
ln\_instance | integer | Instance of a logical node | No | |||
ln\_prefix | string | Prefix of logical node string | No | |||
cdc | string | Common Data Class (CDC) name | Yes | SPS, DPS, INS, ENS, ACT, ACD, MV, CMV, SAV, SPC, DPC, INC, ENC, BSC, ISC, APC, BAC | ||
data\_object | string | Name of data object in dataset | Yes | |||
da\_value | string | Name of a data attribute value node | Yes | |||
da\_time | string | Name of a data attribute time node | No | |||
da\_quality | string | Name of a data attribute quality node | No | |||
da\_fc | string | Functional constrain for data object | Yes | ST,MX, CO, SP | ||
control\_model | string | Model of output control | No | status-only | status-only, direct-with-normal-security, sbo-with-normal-security, direct-with-enhanced-security, sbo-with-enhanced-security |
If IEC 61850 Server does not work properly (e.g. no communication between devices, data is corrupted, etc.), a user can launch a debug session from command line interface and find out why the link is not functioning properly.
To launch a debugging session, a user should stop `iec61850-server` process and run` iec61850-server` command with respective flags as you can see below:
``` iec61850-server ``` ```iec61850-server -h [--help] Show help message -c [--config] arg Configuration file location -V [--version] Show version -d [--debug] arg Set Debug level -r [--redis] Show Redis messages -C [--commands] Show command messages -R [--readyfile] arg Ready notification file ```