From 28ea25cc817e78f1023b8a7c7826441a4acadfc1 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 08 十二月 2025 15:59:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/RgvThread.java            |    7 +++++--
 src/main/java/com/zy/asrs/controller/RgvController.java    |    2 ++
 src/main/java/com/zy/asrs/utils/RouteUtils.java            |   14 ++++++++------
 src/main/java/com/zy/core/model/protocol/TaskProtocol.java |    4 ++++
 src/main/java/com/zy/asrs/entity/BasDevpPosition.java      |   23 +++++++++++++++++++++++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java    |    2 +-
 src/main/resources/application.yml                         |    2 +-
 7 files changed, 44 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 1f11a90..5fe0cb4 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -224,6 +224,7 @@
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
             issuedPut.setTargetPositionStaNo(basDevpPosition.getDevNo());
+            issuedPut.setTargetPositionStaNoEnd(basDevpPosition.getDevNo$());
             issuedPut.setTargetPositionStaNoPlcId(basDevpPosition.getPlcId());
             issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
             issuedPut.setTargetPosition(basDevpPosition.getPlcPosition());
@@ -333,6 +334,7 @@
             issuedPut.setTaskNo(Long.valueOf(taskNo));
             issuedPut.setTaskStatus(3);
             issuedPut.setTargetPositionStaNo(basDevpPositionPut.getDevNo());
+            issuedPut.setTargetPositionStaNoEnd(basDevpPositionPut.getDevNo$());
             issuedPut.setTargetPositionStaNoPlcId(basDevpPositionPut.getPlcId());
             issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
             issuedPut.setTargetPosition(basDevpPositionPut.getPlcPosition());
diff --git a/src/main/java/com/zy/asrs/entity/BasDevpPosition.java b/src/main/java/com/zy/asrs/entity/BasDevpPosition.java
index 0059d22..b6156bc 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevpPosition.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevpPosition.java
@@ -72,4 +72,27 @@
 //    );
 
 
+    public Integer getDevNo$() {
+        switch (devNo){
+            case 102:
+            case 106:
+            case 110:
+            case 116:
+            case 202:
+            case 206:
+            case 210:
+            case 216:
+                return devNo-1;
+            case 117:
+            case 120:
+            case 123:
+            case 217:
+            case 220:
+            case 223:
+                return devNo+2;
+        }
+        return devNo;
+    }
+
+
 }
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index a472b6e..5d2d239 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -309,13 +309,15 @@
 
     public static Short CrnStaEnd(Integer endSta,Integer souSta) {
         switch (endSta) {
-            case 100:
-            case 102:
+            case 103:
+            case 107:
             case 111:
-                if (souSta == 118 || souSta == 127){
-                    return (short)119;
-                }
-                return 149;
+            case 113:
+            case 203:
+            case 207:
+            case 211:
+            case 213:
+                return (short)(endSta+1);
             default:
                 return endSta.shortValue();
         }
diff --git a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
index 6acfc18..f9caede 100644
--- a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
@@ -33,6 +33,8 @@
     public TaskProtocol(TaskProtocol taskProtocol) {
         this.taskNo = taskProtocol.getTaskNo();
         this.targetPosition = taskProtocol.getTargetPosition();
+        this.targetPositionStaNo = taskProtocol.getTargetPositionStaNo();
+        this.targetPositionStaNoEnd = taskProtocol.getTargetPositionStaNoEnd();
         this.taskStatus = taskProtocol.getTaskStatus();
         this.direction = taskProtocol.direction;
     }
@@ -42,6 +44,8 @@
     public TaskProtocol(TaskProtocol taskProtocol, boolean direction) {
         this.taskNo = taskProtocol.getTaskNo();
         this.targetPosition = taskProtocol.getTargetPosition();
+        this.targetPositionStaNo = taskProtocol.getTargetPositionStaNo();
+        this.targetPositionStaNoEnd = taskProtocol.getTargetPositionStaNoEnd();
         this.taskStatus = 1;
         this.direction = taskProtocol.direction;
     }
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index b736ba7..3985769 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -48,7 +48,7 @@
     //    private RgvProtocol rgvProtocol;
     private TaskProtocolCache taskProtocolCache = new TaskProtocolCache();
     // # 杞ㄩ亾鎬婚暱
-    private Long trackEntireLength = 246600L;
+    private Long trackEntireLength = 240000L;
     //# 杞ㄩ亾鍩哄噯鐐�
     private Long trackBenchmark = 1L;
     //  # 閬胯璺濈
@@ -181,7 +181,10 @@
                 if (rgvProtocol == null) {
                     rgvProtocol = new RgvProtocol();
                 }
-                if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING)){
+                if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING) || rgvProtocol.getStatusType().equals(RgvStatusType.FETCHWAITING)){
+                    OperateResult result2 = siemensNet.Write("DB100.2",(int) 0);
+                    OperateResult result = siemensNet.Write("DB100.14", (int) 0);
+                    OperateResult result1 = siemensNet.Write("DB100.6", (short) 0);
                     OperateResult result4 = siemensNet.Write("DB100.0", (short) 1);
                 }
             } catch (Exception e) {
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index c36ee6b..52374e0 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -461,8 +461,8 @@
         //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
         boolean writeFlag = false;
         while(writeCount < 5){
-            OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
             OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
+            OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
             if(writeResult1.IsSuccess && writeResult2.IsSuccess){
                 Thread.sleep(200);
                 OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100.0" + index*6, (short)4);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 02fb82d..2fea273 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -53,7 +53,7 @@
 
 constant-parameters:
   # 杞ㄩ亾鎬婚暱
-  trackEntireLength: 246600
+  trackEntireLength: 240000
   # 杞ㄩ亾鍩哄噯鐐�
   trackBenchmark: 1
   # 杞ㄩ亾杞崲涓虹背姣斾緥

--
Gitblit v1.9.1