From dfc42f53a71e03e2ad8fe4c7fb7e16d5cef1d8e4 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期三, 04 六月 2025 15:43:38 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/core/thread/RgvThread.java |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index ba56b5f..59f76af 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -84,6 +84,14 @@
     private void taskIssued() {
         while (true) {
             try {
+                if(!connectRgv){
+                    try {
+                        Thread.sleep(1000L);
+                    } catch (Exception e){
+
+                    }
+                    continue;
+                }
                 int step = 1;
                 Task task = MessageQueue.poll(SlaveType.Rgv, slave.getId());
                 if (task != null) {
@@ -111,6 +119,20 @@
                         command.setSourceStaNo1((short)0);     // 婧愮珯
                         command.setDestinationStaNo1((short)0);     // 鐩爣绔�
                         write3(command);
+                        break;
+                    // 澶嶄綅
+                    case 4:
+                        RgvCommand command4 = (RgvCommand) task.getData();
+                        if (null == command4) {
+                            command4 = new RgvCommand();
+                        }
+                        command4.setRgvNo(slave.getId()); // RGV缂栧彿
+                        command4.setTaskNo1((short) 0); // 宸ヤ綔鍙�
+                        command4.setAckFinish1((short) 1);  // 浠诲姟瀹屾垚纭浣�
+                        command4.setTaskMode1(RgvTaskModeType.X_MOVE); // 浠诲姟妯″紡
+                        command4.setSourceStaNo1((short)0);     // 婧愮珯
+                        command4.setDestinationStaNo1((short)0);     // 鐩爣绔�
+                        write3(command4);
                         break;
                     default:
                         break;
@@ -148,6 +170,14 @@
     private void readStatusRgv() {
         while (true) {
             try {
+                if(!connectRgv){
+                    try {
+                        Thread.sleep(1000L);
+                    } catch (Exception e){
+
+                    }
+                    continue;
+                }
                 Thread.sleep(40);
                 readStatus();
 
@@ -215,7 +245,7 @@
             OperateResultExOne<byte[]> result = siemensNet.Read("DB100.0", (short) 20);
             OperateResultExOne<byte[]> resultV = siemensNet.Read("DB20.16", (short) 2);
             OperateResultExOne<byte[]> resultE = siemensNet.Read("DB20.26", (short) 2);
-            if (result.IsSuccess) {
+            if (result.IsSuccess && resultV.IsSuccess && resultE.IsSuccess) {
                 if (null == rgvProtocol) {
                     rgvProtocol = new RgvProtocol();
                     rgvProtocol.setRgvNo(slave.getId());
@@ -288,7 +318,7 @@
         if (command.getAckFinish1().equals((short)0)) {
 //            Thread.sleep(100L);
             siemensNet.Write("DB24.10.7", command.getRgvSome() == 1);
-            Thread.sleep(100L);
+            Thread.sleep(20L);
             result = siemensNet.Write("DB24.10.0", true);
         } else {
             siemensNet.Write("DB24.10.1", true);
@@ -315,8 +345,8 @@
         } catch (Exception ignore) {}
 
         if (result != null && result.IsSuccess) {
-            Thread.sleep(200);
-            this.readStatus();
+//            Thread.sleep(200);
+//            this.readStatus();
             log.info("RGV 宸ヤ綅1鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
             OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 宸ヤ綅1鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
             return true;
@@ -346,7 +376,7 @@
 //        OperateResult result = siemensNet.Write("DB24.0", array);
         OperateResult result = null;
         if (command.getAckFinish1().equals((short)0)) {
-            Thread.sleep(100L);
+            Thread.sleep(20L);
             result = siemensNet.Write("DB24.10.0", true);
         } else {
             siemensNet.Write("DB24.10.1", true);
@@ -373,8 +403,8 @@
         } catch (Exception ignore) {}
 
         if (result != null && result.IsSuccess) {
-            Thread.sleep(200);
-            this.readStatus();
+//            Thread.sleep(200);
+//            this.readStatus();
             log.info("RGV 宸ヤ綅1鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
             OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 宸ヤ綅1鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
             return true;

--
Gitblit v1.9.1