High-performance, non-blocking, zero-buffer-copying Modbus for Java.
Quick Start
ModbusTcpMasterConfig config = new ModbusTcpMasterConfig.Builder("localhost").build(); ModbusTcpMaster master = new ModbusTcpMaster(config); CompletableFuture<ReadHoldingRegistersResponse> future = master.sendRequest(new ReadHoldingRegistersRequest(0, 10), 0); future.thenAccept(response -> { System.out.println("Response: " + ByteBufUtil.hexDump(response.getRegisters())); ReferenceCountUtil.release(response); });
See the examples project for more.
Maven
Modbus Master
<dependency> <groupId>com.digitalpetri.modbus</groupId> <artifactId>modbus-master-tcp</artifactId> <version>1.1.0</version> </dependency>
Modbus Slave
<dependency> <groupId>com.digitalpetri.modbus</groupId> <artifactId>modbus-slave-tcp</artifactId> <version>1.1.0</version> </dependency>
Supported Function Codes
| Code | Function |
|---|---|
| 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 |
Get Help
See the examples project or contact kevinherron@gmail.com for more information.
License
Apache License, Version 2.0