From 4bac95fc34591bc3d61d6192c457052275ae4298 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期三, 18 六月 2025 14:17:58 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/core/thread/RgvThread.java |   49 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 0dd4ee9..0a76c89 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -66,6 +66,7 @@
 
     private boolean connectRgv = false;
     private boolean delRgvTask = false;
+    private short wrkSign = 0;
 
     public RgvThread(RgvSlave slave) {
         this.slave = slave;
@@ -140,7 +141,7 @@
                     continue;
                 }
                 Thread.sleep(20);
-//                System.out.println("璇荤嚎绋�"+ slave.getId());
+//                System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
 
                 readStatus();
 
@@ -179,10 +180,12 @@
                     delRgvTask = false;
                     continue;
                 }
-                Thread.sleep(40);
+                Thread.sleep(50L);
+
                 OperateResultExOne<byte[]> result = siemensNet.Read("DB100.12", (short) 1);
                 boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 0, 1);
                 if (status[0]){
+                    Thread.sleep(500L);
                     OperateResult result4 = siemensNet.Write("DB100.12.0", false);
                 }
             } catch (Exception e) {
@@ -300,7 +303,7 @@
                 write(issued);
                 rgvTaskProtocol.setAvoid(0);
 
-                Thread.sleep(200);
+//                Thread.sleep(200);
                 RgvTaskCache.updateRgvStatus(rgvTaskProtocol);
 
             } catch (Exception e) {
@@ -333,13 +336,13 @@
 //                System.out.println(JSON.toJSON(rgvRun));
 
                 // 浼戠湢 1 绉�
-                if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 1000) {
-                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 100) {
+                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                 } else {
                     continue;
                 }
                 if (!deviceDetection()) {
-                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                     rgvRun.setRgvNo(slave.getOtherId());
                     RgvRunCache.updateRgvStatus(rgvRun);
                     if (!errorRgv.equals("鏃�")){
@@ -356,20 +359,20 @@
                     rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId());
                 }
                 if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){
-                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                     rgvRun.setRgvNo(slave.getOtherId());
                     RgvRunCache.updateRgvStatus(rgvRun);
                     continue;
                 }
                 if (rgvProtocol.getLoaded() == -1){
-                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                     rgvRun.setRgvNo(slave.getOtherId());
                     RgvRunCache.updateRgvStatus(rgvRun);
                     RgvErrCache.updateRgvErr(slave.getId(),"灏忚溅鎺㈢墿鐗╃姸鎬佸紓甯�");
                     continue;
                 }
                 if (rgvTaskProtocol.getAvoid() != 0) {
-                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                    rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                     rgvRun.setRgvNo(slave.getOtherId());
                     RgvRunCache.updateRgvStatus(rgvRun);
                     continue;
@@ -457,7 +460,7 @@
                         }
                     }
                 }
-                rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                 rgvRun.setRgvNo(slave.getOtherId());
                 RgvRunCache.updateRgvStatus(rgvRun);
             } catch (Exception e) {
@@ -469,7 +472,7 @@
 //                    log.error("e2:"+e2.getMessage());
                 }
                 rgvRun = RgvRunCache.getRgvRun();
-                rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50;
+                rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10;
                 rgvRun.setRgvNo(slave.getOtherId());
                 RgvRunCache.updateRgvStatus(rgvRun);
                 continue;
@@ -1087,6 +1090,16 @@
                 }
 
                 rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 8));
+//                rgvProtocol.setStatus((short)1);
+
+                //浣滀笟鍚姩涓�  瑙e喅浠诲姟涓嬪彂鍚庡皬杞︾姸鎬佹湭鏇存柊锛屽皬杞︾姸鎬佷笉鍙婃椂
+                if (this.wrkSign == 1 && rgvProtocol.getStatus()!=(short)1){
+                    this.wrkSign = 0;
+                }
+                if (this.wrkSign == 1){
+                    rgvProtocol.setStatus((short)110);
+                }
+
                 rgvProtocol.setTaskNo((long)siemensNet.getByteTransform().TransInt32(result.Content, 10));
 
                 rgvProtocol.setRgvNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 14));
@@ -1106,7 +1119,10 @@
                 rgvProtocol.setErr5(status[12]);
                 rgvProtocol.setErr6(status[13]);
 //                System.out.println("璇荤嚎绋�"+ slave.getId()+"---"+JSON.toJSONString(rgvProtocol));
-
+//                System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol));
+                if (rgvProtocol.getRgvNo()==1){
+                    log.info("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol));
+                }
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
 //                // 宸ヤ綅1澶嶄綅淇″彿
 //                if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING)
@@ -1198,9 +1214,8 @@
         }
 //        convertRow(command);
 //        taskProtocol.setRgvNo(slave.getId());
-        Long[] array = new Long[11];
+//        Long[] array = new Long[11];
         OperateResult result41 = siemensNet.Write("DB100.12.0", false);
-
 //        array[0] = taskProtocol.getAckFinish1();
 //        array[1] = taskProtocol.getTaskNo();
 //        array[2] = taskProtocol.getTaskMode();
@@ -1212,8 +1227,12 @@
         OperateResult result1 = siemensNet.Write("DB100.4", (short) taskStatus);
         OperateResult result2 = siemensNet.Write("DB100.6", taskProtocol.getTaskNo().intValue());
         OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 :  (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+        Thread.sleep(20L);
+        this.wrkSign = 1;
 
         OperateResult result4 = siemensNet.Write("DB100.12.0", true);
+        log.info("浠诲姟涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
+
 //        if (taskProtocol.getAckFinish1() == 0) {
 //            short commandFinish = 3;  //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆
 //            Thread.sleep(100L);
@@ -1241,6 +1260,7 @@
         } catch (Exception ignore) {
         }
 
+        readStatus();
         if (result != null && result.IsSuccess) {
 //            Thread.sleep(50);
 //            this.readStatus();
@@ -1269,6 +1289,7 @@
         OperateResult result1 = siemensNet.Write("DB100.4", (short) 0);
         OperateResult result2 = siemensNet.Write("DB100.6", (int) 0);
         OperateResult result3 = siemensNet.Write("DB100.10", (short) 0); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+        log.info("浠诲姟瀹屾垚涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
 
         try {
             // 鏃ュ織璁板綍

--
Gitblit v1.9.1