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