Skip to content

Latest commit

 

History

History
120 lines (88 loc) · 3.63 KB

File metadata and controls

120 lines (88 loc) · 3.63 KB

Dnp3MasterTester

Overview

Dnp3MasterTester is a WPF desktop DNP3 master-side test workspace for communicating with slave devices, especially protection relays over TCP and Serial.

It uses the native C# DNP3 master stack in this repository and is intended to evolve into a credible FAT / interoperability / audit tool without a proprietary DNP3 runtime dependency in the master application.

The application source is distributed under the Apache License, Version 2.0.

Mission Control

Current focus areas:

  • latest point state review
  • SCADA-style event journal
  • SOE / forensic callback evidence
  • protocol/runtime diagnostics
  • guided FAT report workspace and internal PDF export

Status

The project is functional but still under active refinement.

What already exists:

  • WPF operator shell
  • TCP and Serial DNP3 master channels
  • connection setup dialog
  • workspace tabs for value/event/audit/trace review
  • service-based integration with the native C# DNP3 master stack
  • real device-response evidence state, separate from open socket state
  • guided report workspace with PDF preview/export
  • command lifecycle evidence and FAT snapshot builder

What still needs major work:

  • more credible polling/interoperability strategy
  • better relay-profile behavior
  • deeper negative-test and recovery-test automation
  • profile-specific validation and report observations

Technology

  • .NET 8
  • WPF
  • native C# DNP3 master protocol implementation
  • System.IO.Ports for serial transport
  • internal PDF report renderer

Main surfaces

Value Viewer

Shows last known state per point.

SCADA Events

Intended for operator-facing event journal rows such as:

  • binary state changes
  • command events
  • device response evidence
  • guarded non-operation and recovery workflow events

SOE Audit

Shows more callback-derived detail for forensic review.

Link Trace

Shows protocol/runtime diagnostics and engine trace information.

Report Workspace

Guides report identity, verification steps, automated FAT evidence capture, and internal PDF preview/export.

Screenshots

Report Workspace

Report preview

SCADA Events

SCADA events

SOE Audit

SOE audit

Project structure

Important files:

Build

dotnet build DNPTester.slnx

Development notes

Use the native master stack only

Do not reintroduce proprietary DNP3 protocol packages into Dnp3MasterTester unless the product licensing direction changes.

UI should stay passive

The UI layer should display and organize evidence, not invent protocol behavior.

Polling is currently the highest-value improvement area

If relay changes only appear after manual integrity, treat that as a protocol/interoperability issue first, not merely a UI issue.

Recommended reading order

  1. AGENTS.md
  2. project_summary.md
  3. Services/Dnp3MasterService.cs
  4. Protocol/
  5. MainWindow.xaml

Goal

The goal is to turn this repository into a DNP3 master-side relay audit tool that is:

  • credible
  • readable
  • interoperable
  • useful in real FAT and troubleshooting workflows