rodbus-1.1.0-rc2 has been yanked.
Commercial library by Step Function I/O
A high-performance implementation of the Modbus protocol using Tokio and Rust's async/await syntax.
Features
- Panic-free parsing
- Correctness and compliance to the specification
- Built-in logging and protocol decoding
- Automatic connection management with configurable reconnect strategy
- Scalable performance using Tokio's multi-threaded executor
- TLS is implemented using rustls not openssl
- Model-generated bindings for C, C++, Java, and .NET Core
- Runs on all platforms and operating systems supported by the Tokio runtime:
- Official support for: Windows x64 and Linux x64, AArch64, ARMv7 and ARMv6
- Unofficial support: MacOS, PowerPC, MIPS, FreeBSD, and others
Supported Modes
- TCP, RTU (serial), and Modbus security (TLS) with and without X.509 extension containing the user role.
- Client and server
Function Codes
The client and server examples demonstrate simple
usage of the API.
The following function codes are supported:
- Read Coils (
0x01) - Read Discrete Inputs (
0x02) - Read Holding Registers (
0x03) - Read Input Registers (
0x04) - Write Single Coil (
0x05) - Write Single Register (
0x06) - Write Multiple Coils (
0x0F) - Write Multiple Registers (
0x10)
License
This library is publicly available under a non-commercial / non-production license.
Refer to LICENSE.txt for the terms
of this non-commercial license.
This software is publicly available, but is not "open source". You must purchase a commercial license to use this software for profit.
Please inquire about commercial licensing on our website:
Cargo Features
Default features can be disabled at compile time:
tls- Build the library with support for TLS (secure Modbus)serial- Build the library with support for Modbus RTU and serial ports
Bindings
Bindings in C, C++, java, and .NET Core are available for this library. See the documentation for more details.