IEC 61850

Purpose

The purpose of this plugin is to collect data from IEC 61850 equipment.

Usage

IEC 61850 is an international standard. See these references for further information:
https://en.wikipedia.org/wiki/IEC_61850
https://libiec61850.com/libiec61850/documentation/iec-61850-client-tutorial/
https://libiec61850.com/api/group__IEC61850__CLIENT__GENERAL.html
https://adrianoruseler.com/typhoon/t-ug003/References/iec_61850_mms_protocol.html
IEC 61850 is a hierarchical data structure. Each device has a number of Logical Nodes. Each of these Logical Nodes have zero or more variables, objects an/or datasets. Variables and Objects are tightly coupled. Objects can essentially ignored (AFAICT) as they are just the storage locations of the Variables. Datasets are convenient lists of Variables. The automated logging of this plugin revolves around Datasets. In order to discover all attributes, run a discover as follows. The arguments are discussed below.
iec61850_ardexa discover 10.38.240.20 /tmp/iec_auth variables
Authentication is a single "authentication string". There is no username, but some providers abuse the authentication string and embed a username anyway. For example: -user#"admin" -pass#"password_here"

Arguments

Arguments are as follows:
  • endpoint. This is either a serial device like /dev/ttyS0 or an IP or DNS like 192.168.1.15 parameter, ie; the serial connection.
  • auth file location. This contains the authentication string
  • type. This is the type of object to read and can be 1 of the following: datasets, files, variables
#~~~~~~~~~~~~~~~~~~~~~~~~ NOTES FOR ARDEXA ONLY ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Install and Build the iec61850 library, and the Ardpkg file

  • DO the following to create the plugin
  • ONLY build this as sdist. DO NOT use bdist_wheel
... Download the latest library from https://libiec61850.com/libiec61850/downloads/ to the root dir of the plugin
tar xf libiec61850-1.5.0.tar.gz
mv libiec61850-1.5.0 libiec61850
rm -rf libiec61850/dotnet libiec61850/demos libiec61850/examples libiec61850/tools
echo '%include "mms_type_spec.h"' >> libiec61850/pyiec61850/iec61850.i ...# Add more includes for extra functionality
bump the version in setup.py
python3 setup.py sdist ... will result in 650kB file in dist/ dir
move the `dist/*.gz` file to the `ardpkg` folder
... make sure you also include ardexaplugin in the `ardpkg` folder
bump the control file version (same as setup.py), then.....
ardpkg build .
Last modified 10mo ago
Copy link
Outline
Purpose
Usage
Arguments
Install and Build the iec61850 library, and the Ardpkg file