# modbus-tcp
**Repository Path**: hgl168918/modbus-tcp
## Basic Information
- **Project Name**: modbus-tcp
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: EPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-06-23
- **Last Updated**: 2025-06-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.digitalpetri.modbus%22%20AND%20a%3A%22modbus%22)
A modern, performant, easy to use client and server implementation of Modbus, supporting:
- Modbus TCP
- Modbus TCP Security (Modbus TCP with TLS)
- Modbus RTU on Serial
- Modbus RTU on TCP
### Quick Start Examples
#### Modbus TCP Client
```java
var transport = NettyTcpClientTransport.create(cfg -> {
cfg.hostname = "172.17.0.2";
cfg.port = 502;
});
var client = ModbusTcpClient.create(transport);
client.connect();
ReadHoldingRegistersResponse response = client.readHoldingRegisters(
1,
new ReadHoldingRegistersRequest(0, 10)
);
System.out.println("Response: " + response);
```
#### Modbus RTU on Serial Client
```java
var transport = SerialPortClientTransport.create(cfg -> {
cfg.serialPort = "/dev/ttyUSB0";
cfg.baudRate = 115200;
cfg.dataBits = 8;
cfg.parity = SerialPort.NO_PARITY;
cfg.stopBits = SerialPort.ONE_STOP_BIT;
});
var client = ModbusRtuClient.create(transport);
client.connect();
client.readHoldingRegisters(
1,
new ReadHoldingRegistersRequest(0, 10)
);
System.out.println("Response: " + response);
```
### Maven
#### Modbus TCP
```xml
com.digitalpetri.modbus
modbus-tcp
2.1.0
```
#### Modbus Serial
```xml
com.digitalpetri.modbus
modbus-serial
2.1.0
```
### Features
#### Supported Function Codes
Code | Function | Client | Server
-------- | -------- | ------ | ------
0x01 | Read Coils | ✅ | ✅
0x02 | Read Discrete Inputs | ✅ | ✅
0x03 | Read Holding Registers | ✅ | ✅
0x04 | Read Input Registers | ✅ | ✅
0x05 | Write Single Coil | ✅ | ✅
0x06 | Write Single Register | ✅ | ✅
0x0F | Write Multiple Coils | ✅ | ✅
0x10 | Write Multiple Registers | ✅ | ✅
0x16 | Mask Write Register | ✅ | ✅
0x17 | Read/Write Multiple Registers | ✅ | ✅
- raw/custom PDUs on Modbus/TCP
- broadcast messages on Modbus/RTU
- pluggable codec implementations
- pluggable transport implementations
### License
Eclipse Public License - v 2.0