Java modbus tcp 示例
时间: 2023-07-31 08:13:56 浏览: 240
以下是一个基本的 Modbus TCP 示例,使用 Java 的 j2mod 库实现:
```java
import net.wimpi.modbus.Modbus;
import net.wimpi.modbus.io.ModbusTCPTransaction;
import net.wimpi.modbus.msg.ReadInputRegistersRequest;
import net.wimpi.modbus.msg.ReadInputRegistersResponse;
import net.wimpi.modbus.net.TCPMasterConnection;
public class ModbusTCPExample {
public static void main(String[] args) {
try {
// 创建 Modbus TCP 连接
TCPMasterConnection connection = new TCPMasterConnection("localhost");
connection.setPort(502);
connection.connect();
// 创建 Modbus 请求
ReadInputRegistersRequest request = new ReadInputRegistersRequest(0, 1);
request.setUnitID(1);
// 创建 Modbus 事务
ModbusTCPTransaction transaction = new ModbusTCPTransaction(connection);
transaction.setRequest(request);
// 执行 Modbus 请求
transaction.execute();
ReadInputRegistersResponse response = (ReadInputRegistersResponse) transaction.getResponse();
// 检查返回结果是否有效
if (response != null && response.getExceptionCode() == Modbus.READ_INPUT_DISCRETES) {
System.out.println("读取成功,值为: " + response.getRegisterValue(0));
} else {
System.out.println("读取失败");
}
// 关闭连接
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在此示例中,我们使用 j2mod 库创建一个 Modbus TCP 连接,并发送一个读取输入寄存器的请求。我们将地址设置为0,数量设置为1,并指定单元ID为1。然后,我们执行该请求并检查返回结果。最后,我们关闭连接。
请注意,此示例仅用于演示目的。在实际应用程序中,您需要根据您的设备和网络配置进行调整。同时,您需要确保已将 j2mod 库添加为项目的依赖项。
阅读全文