Modbus

Modbus is old but still commonly used. No product offering is complete without support for the protocol. Our library implements Modbus TCP, RTU, and secure Modbus (TLS) for both client and server.

Current Version: 1.3.1
Release Date: July 25th, 2023

GitHub Nuget.org Maven Central

View Documentation:

Scale Up or Down

Our Modbus 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.

Efficient High-level API

The API provides automated connection management, allowing the developer to focus on input and output instead of error handling and protocol details. Polls may be performed on demand or configured to be periodic and managed by the library.

JavaTCP.NETC++C APIGeneratedfrom modelRustModbusAsync RuntimeTLSSerial

Features

  • Client/server for TCP, RTU, or TLS
  • Optional support for the X.509 Role ID as specified in the Secure Modbus specification
  • 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
  • Built-in logging and dynamic protocol decoding
  • Runs on all major platforms and operating systems supported by the Tokio Runtime:
  • Supported function codes:
    • read coils (1)
    • read discrete inputs (2)
    • read holding registers (3)
    • read input registers (4)
    • write single coil (5)
    • write single register (6)
    • write multiple coils (15)
    • write multiple registers (16)