modbus:基于 Java 的 Modbus 协议客户端与服务端实现项目

Modbus TCP, Modbus TCP Security, Modbus RTU on Serial, and Modbus RTU on TCP for Java 17+.

分支14Tags21
文件最后提交记录最后更新时间
6 个月前
5 个月前
1 年前
21 天前
25 天前
25 天前
25 天前
25 天前
1 年前
9 个月前
2 个月前
9 个月前
1 年前
21 天前
23 天前

digitalpetri Modbus

Maven Central

digitalpetri Modbus 是一款适用于 Java 17 的客户端与服务器库,支持 Modbus TCP、Modbus TCP Security(TLS)、基于串行的 Modbus RTU 以及基于 TCP 的 Modbus RTU。该库提供类型化的请求与响应 PDU、可插拔的传输层与编解码器,同时支持同步和异步客户端操作。

从 Modbus TCP 设备读取保持寄存器的示例如下:

var transport = NettyTcpClientTransport.create(cfg -> cfg.setHostname("10.0.0.100"));
var client = ModbusTcpClient.create(transport);

try (var ignored = client.open()) {
  var response = client.readHoldingRegisters(1, new ReadHoldingRegistersRequest(0, 2));
  System.out.println("register bytes: " + HexFormat.of().formatHex(response.registers()));
}

安装与模块

大多数应用程序依赖于其使用的传输模块;Maven 会自动引入核心 modbus 模块。

模块 用途
modbus 核心客户端/服务器 API、PDU、成帧、服务和传输接口
modbus-tcp 用于 Modbus TCP、带 TLS 的 TCP 以及 RTU over TCP 的 Netty 传输
modbus-serial 用于通过串行端口进行 Modbus RTU 的 jSerialComm 传输

对于 Modbus TCP 应用程序:

<dependency>
  <groupId>com.digitalpetri.modbus</groupId>
  <artifactId>modbus-tcp</artifactId>
  <version>2.1.6</version>
</dependency>

有关串行坐标、Java 要求和模块详情,请参见安装与模块

传输功能

传输方式 客户端 服务器 TLS
Modbus TCP 支持 支持 可选双向 TLS
Modbus RTU over serial 支持 支持 不支持
Modbus RTU over TCP 支持 支持 可选双向 TLS

有关类型化功能码、原始PDU和广播支持,请参见功能与传输矩阵

文档

文档索引列出了所有操作指南、概念和参考页面。

常见任务:

概念与参考:

许可

digitalpetri Modbus 根据Eclipse Public License 2.0许可。

项目介绍

高性能、非阻塞、零缓冲区复制的Java Modbus实现【此简介由AI生成】

定制我的领域