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