Skip to content

High-performance, non-blocking, zero-buffer-copying Modbus for Java

License

Notifications You must be signed in to change notification settings

sergiotorreslozano/modbus-server

 
 

Repository files navigation

Maven Central

High-performance, non-blocking, zero-buffer-copying Modbus for Java.

Quick Start

ModbusTcpMasterConfig config = new ModbusTcpMasterConfig.Builder("localhost").build();
ModbusTcpMaster master = new ModbusTcpMaster(config);

master.connect();

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.2.0</version>
</dependency>

Modbus Slave

<dependency>
    <groupId>com.digitalpetri.modbus</groupId>
    <artifactId>modbus-slave-tcp</artifactId>
    <version>1.2.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
0x17 Read/Write Multiple Registers

Get Help

See the examples project or create a new post in Discussions.

License

Apache License, Version 2.0

About

High-performance, non-blocking, zero-buffer-copying Modbus for Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%