Skip to main content

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

IEC 61850 Server parameters for Signals tab
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

Converting and uploading data model

To use IEC61850 Server protocol in WCC Lite, user must upload a data model in specific format (file extension .cfg). These data models can be converted from SCL files (.icd or .cid files). To convert a data model, the user must use WCC Excel Utility. There’s a separate tab for this operation as shown in picture below.

image-1601465307717.png

Converted file can be uploaded in WCC Lite web interface, Protocol Hub section. Current model can be also downloaded in the same page as shown in picture below.

image-1601465353342.png

Debugging an IEC 61850 server application

If the configuration for IEC 61850 Server is set up, a handler for the protocol will start automatically. If the configuration is missing or contains errors, the protocol will not start. It is done intentionally to decrease unnecessary memory usage.

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
-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