Skip to content

Repository files navigation

digitalpetri Modbus

Maven Central

digitalpetri Modbus is a Java 17 client and server library for Modbus TCP, Modbus TCP Security (TLS), Modbus RTU over serial, and Modbus RTU over TCP. It provides typed request and response PDUs, pluggable transports and codecs, and both synchronous and asynchronous client operations.

Reading holding registers from a Modbus TCP device looks like this:

var transport = NettyTcpClientTransport.create(cfg -> cfg.setHostname("10.0.0.100"));
var client = ModbusTcpClient.create(transport);

try (var ignored = client.open()) {
  var response = client.readHoldingRegisters(1, new ReadHoldingRegistersRequest(0, 2));
  System.out.println("register bytes: " + HexFormat.of().formatHex(response.registers()));
}

Installation and modules

Most applications depend on the transport module they use; Maven brings in the core modbus module transitively.

Module Use it for
modbus Core client/server APIs, PDUs, framing, services, and transport interfaces
modbus-tcp Netty transports for Modbus TCP, TCP with TLS, and RTU over TCP
modbus-serial jSerialComm transports for Modbus RTU over a serial port

For a Modbus TCP application:

<dependency>
  <groupId>com.digitalpetri.modbus</groupId>
  <artifactId>modbus-tcp</artifactId>
  <version>2.1.6</version>
</dependency>

See Installation and modules for serial coordinates, Java requirements, and module details.

Transport capabilities

Transport Client Server TLS
Modbus TCP Yes Yes Optional mutual TLS
Modbus RTU over serial Yes Yes No
Modbus RTU over TCP Yes Yes Optional mutual TLS

See the feature and transport matrix for typed function-code, raw-PDU, and broadcast support.

Documentation

The documentation index lists every how-to, concept, and reference page.

Common tasks:

Concepts and reference:

License

digitalpetri Modbus is licensed under the Eclipse Public License 2.0.

About

Modbus TCP, Modbus TCP Security, Modbus RTU on Serial, and Modbus RTU on TCP for Java 17+.

Topics

Resources

Stars

857 stars

Watchers

33 watching

Forks

Releases

Packages

Used by

Contributors

Languages