Skip to content

Commit

Permalink
renamed OpenIEC61850 to IEC61850bean
Browse files Browse the repository at this point in the history
  • Loading branch information
sfeuerhahn committed Jun 25, 2020
1 parent 75ad0eb commit f416a33
Show file tree
Hide file tree
Showing 221 changed files with 832 additions and 846 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# OpenIEC61850
OpenIEC61850 is a library implementing the IEC 61850 standard based on the MMS mapping for client and server communication.
# IEC61850bean
IEC61850bean (previously known as OpenIEC61850) is a library implementing the IEC 61850 standard based on the MMS mapping for client and server communication.

For detailed information on OpenIEC61850 visit https://www.beanit.com/iec-61850/. OpenIEC61850 has recently been moved from https://www.openmuc.org to https://www.beanit.com .
For detailed information on IEC61850bean visit https://www.beanit.com/iec-61850/.
4 changes: 2 additions & 2 deletions asn1/mms/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

cd `dirname $0`

rm -r ../../src/main/java-gen/com/beanit/openiec61850/internal/mms/asn1/*
rm -r ../../src/main/java-gen/com/beanit/iec61850bean/internal/mms/asn1/*

asn1bean-compiler -o "../../src/main/java-gen" -p "com.beanit.openiec61850.internal.mms" -f mms.asn -dv
asn1bean-compiler -o "../../src/main/java-gen" -p "com.beanit.iec61850bean.internal.mms" -f mms.asn -dv
2 changes: 1 addition & 1 deletion asn1/mms/rename-berboolean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

cd `dirname $0`

find ../../ -iname "*.java" | xargs sed -i 's/import com\.beanit\.asn1bean\.ber\.types\.BerBoolean/import com\.beanit\.openiec61850\.internal\.BerBoolean/g'
find ../../ -iname "*.java" | xargs sed -i 's/import com\.beanit\.asn1bean\.ber\.types\.BerBoolean/import com\.beanit\.iec61850bean\.internal\.BerBoolean/g'
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

JARS_LOCATION="build/libs-all"
MAIN_CLASS="com.beanit.openiec61850.app.ConsoleClient"
MAIN_CLASS="com.beanit.iec61850bean.app.ConsoleClient"
SYSPROPS=""
PARAMS=""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
set BATDIR=%~dp0
set LIBDIR=%BATDIR%..\build\libs-all

java -Djava.ext.dirs=%LIBDIR% com.beanit.openiec61850.app.ConsoleClient %*
java -Djava.ext.dirs=%LIBDIR% com.beanit.iec61850bean.app.ConsoleClient %*
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

JARS_LOCATION="build/libs-all"
MAIN_CLASS="com.beanit.openiec61850.app.ConsoleServer"
MAIN_CLASS="com.beanit.iec61850bean.app.ConsoleServer"
SYSPROPS="-Dlogback.configurationFile=logback.xml"

# Attempt to set APP_HOME (from Gradle start script)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
set BATDIR=%~dp0
set LIBDIR=%BATDIR%..\build\libs-all

java -Dlogback.configurationFile=logback.xml -Djava.ext.dirs=%LIBDIR% com.beanit.openiec61850.app.ConsoleServer %*
java -Dlogback.configurationFile=logback.xml -Djava.ext.dirs=%LIBDIR% com.beanit.iec61850bean.app.ConsoleServer %*
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

JARS_LOCATION="build/libs-all"
MAIN_CLASS="com.beanit.openiec61850.clientgui.ClientGui"
MAIN_CLASS="com.beanit.iec61850bean.clientgui.ClientGui"
SYSPROPS=""
PARAMS=""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
set BATDIR=%~dp0
set LIBDIR=%BATDIR%..\build\libs-all

java -Djava.ext.dirs=%LIBDIR% com.beanit.openiec61850.clientgui.ClientGui %*
java -Djava.ext.dirs=%LIBDIR% com.beanit.iec61850bean.clientgui.ClientGui %*
10 changes: 5 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ val javaProjects: Set<Project> = allprojects
val distributionProjects = javaProjects
val docProjects = javaProjects
val repositoryProjects = javaProjects
val cfgModuleName = "com.beanit.openiec61850"
val cfgModuleName = "com.beanit.iec61850bean"

tasks.register<Tar>("tar") {
into(project.name) {
Expand Down Expand Up @@ -71,11 +71,11 @@ dependencies {
runtimeOnly("ch.qos.logback:logback-classic:1.2.3")
}

project.extra["cfgModuleName"] = "com.beanit.openiec61850"
project.extra["cfgModuleName"] = "com.beanit.iec61850bean"

tasks["jar"].withConvention(aQute.bnd.gradle.BundleTaskConvention::class) {
bnd("""
Bundle-Name: OpenIEC61850
Bundle-Name: IEC61850bean
Bundle-SymbolicName: ${project.extra["cfgModuleName"]}
-exportcontents: !*.internal.*,*
Import-Package: com.beanit.asn1bean.*,javax.net,*;resolution:=optional
Expand All @@ -94,8 +94,8 @@ sourceSets {
publishing {
publications {
maybeCreate<MavenPublication>("mavenJava").pom {
name.set("OpenIEC61850")
description.set("OpenIEC61850 is a Java library implementing the IEC 61850 MMS communication standard for clients and servers.")
name.set("IEC61850bean")
description.set("IEC61850bean is a Java library implementing the IEC 61850 MMS communication standard for clients and servers.")

licenses {
license {
Expand Down
22 changes: 11 additions & 11 deletions doc/openiec61850-user-guide.md → doc/iec61850bean-user-guide.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# OpenIEC61850 User Guide
# IEC61850bean User Guide

* unnumbered toc
{:toc}

## Intro

OpenIEC61850 is a library implementing the IEC 61850 standard based on the MMS mapping for client and server communication. It is licensed under the Apache 2.0 license. OpenIEC61850 includes a console client and server as well as a GUI client.
IEC61850bean (previously known as OpenIEC61850) is a library implementing the IEC 61850 standard based on the MMS mapping for client and server communication. It is licensed under the Apache 2.0 license. IEC61850bean includes a console client and server as well as a GUI client.

### Distribution

After extracting the distribution tar file, the OpenIEC61850 library can be found in the folder *build/libs-all*.
After extracting the distribution tar file, the IEC61850bean library can be found in the folder *build/libs-all*.

#### Dependencies

Besides the OpenIEC61850 library the folder *build/libs-all/* contains the following external libraries:
Besides the IEC61850bean library the folder *build/libs-all/* contains the following external libraries:

* *asn1bean* - the ASN.1 BER encoding/decoding library by beanit, license: Apache 2.0, https://www.beanit.com

* *slf4j-api* - a popular logging API. It is only needed if openiec61850 is used to implement a server. The client part does not log anything. License: MIT, http://www.slf4j.org
* *slf4j-api* - a popular logging API. It is only needed if iec61850bean is used to implement a server. The client part does not log anything. License: MIT, http://www.slf4j.org

* *logback-core/logback-classic* - an actual logger implementation of the slf4-api. It is used by the console server application to output log information. It can be replaced by a logger of your choice that supports the slf4j API. Like slf4j it is only needed for server implementations. License: EPLv1.0 and LGPLv2.1, http://logback.qos.ch

Expand All @@ -30,16 +30,16 @@ You can execute the console client and server through the scripts found in the *

### OSI Stack

The OpenIEC61850 library includes an OSI stack implementation as it is needed by the IEC 61850 MMS mapping. The API of the OSI stack and the OSI transport layers are made public so that they can be used by other projects.
The IEC61850bean library includes an OSI stack implementation as it is needed by the IEC 61850 MMS mapping. The API of the OSI stack and the OSI transport layers are made public so that they can be used by other projects.

* *josistack* - implements the Application Control Service Element (ACSE) protocol as defined by ISO 8650 or ITU X.217/X.227, the lower ISO Presentation Layer as defined by ISO 8823/ITU X226, and the ISO Session Layer as defined by 8327/ITU X.225.

* *jositransport* - implements RFC 1006 and the OSI Transport Service Layer.


## Using OpenIEC61850
## Using IEC61850bean

The easiest way to learn how OpenIEC61850 works is by running and analyzing the console client and server applications. You might want to look at the source code of the console applications to get an understanding of how they work. They can be used as a basis for you to code your individual client or server applications. An IEC 61850 device that is to be controlled or monitored is called an IEC 61850 server. An IEC 61850 server normally listens on port 102 for incoming connection requests by IEC 61850 clients.
The easiest way to learn how IEC61850bean works is by running and analyzing the console client and server applications. You might want to look at the source code of the console applications to get an understanding of how they work. They can be used as a basis for you to code your individual client or server applications. An IEC 61850 device that is to be controlled or monitored is called an IEC 61850 server. An IEC 61850 server normally listens on port 102 for incoming connection requests by IEC 61850 clients.

### Client

Expand All @@ -53,9 +53,9 @@ First get a List of ServerSaps using the method ServerSap.getSapsFromSclFile().

An IEC 61850 server contains a treelike data model that contains at its leafs the data (integers, boolean, strings etc) that can be accessed by clients. Clients can also retrieve the whole data model from the server.

The upper most model node is called "server". In OpenIEC61850 it is an object of type ServerModel. The server node contains 1..n logical devices (LD). A logical device may contain 1..n logical nodes (LN). A logical node may contain 1..n data objects. In OpenIEC61850 the logical nodes do not contain complete data objects but instead contain so called functionally constraint data objects (FCDO). An FCDO is a data object that is split up by functional constraint. An FCDO can contain a combination of other FCDOs, arrays, constructed data attributes and/or basic data attributes.
The upper most model node is called "server". In IEC61850bean it is an object of type ServerModel. The server node contains 1..n logical devices (LD). A logical device may contain 1..n logical nodes (LN). A logical node may contain 1..n data objects. In IEC61850bean the logical nodes do not contain complete data objects but instead contain so called functionally constraint data objects (FCDO). An FCDO is a data object that is split up by functional constraint. An FCDO can contain a combination of other FCDOs, arrays, constructed data attributes and/or basic data attributes.

All nodes of the server model in OpenIEC61850 are of one of the following seven types:
All nodes of the server model in IEC61850bean are of one of the following seven types:

* ServerModel
* LogicalDevice
Expand All @@ -79,6 +79,6 @@ You can then navigate through the model using several functions:



## Modifying and Compiling OpenIEC61850
## Modifying and Compiling IEC61850bean

We use the Gradle build automation tool. The distribution contains a fully functional gradle build file (*build.gradle*). Thus if you changed code and want to rebuild a library you can do it easily with Gradle.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerTag;
import com.beanit.asn1bean.ber.ReverseByteArrayOutputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.types.string.BerVisibleString;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.types.BerNull;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerTag;
import com.beanit.asn1bean.ber.ReverseByteArrayOutputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand All @@ -9,7 +9,7 @@
import com.beanit.asn1bean.ber.types.BerOctetString;
import com.beanit.asn1bean.ber.types.BerType;
import com.beanit.asn1bean.ber.types.string.BerVisibleString;
import com.beanit.openiec61850.internal.BerBoolean;
import com.beanit.iec61850bean.internal.BerBoolean;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.types.BerInteger;
import java.math.BigInteger;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.types.BerNull;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import java.math.BigInteger;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.types.BerNull;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

public class FileDeleteRequest extends FileName {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.types.BerNull;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
import com.beanit.asn1bean.ber.ReverseByteArrayOutputStream;
import com.beanit.asn1bean.ber.types.BerType;
import com.beanit.openiec61850.internal.BerBoolean;
import com.beanit.iec61850bean.internal.BerBoolean;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import java.math.BigInteger;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/** This class file was automatically generated by ASN1bean (http://www.beanit.com) */
package com.beanit.openiec61850.internal.mms.asn1;
package com.beanit.iec61850bean.internal.mms.asn1;

import com.beanit.asn1bean.ber.BerLength;
import com.beanit.asn1bean.ber.BerTag;
import com.beanit.asn1bean.ber.ReverseByteArrayOutputStream;
import com.beanit.asn1bean.ber.types.BerOctetString;
import com.beanit.asn1bean.ber.types.BerType;
import com.beanit.openiec61850.internal.BerBoolean;
import com.beanit.iec61850bean.internal.BerBoolean;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
Expand Down
Loading

0 comments on commit f416a33

Please sign in to comment.