DNP3
DNP3 (aka IEEE 1815) is the most common SCADA protocol used in electric power in North America. It is event-based and efficiently transfers measurement data between outstation and master components. It can be operated in a purely poll-based mode, or an unsolicited (push) mode where the outstation transmits events as they occur.
Current Version: 1.6.0
Release Date: June 24th, 2024
View Documentation:
Scale Up or Down
Our DNP3 library is fully asynchronous and uses the most efficient event-driven backend provided by your OS: epoll on Linux, IOCP on Windows, etc. The library scales to many thousands of concurrent communication sessions while maintaining a small memory and CPU footprint.
Conformance Testing
The outstation is tested using a fully-automated conformance test harness. The test harness implements the conformance test procedures as published by the DNP Users Group and augments our own unit and integration test suites. This means that users are unlikely to face interoperability challenges talking to 3rd party implementations of the protocol.
Features
- Level 3 master and outstation components in a single library
- Supports TCP, UDP, serial, and TLS communication channels
- Written in safe Rust with idiomatic bindings for C, C++, .NET Standard, and Java
- Blazing fast (and secure) zero-copy / zero-allocation parsing of application data
- Automatic mapping between DNP3 and higher-level measurement types
- Built-in logging and protocol decoding
- Runs on all platforms and operating systems supported by the Tokio Runtime:
- Windows, Linux, OSX, FreeBSD
- x86, x64, ARM, PowerPC, MIPS