Modbus

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

License

License

GroupId

GroupId

com.digitalpetri.modbus
ArtifactId

ArtifactId

modbus
Last Version

Last Version

1.2.0
Release Date

Release Date

Type

Type

pom
Description

Description

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

Project URL

https://github.com/digitalpetri/modbus
Source Code Management

Source Code Management

https://github.com/digitalpetri/modbus

Download modbus

Filename Size
modbus-1.2.0.pom 7 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.digitalpetri.modbus/modbus/ -->
<dependency>
    <groupId>com.digitalpetri.modbus</groupId>
    <artifactId>modbus</artifactId>
    <version>1.2.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.digitalpetri.modbus/modbus/
implementation 'com.digitalpetri.modbus:modbus:1.2.0'
// https://jarcasting.com/artifacts/com.digitalpetri.modbus/modbus/
implementation ("com.digitalpetri.modbus:modbus:1.2.0")
'com.digitalpetri.modbus:modbus:pom:1.2.0'
<dependency org="com.digitalpetri.modbus" name="modbus" rev="1.2.0">
  <artifact name="modbus" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.digitalpetri.modbus', module='modbus', version='1.2.0')
)
libraryDependencies += "com.digitalpetri.modbus" % "modbus" % "1.2.0"
[com.digitalpetri.modbus/modbus "1.2.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • modbus-codec
  • modbus-core
  • modbus-examples
  • modbus-master-tcp
  • modbus-slave-tcp

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 contact [email protected] for more information.

License

Apache License, Version 2.0

com.digitalpetri.modbus

digitalpetri

Versions

Version
1.2.0
1.1.1
1.1.0
1.0.2
1.0.1