Issue
When controlling a device from EPO over the IEC 61850 protocol, sometimes the control does not work. Understanding the reason for non-functional control is important.
Environment
EPO 2022 CU6, IEC 61850 driver version 1.10.02 communication with remote IED.
Cause
There can be multiple reasons for a device not being able to be controlled, ranging from unsupported control models to access denial or incorrect data objects. The exact cause can be found by reading through the LastApplError report.
Definition of LastApplError report: The LastApplError report contains detailed information about the application error that occurred during the control operation. It includes the LastApplError variable, which provides extended information about the alert status.
If a control order does not execute on an IED, a write response from the device will be generated indicating that the control order did not execute. This report contains the LastApplError variable. The IEC 61850 driver allows special tags to be mapped to this variable, providing extended information about the alert status. More details are available in the driver's help file.
Resolution
Below is example scenario and checkpoints to identify IEC 61850 control issues:
1. Capture Logs:
First, capture the Wireshark and EPO/PSO syslogs while trying to control the device. For example, the syslog may show an error indicating that a particular control object failed to operate. Ensure that the debug logging parameters are set in the citect.ini file for IEC61850:
[IEC61850N]DebugLevel=ALL
[IEC61850N]DebugCategory=ALL
Once the issue is reproduced, the logs are available in the syslog.IOServer dat file, typically located in the logs folder: C:\ProgramData\Schneider Electric\Power Operation\v2022\Logs.
2. Check LastApplError:
In the EPO/PSO IEC 61850 driver help, the following table specifies possible values of the AddCause member of the LastApplError structure.
3.Analyze Error Values:
For every failed control, there will be a last application error report containing LastApplError.AddCause values, which describe the error. This can be seen in Wireshark for error value 19 for "Cause-Object-already-selected" as an example.
To quickly identify frames with such information, use the following Wireshark filter for the IEC 61850 MMS protocol and host IPs:
mms && ip.addr == <host_IP>
Using this technique, users can identify the root cause of control issues and resolve them with the help of self-descriptive last application errors.
a) EPO sending control: Below is an attempt to control the object as seen in the Wireshark capture.
b) Device response: This results in the following error in the device response when EPO tries the above command.
c) LastApplError Report: Details in the LastApplError information report sent by the "IEC 61850 server" device show error value 19 as below. Note that it is decoded by the driver in the syslog shared above, indicating "Cause-Object-already-selected".
Error Value 19 indicates that the object has already been selected. This occurs when the client tries to control an already selected object. Users can understand this error value to identify the root cause.
Using this technique, the user can identify root cause of control issues and resolve them with the help of self descriptive last application errors.