From 5d6da5dd842088e148c9fd11db329fe75e4b4d12 Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期日, 27 八月 2023 13:44:28 +0800 Subject: [PATCH] 优化Modbus-TCP命令发送 --- igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java index 5090776..b6395c0 100644 --- a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java +++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/ModbusUtil2.java @@ -84,8 +84,10 @@ * @throws ModbusTransportException * @throws ErrorResponseException */ - public static Boolean readInputStatus(String ip, int port, int offset) throws ModbusInitException, ModbusTransportException, ErrorResponseException { + public static Boolean readInputStatus(String ip, int port, int offset) throws ModbusInitException, ModbusTransportException, ErrorResponseException, InterruptedException { BaseLocator<Boolean> inputStatus = BaseLocator.inputStatus(slaveId, offset); + + Thread.sleep(3000); Boolean res = getMaster(ip, port).getValue(inputStatus); return res; } @@ -132,10 +134,20 @@ * @throws ModbusTransportException * @throws ModbusInitException */ - public static Boolean writeCoilStatus(String ip, int port, int offset, boolean status) throws ModbusTransportException, ModbusInitException { - boolean coilValue = status; - WriteCoilRequest coilRequest = new WriteCoilRequest(slaveId, offset, coilValue); + public static Boolean writeCoilStatus(String ip, int port, int offset, boolean status) throws ModbusTransportException, ModbusInitException, InterruptedException { +// boolean coilValue = status; +// WriteCoilRequest coilRequest = new WriteCoilRequest(slaveId, offset, coilValue); +// WriteCoilResponse coilResponse = (WriteCoilResponse) getMaster(ip, port).send(coilRequest); +// return !coilResponse.isException(); + + WriteCoilRequest coilRequest = new WriteCoilRequest(slaveId, offset, status); + Thread.sleep(3000); WriteCoilResponse coilResponse = (WriteCoilResponse) getMaster(ip, port).send(coilRequest); + + //鍙戦�佹竻闄ゅ懡浠� + WriteCoilRequest coilRequest1 = new WriteCoilRequest(slaveId, offset, !status); + getMaster(ip, port).send(coilRequest1); + return !coilResponse.isException(); } -- Gitblit v1.9.3