Java EPL-2.0

modbus

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

D

digitalpetri

Dernière activité 27 sept. 2026
digitalpetri/modbus

863

étoiles

252

forks

8

issues ouvertes

javamodbusmodbus-rtumodbus-securitymodbus-serialmodbus-tcpmodbus-tls

Ce README est souvent en anglais.

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.

Projets similaires

A high-performance and ease-of-use implementation of the Modbus protocol written in Java. Supports ASCII, RTU, TCP, and UDP transports as slave or master, automatic request partitioning and response data type parsing.

Java
MMangoAutomation
1 k étoiles394

A full modbus protocol written in python

Pythonmodbusmodbus-librarymodbus-master
Ppymodbus-dev
2,8 k étoiles1,1 k

Enhanced Modbus library implemented in the Java programming language

Javamodbusmodbus-mastermodbus-rtu
Ssteveohara
336 étoiles124