I uploaded HydroInterOp examples for libiec61850. These examples are provided by Denis Francesconi (Hydro Quebec) to show how to use data models for hydro power plants based on IEC 61850-7-410. The HydroInterOp examples are a forward step in the development of inter-operable and interchangeable plant level IEDs for hydro power plants (HPP), that is one step closer to having “HPP ready” certified IEDs. HydroInterOp is based on the ongoing work within IEC-TC57 WG18 to develop an implementable hydro information model and conformance test cases based on the IEC 61850 suite. Currently the WG18 is working on a conformance test case document IEC TS 61850-10-210.
The examples work with libIEC61850 version 0.8.4 out of the box. In order to be used with more recent versions of libIEC61850 the data models (static_model.c/.h) have to be recreated by the genmodel.jar tool.
The iGigaSwitch 1604E by Nexans Deutschland GmbH, Advanced Networking Solutions is the first network switch device with integrated IEC 61850 server and UCA level A certificate. It is using the libIEC61850 IEC 61850/MMS implementation and recently received its UCA level A certificate for edition 2 of the standard. IEC 61850 can be used to monitor and configure the proper operation of the device. This device is the next step to a substation using IEC 61850 as the only SCADA communication protocol.
The update to release 0.8.2 contains a lot of small extensions and bug fixes. Some of the most notable changes are support for setting group control, a refactoring of the GOOSE subscriber and the extensions to the C# client API.
This new release brings some internal refactoring and some small changes in HAL. This was required to make the threading behavior of the server side stack more configurable. Starting with this release a user of the library can select between a multi-threaded or single-threaded operation mode and a “thread-less” operation mode that doesn’t use threads at all. The new operation modes are intended to save resources. The non-threaded operation mode simplifies porting to platforms where pre-emptive multi-threading is not available or too expensive. Therefore it is especially applicable for small embedded systems. Here you can find instructions on how to control the threading behavior. Also the C# client API has been extended and the documentation has been improved. An online API documentation for C# can be found here.
Release 0.7.7 contains a lot of small improvements and bug fixes (please have a look at the changelog for more details). Some improvements worth mentioning are the socket and ethernet layer implementations for Mac OS X (thanks to Michael Clausen / HES-SO Valais) and the C# client API that will be an inherent part of future releases of the library. Please be aware that the current implementation of the C# API should be considered as a preview version with some functions of the library still missing. The C# wrapper library and examples are working on current versions of the .NET framework as well as with Mono 3.x on Linux and Mac OS X.
Many people are wondering how to get started with data modeling and configuration of IEC 61850 devices (IEDs). This is usually done by creating an ICD (IED Capability Description) file – a special variant of SCL (Substation Configuration Language). A straightforward way is to modify some existing examples. But this can become very difficult and error prone. SCL is not intended to be modified by hand, but to be generated and handled by tools. There is now a new SCL modeling and editing tool called IEDModeler by RedWind that you can use to get started. It is available free of charge for non-commercial purposes. Its aim is to simplify the creation and handling of SCL files for all kind of IEC 61850 applications. You can download it from
http://iedmodeler.com. There you can also find documentation to get started.
Today I released version 0.7.2. The most important new features are the possibility to create data models at runtime by means of the server API, and to create data models at runtime by parsing a configuration file. The file format is very simple to avoid much overhead due to the file parser. As a consequence it is not any longer required to recompile and update the application program when changing the data model structure or adding some model elements. Integrated in this release is also a tool to create server configuration files by SCL files. The other major change is the integration of a more flexible mechanism for client authentication and access control. This version also includes new examples for the new features since version 0.7 (including file read and directory services).
Yesterday at the e-world 2014 (energy and water exhibition) in Essen, Germany the “VHP-Ready Industrieforum” has been founded by 14 partners (see press release by Fraunhofer FOKUS – in German only). VHP-Ready (VHP stands for Virtual Heat and Power) is a specification formerly developed by Vattenfall for the integration of CHPs (Combined heat and power plants), heatpumps and similar devices into virtual power plants. With the foundation of the “Industrieforum” it is intended to bring the development of the specification on a broader base. VHP-Ready allows the communication between decentralized energy resources (DER) by means of international standard communication protocols (one of IEC 61850-7-420 or IEC 60870-5-104). Optimax Energy (founding member of the “Industrieforum”) and MZ Automation together have a ready-to-go technical solution for VHP-Ready 3.0 compliant virtual power plants using the libIEC61850 protocol stack for communication between DER units and control centers.
Today I am happy to announce version 0.7 of libIEC61850. The most important new features are support for buffered reporting and a very flexible mechanism to perform server-side access control to data attributes. Also the client API has been extended to provide easy access to report and GOOSE control blocks. Also included is client support for abort and release services. Next to these more visible changes also a lot of smaller changes and bug fixes have been included in this release. I also uploaded a datasheet that contains a list of the ACSI services supported by this version.
The latest version of libIEC61850 contains a demo project for the BeagleBone and the BeagleBone Black boards. The BeagleBone is a low cost embedded Linux board featuring a Cortex-A8 processor from Texas Instruments (see http://beagleboard.org/Products/BeagleBone+Black). The BeagleBone Black can be purchased from various vendors for approximately 45 EUR.
The demo consists of an IEC61850/MMS server providing access to the four LEDs of the Beaglebone. Also included is a simple client application that performs some actions with the LEDs. Access to the LEDs is modeled with GGIO logical nodes. It should be easy to extend the demo to control GPIOs and port it to other embedded linux boards like the Raspberry Pi or the Carambola 2 board.
At the moment the demo is primarily intended to illustrate the usage of IEC 61850 control models with libIEC61850. The first three LED are modeled as a single point control (SPC) whilst the last LED is modeled as a double point control (a flashing LED represent the intermediate state).
To run the demo on the BeagleBone you need a cross-compile GCC toolchain installed on your development system. E.g. on a current Ubuntu system (tested with Ubuntu 13.04) you can easily install such a tool chain by typing
apt-get install gcc-4.7-arm-linux-gnueabi
on the command line.
Then go to the demo/beaglebone folder and enter
Depending on the OS installed on the BeagleBone you may require a different tool chain. The instructions have been tested with the stock firmware installed on the BeagleBone Black.
If you have successfully compiled the demo you can copy the created binary to the BeagleBone and execute it. Then you can use a generic client to trigger the LEDs by performing operate requests on the data objects representing the LEDs. Or you can modify the provided demo client to trigger the LEDs.
Depending on the version/firmware of the BeagleBone you may have to adjust the file paths for LED control in the file demos/beaglebone/beaglebone_leds.h.
The demo will be extended with future versions of libIEC61850 to illustrate the usage of new features.