From d91d1fc34a8af84513416cb2a03c75d96fb0304e Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期三, 10 十二月 2025 08:46:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/model/StartupDto.java           |    6 
 src/main/java/com/zy/core/thread/RgvThread.java             |  152 +++++++++++++++++----
 src/main/java/com/zy/asrs/controller/RgvController.java     |   12 +
 src/main/java/com/zy/asrs/utils/Utils.java                  |   78 +++++++---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    4 
 src/main/java/com/zy/asrs/entity/WrkMast.java               |    6 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |    4 
 src/main/resources/application.yml                          |  152 ++++++++++----------
 8 files changed, 266 insertions(+), 148 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 5fe0cb4..6c12e13 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -391,7 +391,11 @@
 //            ringThroughParam.setIndex(i);
 //            double[] doubles = Utils.RingThroughXY2(perimeter, NumUtils.GetRandomIntInRange(183));
 //            double[] doubles = Utils.RingThroughXYRgv(perimeter, perimeter-rgvProtocol.RgvPos.doubleValue());
-            double[] doubles = Utils.getRgvPosNew(trackEntireLength, rgvProtocol.RgvPos.doubleValue());
+            double v = rgvProtocol.RgvPos.doubleValue() ;
+            if (rgv.getId()>2){
+                v = rgvProtocol.RgvPos.doubleValue() + 1000000.0;
+            }
+            double[] doubles = Utils.getRgvPosNew(trackEntireLength, v);
 
             ringThroughParam.setValueX(doubles[0]);
             ringThroughParam.setValueY(doubles[1]);
@@ -445,7 +449,11 @@
 //            double[] doubles = Utils.RingThroughXYSta(perimeter, perimeter-basDevpPosition.getPlcPosition());
 //            ringThroughParam.setValueX(doubles[0]>50? doubles[0]+6:doubles[0]-1);
 //            ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1);
-            double[] doubles = Utils.getRgvPosNew(basDevpPosition.getDevNo(),trackEntireLength, basDevpPosition.getPlcPosition());
+            double v = basDevpPosition.getPlcPosition() ;
+            if (basDevpPosition.getDevNo()>200){
+                v = basDevpPosition.getPlcPosition() + 1000000.0;
+            }
+            double[] doubles = Utils.getRgvPosNew(basDevpPosition.getDevNo(),trackEntireLength, v);
             ringThroughParam.setValueX(doubles[0]);
             ringThroughParam.setValueY(doubles[1]);
             result.add(ringThroughParam);
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index e1f5c49..88860a0 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -495,11 +495,11 @@
         switch (sourceStaNo){
             case 118:
             case 121:
-            case 122:
+            case 124:
             case 218:
             case 221:
-            case 222:
-                return sourceStaNo+1;
+            case 224:
+                return sourceStaNo-1;
         }
         return staNo;
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 46167d3..03e06ce 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -722,7 +722,7 @@
             }
 
             // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-            if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
+            if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo()) && crnProtocol.getCrnNo()!=3) {
                 String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo());
                 LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                 // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
@@ -869,7 +869,7 @@
                 }
 
                 // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-                if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
+                if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo()) && crnProtocol.getCrnNo()!=3) {
                     String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
                     LocMast shallowLoc = locMastService.selectById(shallowLocNo);
                     // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index c208377..c14a658 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -87,8 +87,14 @@
      */
     public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) {
         int row = getRow(deepLoc);
-        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
-        int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
+        int shallowRow = row;
+        if (row==1 || row == 5 || row==11){
+            shallowRow = row+1;
+        } else if (row==4 || row==8 || row == 14){
+            shallowRow = row-1;
+        }
+//        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
+//        int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
         return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
     }
 
@@ -105,15 +111,23 @@
      */
     public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) {
         int row = getRow(shallowLoc);
-        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
+//        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
         int targetRow;
-        if (remainder == 2) {
-            targetRow = row - 1;
-        } else if (remainder == 3) {
-            targetRow = row + 1;
-        } else {
+//        int targetRow = row;
+        if (row==2 || row == 6 || row==12){
+            targetRow = row-1;
+        } else if (row==3 || row==7 || row == 13){
+            targetRow = row+1;
+        }else {
             throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
         }
+//        if (remainder == 2) {
+//            targetRow = row - 1;
+//        } else if (remainder == 3) {
+//            targetRow = row + 1;
+//        } else {
+//            throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+//        }
         return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
     }
 
@@ -121,14 +135,23 @@
      * 鑾峰彇 娴呭簱浣嶆帓瀵瑰簲鐨勬繁搴撲綅鎺�
      */
     public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) {
-        int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount());
+//        int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount());
         int targetRow;
-        if (remainder == 2) {
-            targetRow = shallowRow - 1;
-        } else if (remainder == 3) {
-            targetRow = shallowRow + 1;
-        } else {
-            throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");
+//        if (remainder == 2) {
+//            targetRow = shallowRow - 1;
+//        } else if (remainder == 3) {
+//            targetRow = shallowRow + 1;
+//        } else {
+//            throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");
+//        }
+
+//        int targetRow = row;
+        if (shallowRow==2 || shallowRow == 6 || shallowRow==12){
+            targetRow = shallowRow-1;
+        } else if (shallowRow==3 || shallowRow==7 || shallowRow == 13){
+            targetRow = shallowRow+1;
+        }else {
+            throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
         }
         return targetRow;
     }
@@ -217,18 +240,19 @@
 //                {680103, 731550, 1115, 882, 1215, 775, 1125, 882},
                 // 鐩寸嚎鍖洪棿锛�0-134400锛�
 //                {璧风偣, 缁堢偣, 绫诲瀷, x1, y1, x2, y2,
-                {0.0, 120000.0, 0, 390.0, 750.0, 60.0, 750.0},
-                // 鍦嗗姬鍖洪棿锛堟嫄鐐�116-115锛夋柊鍙傛暟锛氬渾蹇�(1115,775)
-                {120000.0, 127500.0, 2, 60.0, 750.0, 10.0, 800.0, 60.0, 800.0}, // 淇缁堢偣鍧愭爣
-                {127500.0, 134900.0, 2, 10.0, 800.0, 60.0, 850.0, 60.0, 800.0},
-                {134900.0, 680103.0,0, 60.0, 850.0, 1100.0, 850.0},
-                {680103.0, 731550.0, 2, 1100.0, 850.0, 1200.0, 750.0, 1100.0, 750.0},
-                {731550.0, 972950.0,0, 1200.0, 750.0, 1200.0, 100.0},
-                {972950.0, 1016193.0, 2, 1200.0, 100.0, 1150.0, 50.0, 1150.0, 100.0},
-                {1016193.0, 1063563.0, 2, 1150.0, 50.0, 1100.0, 100.0, 1150.0, 100.0},
-                {1063563.0, 1315250.0,0, 1100.0, 100.0, 1100.0, 700.0},
-                {1315250.0, 1322829.0, 2, 1100.0, 700.0, 1050.0, 750.0, 1050.0, 700.0},
-                {1322829.0, 1737000.0,0, 1050.0, 750.0, 390.0, 750.0},
+                {0.0, 240000.0, 0, 100.0, 225.0, 1100.0, 225.0},
+                {1000000.0, 1240000.0, 0, 100.0, 625.0, 1100.0, 625.0},
+//                // 鍦嗗姬鍖洪棿锛堟嫄鐐�116-115锛夋柊鍙傛暟锛氬渾蹇�(1115,775)
+//                {120000.0, 127500.0, 2, 60.0, 750.0, 10.0, 800.0, 60.0, 800.0}, // 淇缁堢偣鍧愭爣
+//                {127500.0, 134900.0, 2, 10.0, 800.0, 60.0, 850.0, 60.0, 800.0},
+//                {134900.0, 680103.0,0, 60.0, 850.0, 1100.0, 850.0},
+//                {680103.0, 731550.0, 2, 1100.0, 850.0, 1200.0, 750.0, 1100.0, 750.0},
+//                {731550.0, 972950.0,0, 1200.0, 750.0, 1200.0, 100.0},
+//                {972950.0, 1016193.0, 2, 1200.0, 100.0, 1150.0, 50.0, 1150.0, 100.0},
+//                {1016193.0, 1063563.0, 2, 1150.0, 50.0, 1100.0, 100.0, 1150.0, 100.0},
+//                {1063563.0, 1315250.0,0, 1100.0, 100.0, 1100.0, 700.0},
+//                {1315250.0, 1322829.0, 2, 1100.0, 700.0, 1050.0, 750.0, 1050.0, 700.0},
+//                {1322829.0, 1737000.0,0, 1050.0, 750.0, 390.0, 750.0},
         };
 
         for (Object[] interval : intervals) {
diff --git a/src/main/java/com/zy/common/model/StartupDto.java b/src/main/java/com/zy/common/model/StartupDto.java
index e3e95a6..cf5a896 100644
--- a/src/main/java/com/zy/common/model/StartupDto.java
+++ b/src/main/java/com/zy/common/model/StartupDto.java
@@ -27,11 +27,11 @@
         switch (sourceStaNo){
             case 118:
             case 121:
-            case 122:
+            case 124:
             case 218:
             case 221:
-            case 222:
-                return sourceStaNo+1;
+            case 224:
+                return sourceStaNo-1;
         }
         return staNoE;
     }
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 6be9330..6ea0bca 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -52,7 +52,7 @@
     //# 杞ㄩ亾鍩哄噯鐐�
     private Long trackBenchmark = 1L;
     //  # 閬胯璺濈
-    private Long avoidDistance = 14000L;
+    private Long avoidDistance = 11200L;
     private String errorRgv = "-";
 
     /**
@@ -134,7 +134,7 @@
                     initRgv();
                     continue;
                 }
-                Thread.sleep(20);
+                Thread.sleep(100L);
 //                System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
 
                 readStatus();
@@ -169,12 +169,12 @@
                     }
                     continue;
                 }
-//                if (delRgvTask){
-//                    writeDelRgvTask();
-//                    delRgvTask = false;
-//                    continue;
-//                }
-                Thread.sleep(50L);
+                if (delRgvTask){
+                    writeDelRgvTask();
+                    delRgvTask = false;
+                    continue;
+                }
+                Thread.sleep(200L);
 
                 // 鏋勫缓璁惧鐘舵�佸璞�
                 RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
@@ -182,10 +182,33 @@
                     rgvProtocol = new RgvProtocol();
                 }
                 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);
+                    boolean sign = true;
+                    int i = 1;
+                    while (sign && i<5){
+                        i++;
+                        sign = false;
+                        OperateResult result2 = siemensNet.Write("DB100.2",(int) 0);
+                        OperateResult result14 = siemensNet.Write("DB100.14", (int) 0);
+                        OperateResult result6 = siemensNet.Write("DB100.6", (short) 0);
+                        OperateResult result8 = siemensNet.Write("DB100.8", (short) 0);
+                        OperateResult result10 = siemensNet.Write("DB100.10", (short) 0);
+                        OperateResult result12 = siemensNet.Write("DB100.12", (short) 0);
+                        Thread.sleep(10L);
+
+                        OperateResultExOne<byte[]> resultRead0 = siemensNet.Read("DB100.0", (short) 20);
+                        Integer i2 = siemensNet.getByteTransform().TransInt32(resultRead0.Content, 2);
+                        short i6 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 6);
+                        short i8 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 8);
+                        short i10 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 10);
+                        Integer i14 = siemensNet.getByteTransform().TransInt32(resultRead0.Content, 14);
+                        if (i2!=0 || i6 != (short) 0
+                                || i8!=(short)0 || i10 != (short) 0
+                                || i14!=0){
+                            sign = true;
+                        }
+                    }
+
+                    OperateResult result0 = siemensNet.Write("DB100.0", (short) 1);
                 }
             } catch (Exception e) {
                 log.error("RGV鏁版嵁浠诲姟涓嬪彂澶嶄綅绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
@@ -218,7 +241,7 @@
                     continue;
                 }
                 // 浼戠湢 1 绉�
-                Thread.sleep(100);
+                Thread.sleep(200L);
 
                 if (!deviceDetection()) {
                     continue;
@@ -1154,10 +1177,13 @@
             }
             return false;
         }
+
+
+        this.wrkSign = 1;
 //        convertRow(command);
 //        taskProtocol.setRgvNo(slave.getId());
 //        Long[] array = new Long[11];
-        OperateResult result41 = siemensNet.Write("DB100.0", (short) 0);
+        OperateResult result0 = siemensNet.Write("DB100.0", (short) 0);
 //        array[0] = taskProtocol.getAckFinish1();
 //        array[1] = taskProtocol.getTaskNo();
 //        array[2] = taskProtocol.getTaskMode();
@@ -1166,18 +1192,52 @@
         int taskStatus = taskProtocol.getTaskStatus$();
         int targetPositionStaNo = taskProtocol.getTargetPositionStaNo();
         int targetPositionStaNoEnd = taskProtocol.getTargetPositionStaNoEnd();
-
-        OperateResult result2 = siemensNet.Write("DB100.2", taskProtocol.getTaskNo().intValue());
-        OperateResult result1 = siemensNet.Write("DB100.6", (short) taskStatus);
-        OperateResult result11 = siemensNet.Write("DB100.8", (short) targetPositionStaNo);
-        OperateResult result12 = siemensNet.Write("DB100.10", (short) targetPositionStaNo);
-        OperateResult result = siemensNet.Write("DB100.14", taskProtocol.getTargetPosition().intValue());
-        OperateResult result13 = siemensNet.Write("DB100.18", (short) targetPositionStaNoEnd);
+        boolean sign = true;
+        int i = 1;
+        while (sign && i<5){
+            i++;
+            sign = false;
+            OperateResult result2 = siemensNet.Write("DB100.2", taskProtocol.getTaskNo().intValue());
+            OperateResult result6 = siemensNet.Write("DB100.6", (short) taskStatus);
+            OperateResult result8 = siemensNet.Write("DB100.8", (short) targetPositionStaNo);
+            OperateResult result10 = siemensNet.Write("DB100.10", (short) targetPositionStaNo);
+            OperateResult result14 = siemensNet.Write("DB100.14", taskProtocol.getTargetPosition().intValue());
+            OperateResult result18 = siemensNet.Write("DB100.18", (short) targetPositionStaNoEnd);
 //        OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 :  (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
-        Thread.sleep(10L);
+            Thread.sleep(10L);
 
-        OperateResult result4 = siemensNet.Write("DB100.12", (short) 1);
-        this.wrkSign = 1;
+            OperateResultExOne<byte[]> resultRead0 = siemensNet.Read("DB100.0", (short) 20);
+            short i0 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 0);
+            Integer i2 = siemensNet.getByteTransform().TransInt32(resultRead0.Content, 2);
+            short i6 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 6);
+            short i8 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 8);
+            short i10 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 10);
+            Integer i14 = siemensNet.getByteTransform().TransInt32(resultRead0.Content, 14);
+            short i18 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 18);
+            if (i0 !=(short) 0 || i2!=taskProtocol.getTaskNo().intValue() || i6 != (short) taskStatus
+                    || i8!=(short)targetPositionStaNo || i10 != (short) targetPositionStaNo
+                    || i14!=taskProtocol.getTargetPosition().intValue() || i18 != (short) targetPositionStaNoEnd){
+                sign = true;
+            }
+        }
+        sign = true;
+        OperateResult result12 = siemensNet.Write("DB100.12", (short) 1);
+//
+        i = 1;
+        sign = true;
+        while (sign && i<5){
+            i++;
+            sign = false;
+//        OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 :  (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+            Thread.sleep(10L);
+
+            OperateResultExOne<byte[]> resultRead0 = siemensNet.Read("DB100.0", (short) 20);
+            short i12 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 12);
+            if (i12 != (short) 1 ){
+                sign = true;
+            }
+            result12 = siemensNet.Write("DB100.12", (short) 1);
+        }
 
 //        log.info("浠诲姟涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
 
@@ -1199,7 +1259,7 @@
                     null,
                     null,
                     null,
-                    result.IsSuccess ? 1 : 0,
+                    result12.IsSuccess ? 1 : 0,
                     null,
                     new Date(),
                     null
@@ -1209,7 +1269,7 @@
         }
 
         readStatus();
-        if (result != null && result.IsSuccess) {
+        if (result12 != null && result0.IsSuccess) {
 //            Thread.sleep(50);
 //            this.readStatus();
             log.info("RGV 鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(taskProtocol));
@@ -1232,11 +1292,37 @@
 
     private boolean writeDelRgvTask() throws InterruptedException {
 //
-        OperateResult result = siemensNet.Write("DB100.12.0", false);
-        OperateResult result0 = siemensNet.Write("DB100.0", (int) 0);
-        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:鍙�
+        int i = 1;
+        boolean sign = true;
+        while (sign && i<5){
+            i++;
+            sign = false;
+            OperateResult result0 = siemensNet.Write("DB100.0", (short) 0);
+            OperateResult result2 = siemensNet.Write("DB100.2", 0);
+            OperateResult result6 = siemensNet.Write("DB100.6", (short) 0);
+            OperateResult result8 = siemensNet.Write("DB100.8", (short) 0);
+            OperateResult result10 = siemensNet.Write("DB100.10", (short) 0);
+            OperateResult result12 = siemensNet.Write("DB100.12",(short)0);
+            OperateResult result14 = siemensNet.Write("DB100.14",0);
+            OperateResult result18 = siemensNet.Write("DB100.18", (short) 0);
+//        OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 :  (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+            Thread.sleep(10L);
+
+            OperateResultExOne<byte[]> resultRead0 = siemensNet.Read("DB100.0", (short) 20);
+            short i0 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 0);
+            Integer i2 = siemensNet.getByteTransform().TransInt32(resultRead0.Content, 2);
+            short i6 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 6);
+            short i8 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 8);
+            short i10 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 10);
+            short i12 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 12);
+            Integer i14 = siemensNet.getByteTransform().TransInt32(resultRead0.Content, 14);
+            short i18 = siemensNet.getByteTransform().TransInt16(resultRead0.Content, 18);
+            if (i0 !=(short) 0 || i2!=0 || i6 != (short) 0
+                    || i8!=(short)0 || i10 != (short) 0 || i12 != (short) 0
+                    || i14!=0 || i18 != (short) 0){
+                sign = true;
+            }
+        }
         log.info("浠诲姟瀹屾垚涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
 
         try {
@@ -1251,7 +1337,7 @@
                     null,
                     null,
                     null,
-                    result.IsSuccess ? 1 : 0,
+                    sign ? 1 : 0,
                     null,
                     new Date(),
                     null
@@ -1260,7 +1346,7 @@
         } catch (Exception ignore) {
         }
 
-        if (result != null && result.IsSuccess) {
+        if (sign) {
 //            Thread.sleep(200);
 //            this.readStatus();
             log.info("RGV 鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), JSON.toJSON("null"));
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index ba4aeeb..3979c4e 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -47,13 +47,13 @@
     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
         add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);add(110);
         add(111);add(112);add(113);add(114);add(115);add(116);add(117);add(118);add(119);add(120);
-        add(121);add(122);add(124);add(125);
+        add(121);add(122);add(123);add(124);add(125);
     }};
 
     public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
         add(201);add(202);add(203);add(204);add(205);add(206);add(207);add(208);add(209);add(210);
         add(211);add(212);add(213);add(214);add(215);add(216);add(217);add(218);add(219);add(220);
-        add(221);add(222);add(224);add(225);
+        add(221);add(222);add(223);add(224);add(225);
     }};
     public static final ArrayList<Integer> staNos1W = new ArrayList<Integer>() {{
         add(118);add(121);add(124);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 9fc2721..43c40c2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -59,7 +59,7 @@
   # 杞ㄩ亾杞崲涓虹背姣斾緥
   trackProportion: 10000
   # 閬胯璺濈
-  avoidDistance: 13300
+  avoidDistance: 11200
 inventory:
   number: 7
 
@@ -68,7 +68,7 @@
   # 鍙屾繁
   doubleDeep: true
   # 鍙屾繁搴撲綅鎺掑彿
-  doubleLocs: 1,4,5,8,9,12,13,16,17,20
+  doubleLocs: 1,4,5,8,11,14
   # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   groupCount: 4
   # 鍫嗗灈鏈�1
@@ -298,9 +298,9 @@
       directionOther: false
     rgvOutSta[3]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 116
+      staNo: 102
       direction: true
-      staNoOther: 116
+      staNoOther: 102
       directionOther: false
     rgvOutSta[4]:
       devpPlcId: ${wcs-slave.devp[0].id}
@@ -316,9 +316,9 @@
       directionOther: false
     rgvSuperSta[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 116
+      staNo: 102
       direction: true
-      staNoOther: 116
+      staNoOther: 102
       directionOther: false
   # RGV绌挎杞�2
   rgv[1]:
@@ -402,9 +402,9 @@
       directionOther: false
     rgvOutSta[3]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 102
+      staNo: 116
       direction: true
-      staNoOther: 102
+      staNoOther: 116
       directionOther: false
     rgvOutSta[4]:
       devpPlcId: ${wcs-slave.devp[0].id}
@@ -420,9 +420,9 @@
       directionOther: false
     rgvSuperSta[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 102
+      staNo: 116
       direction: true
-      staNoOther: 102
+      staNoOther: 116
       directionOther: false
   # RGV绌挎杞�3
   rgv[2]:
@@ -436,49 +436,49 @@
     carBodyKunPeng: 2800
     #RGV婧愮珯鐐�
     rgvInSta[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 217
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶�===>  鍚�  鍓峵rue鍚巉alse锛�  true:宸�   false:鍙�
       direction: false
       staNoOther: 217
       directionOther: false
     rgvInSta[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 220
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: false
       staNoOther: 220
       directionOther: false
     rgvInSta[2]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 223
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
       staNoOther: 223
       directionOther: false
     rgvInSta[3]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 204
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
       staNoOther: 204
       directionOther: false
     rgvInSta[4]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 208
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
       staNoOther: 208
       directionOther: false
     rgvInSta[5]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 212
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
       staNoOther: 212
       directionOther: false
     rgvInSta[6]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 214
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
@@ -486,47 +486,47 @@
       directionOther: false
     #RGV鐩爣绔欑偣
     rgvOutSta[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 217
       direction: false
       staNoOther: 217
       directionOther: false
     rgvOutSta[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
+      devpPlcId: ${wcs-slave.devp[1].id}
       staNo: 220
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: false
       staNoOther: 220
       directionOther: false
     rgvOutSta[2]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 123
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 223
       direction: false
-      staNoOther: 123
+      staNoOther: 223
       directionOther: false
     rgvOutSta[3]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 102
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 202
       direction: true
-      staNoOther: 102
+      staNoOther: 202
       directionOther: false
     rgvOutSta[4]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 106
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 206
       direction: true
-      staNoOther: 106
+      staNoOther: 206
       directionOther: false
     rgvOutSta[5]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 110
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 210
       direction: true
-      staNoOther: 110
+      staNoOther: 210
       directionOther: false
     rgvSuperSta[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 102
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 202
       direction: true
-      staNoOther: 102
+      staNoOther: 202
       directionOther: false
   # RGV绌挎杞�4
   rgv[3]:
@@ -540,97 +540,97 @@
     carBodyKunPeng: 2800
     #RGV婧愮珯鐐�
     rgvInSta[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 117
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 217
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶�===>  鍚�  鍓峵rue鍚巉alse锛�  true:宸�   false:鍙�
       direction: false
-      staNoOther: 117
+      staNoOther: 217
       directionOther: false
     rgvInSta[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 120
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 220
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: false
-      staNoOther: 120
+      staNoOther: 220
       directionOther: false
     rgvInSta[2]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 123
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 223
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
-      staNoOther: 123
+      staNoOther: 223
       directionOther: false
     rgvInSta[3]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 104
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 204
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
-      staNoOther: 104
+      staNoOther: 204
       directionOther: false
     rgvInSta[4]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 108
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 208
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
-      staNoOther: 108
+      staNoOther: 208
       directionOther: false
     rgvInSta[5]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 112
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 212
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
-      staNoOther: 112
+      staNoOther: 212
       directionOther: false
     rgvInSta[6]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 114
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 214
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: true
-      staNoOther: 114
+      staNoOther: 214
       directionOther: false
     #RGV鐩爣绔欑偣
     rgvOutSta[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 117
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 217
       direction: false
-      staNoOther: 117
+      staNoOther: 217
       directionOther: false
     rgvOutSta[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 120
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 220
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: false
-      staNoOther: 120
+      staNoOther: 220
       directionOther: false
     rgvOutSta[2]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 123
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 223
       direction: false
-      staNoOther: 123
+      staNoOther: 223
       directionOther: false
     rgvOutSta[3]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 116
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 216
       direction: true
-      staNoOther: 116
+      staNoOther: 216
       directionOther: false
     rgvOutSta[4]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 106
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 206
       direction: true
-      staNoOther: 106
+      staNoOther: 206
       directionOther: false
     rgvOutSta[5]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 110
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 210
       direction: true
-      staNoOther: 110
+      staNoOther: 210
       directionOther: false
     rgvSuperSta[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 116
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 216
       direction: true
-      staNoOther: 116
+      staNoOther: 216
       directionOther: false
   # 杈撻�佺嚎1
   devp[0]:

--
Gitblit v1.9.1