Added a tutorial file to explain how to build the Java library of
IEC61850.pull/179/head
parent
2ef6cdb76d
commit
619d12011b
@ -0,0 +1,76 @@
|
||||
# Building
|
||||
Before building you should install swig and java.
|
||||
|
||||
From the root directory of the libiec61850 project you have to build some of the dependant libraries
|
||||
|
||||
> cd ..
|
||||
>
|
||||
> make clean
|
||||
>
|
||||
> make INSTALL_PREFIX=/usr/local install
|
||||
>
|
||||
> make clean
|
||||
>
|
||||
> make INSTALL_PREFIX=/usr/local dynlib
|
||||
|
||||
Now change into the Java project subdirectory
|
||||
|
||||
> cd javaiec61850
|
||||
>
|
||||
> swig -java -I/usr/local/include iec61850.i
|
||||
>
|
||||
> gcc -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -c iec61850_wrap.c
|
||||
>
|
||||
> ld -shared ../build/libiec61850.so iec61850_wrap.o -o libiec61850.so
|
||||
>
|
||||
> javac test_javaiec61850.java
|
||||
>
|
||||
> java test_javaiec61850
|
||||
|
||||
This test programme should show an out put of
|
||||
|
||||
```sh
|
||||
MyThread for IEC61850Server has STARTED
|
||||
IEC61850Server has STARTED
|
||||
IEC61850Client has connected to the IEC61850Server
|
||||
IEC61850Client has read testmodelSENSORS
|
||||
IEC61850Client caught a error = 0
|
||||
IEC61850Client read a temperature set point of = 0.0
|
||||
IEC61850Client read a temperature set point of = 10.0
|
||||
IEC61850Server has been Interrupted and STOPPED
|
||||
|
||||
```
|
||||
|
||||
The CMakeLists file does not exist yet, however it would be a nice to have a build of the java bindings by turning on a BUILD\_JAVA\_BINDINGS flag in CMake from cmake-gui or in command line:
|
||||
```sh
|
||||
$ cmake -DBUILD_JAVA_BINDINGS=ON .
|
||||
```
|
||||
Then compile the library and install it.
|
||||
|
||||
javaiec61850 library is to be imported calling
|
||||
```java
|
||||
import iec61850
|
||||
```
|
||||
|
||||
# Client tutorial
|
||||
|
||||
The java bindings works similarly to the python and basic C library ones.
|
||||
|
||||
Have a look at the Client, Server and test programme.
|
||||
|
||||
For example to create a connection, call:
|
||||
|
||||
```java
|
||||
if (con == null) {
|
||||
con = iec61850.IedConnection_create();
|
||||
}
|
||||
|
||||
iec61850.IedConnection_connect(con, error, "localhost", tcpPort);
|
||||
|
||||
conState = iec61850.IedConnection_getState(con);
|
||||
|
||||
if ( conState.toString() == "IED_STATE_CONNECTED" || conState.toString() == "IED_STATE_IDLE") {
|
||||
System.out.println("IEC61850Client has connected to the IEC61850Server" );
|
||||
}
|
||||
|
||||
```
|
Loading…
Reference in New Issue