Menu

Home

Graeme Farquharson

Welcome to the jdnp3 project .

This project implements a pure Java DNP3 stack and utilities. The ultimate goal is to provide a test utility for DNP3 devices. To this end, the stack is more configurable than is required by the DNP3 standard. This page serves as a quick view for what is implemented so allow users to easily spot if the tool is right for them.

At a guess, you are almost certainly wanting to run the web utility. In order to do this, extract the archive and run the following command. It is easiest if you create a batch file in the directory you are running it from. Please see the provided config and Wiki page for configuration details.

Stack Requirements:

  • Java JRE 1.8+

Web Utility Requirements:

  • Java JDK 1.8+ (Server)
  • HTML 5 Capable Browser (Client)

Running the Web Utility

Download and extract the zip archive.
Run the following commands from the extracted directory.
You may wish to put the command in a batch file to make things easier.


Windows:
java -cp ".;jdnp3-ui-web-outstation-<version>.jar" net.sf.jdnp3.ui.web.outstation.main.App

Linux:
java -cp ".:jdnp3-ui-web-outstation-<version>.jar" net.sf.jdnp3.ui.web.outstation.main.App

Using the default configuration, navigate to:
http://127.0.0.1:8080

The Moving Parts

The project consists of the following components:


Support

Abbreviation Section Meaning
MX Request Master may make a request with a qualifier group X
MX Response The master with accept a response with the qualifier group X
OX Request Outstation will support a request of qualifier group X
OX Response The outstation is capable of responding with qualifier group X
M- or O- Any The functionality is covered by the standard, but not yet implemented
Blank Any The operation is in violation of the standard or does not make logical sense
Qualifier Group (QG) Qualifier Field Combinations
A 00, 01, 02, 06, 17, 18, 19, 27, 28, 29, 37, 38, 39
B 00, 01, 02
C 06, 07, 08, 09
D 17, 28, 39
Type Group Variation Operation Request Response Unsolicit Response
Binary Input 1 0 Read M-, OA
Assign Class M-, OA
1 Read M-, OA M-, OB
2 Read M-, OA M-, OB
Binary Input Event 2 0 Read M-, OB M-, OD M-, O-
1 Read M-, OB M-, OD M-, O-
2 Read M-, OB M-, OD M-, O-
3 Read M-, OB M-, OD M-, O-
Double Bit Binary Input 3 Not Implemented
Double Bit Binary Input Event 4 Not Implemented
Binary Output 10 0 Read M-, OA
Assign Class M-, OA
1 Read M-, OA M-, OB
2 Read M-, OA M-, OB
Binary Output Events 11 0 Read M-, O- M-, O- M-, O-
1 Read M-, O- M-, O- M-, O-
2 Read M-, O- M-, O- M-, O-

The wiki uses Markdown syntax.

Project Members:


Related

Wiki: JSON API
Wiki: Stack
Wiki: Web Utility

Discussion

  • Peter Schrader

    Peter Schrader - 2017-08-07

    Gidday Graham, we are seeing a multitude of .log files being generated, can you confirm that the logback.xml max_file settings is the total number of log files that will be produced please? Cheers,
    Peter from the 'gex

     
  • Graeme Farquharson

    Hi Peter, the number of historic log files is controlled by the maxHistory setting in logback.xml. You can also control the file size. The default is 30 logs at 5 MB per log. Please note, you will haxe to restart the service for the changes to take effect.

     

Log in to post a comment.