# 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 [![Maven Central](https://img.shields.io/maven-central/v/com.digitalpetri.modbus/modbus.svg)](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