From 29d5f847ca4d1f084d8170d5bf2235cd6b7dde14 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期一, 08 十二月 2025 14:58:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/enums/RgvStatusType.java          |    8 
 src/main/java/com/zy/core/thread/RgvThread.java             |   94 +++++++------
 src/main/java/com/zy/core/enums/RgvModeType.java            |    9 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |    2 
 src/main/webapp/static/js/console.map.js                    |   44 +++---
 src/main/java/com/zy/core/cache/RgvStatusCache.java         |    2 
 src/main/java/com/zy/core/model/protocol/TaskProtocol.java  |   15 ++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |    6 
 src/main/resources/application.yml                          |  224 ++++++++++++++++++++++++++++++-
 9 files changed, 316 insertions(+), 88 deletions(-)

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 5fee426..8c6dc95 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1204,7 +1204,7 @@
                         crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                         crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  绔欎綅绉昏浆4
                         Integer crnNo = crnProtocol.getCrnNo();
-                        int row1 = crnNo * 4;
+                        int row1 = crnNo * 4-1;
                         if (crnNo>2){
                             row1 = row1-2;
                         }
diff --git a/src/main/java/com/zy/core/cache/RgvStatusCache.java b/src/main/java/com/zy/core/cache/RgvStatusCache.java
index d6ddc9a..dc2f6e3 100644
--- a/src/main/java/com/zy/core/cache/RgvStatusCache.java
+++ b/src/main/java/com/zy/core/cache/RgvStatusCache.java
@@ -16,7 +16,7 @@
      */
     public static void updateRgvStatus(RgvProtocol status) {
         try {
-            if (status.getRgvNo()!=1 && status.getRgvNo() != 2){
+            if (status.getRgvNo()!=1 && status.getRgvNo() != 2 && status.getRgvNo() != 3 && status.getRgvNo() != 4){
                 return;
             }
             cache.put(status.getRgvNo(), status);
diff --git a/src/main/java/com/zy/core/enums/RgvModeType.java b/src/main/java/com/zy/core/enums/RgvModeType.java
index 7682be5..4aa7de4 100644
--- a/src/main/java/com/zy/core/enums/RgvModeType.java
+++ b/src/main/java/com/zy/core/enums/RgvModeType.java
@@ -3,10 +3,11 @@
 public enum RgvModeType {
 
     NONE(-1, "绂荤嚎","ffffff"),
-    STOP(2, "缁翠慨","ffffff"),
-    HAND(0, "鎵嬪姩","ffffff"),
-    HALF_AUTO(3, "鍗婅嚜鍔�","ffffff"),
-    AUTO(1, "鑷姩","ffffff"),
+//    STOP(0, "缁翠慨","ffffff"),
+    STOP(0, "鏃�","ffffff"),
+    HAND(1, "鎵嬪姩","ffffff"),
+    HALF_AUTO(2, "鍗婅嚜鍔�","ffffff"),
+    AUTO(3, "鑷姩","ffffff"),
     OTHER(100, "鍏跺畠","ffffff"),
     ;
 
diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java
index a3eb919..52007d0 100644
--- a/src/main/java/com/zy/core/enums/RgvStatusType.java
+++ b/src/main/java/com/zy/core/enums/RgvStatusType.java
@@ -3,10 +3,10 @@
 public enum RgvStatusType {
 
     NONE(-1, "绂荤嚎","ffffff"),
-    NONE0(0, "绂荤嚎","ffffff"),
-    IDLE(1, "绌洪棽","ffffff"),
-    WORKING(2, "浣滀笟涓�","ffffff"),// 1锛氳璧�  2锛氬彇  3锛氭斁
-    SOS(3, "鎶ヨ","ffffff"),
+//    NONE0(0, "绂荤嚎","ffffff"),
+    IDLE(0, "绌洪棽","ffffff"),
+//    WORKING(2, "浣滀笟涓�","ffffff"),// 1锛氳璧�  2锛氬彇  3锛氭斁
+//    SOS(3, "鎶ヨ","ffffff"),
     FETCHING(11, "鍙栬揣涓�","ffffff"),
     PUTTING(12, "鏀捐揣涓�","ffffff"),
     WAITING(90, "浠诲姟瀹屾垚绛夊緟WCS纭","ffffff"),
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 a7dee2d..6acfc18 100644
--- a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
@@ -11,11 +11,12 @@
     private volatile Long taskNo; // 浠诲姟鍙凤紙涓诲睘鎬э級
     private volatile Long targetPosition = 0L; // 鐩爣浣嶇疆
     private volatile Integer targetPositionStaNo = 0; // 鐩爣浣嶇疆
+    private volatile Integer targetPositionStaNoEnd = 0; // 鏈�缁堢洰鏍囦綅缃�
     private volatile Integer targetPositionStaNoPlcId = 1; // 鐩爣浣嶇疆
 
     private volatile int isRunning = 0; // 杩愯鐘舵��  0锛氬垵濮�  1锛氱瓑寰呮墽琛�  2锛氭墽琛屼腑 3锛氭墽琛屼腑鏂� 4锛氬畬缁�
 
-    private volatile int taskStatus = 0; //浣滀笟妯″紡  1锛氳璧�  2锛氬彇  3锛氭斁  0:鏃�
+    private volatile int taskStatus = 0; //浣滀笟妯″紡  1锛氳璧�  2锛氬彇  3锛氭斁  0:鏃�  //zzgt 1:鍙�  2:鏀�  3:搴撲綅杞Щ 4:琛岃蛋
 
     private volatile boolean direction; // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�  鎵ц鏂瑰悜锛堥潰鏈濊建閬�  1:鑷繁  2 杞ㄩ亾   true:鑷繁   false:杞ㄩ亾
 
@@ -58,4 +59,16 @@
         }
         return taskNo+"_"+taskStatusStr;
     }
+
+    public int getTaskStatus$() {
+        switch (taskStatus){
+            case 1:
+                return 4;
+            case 2:
+                return 1;
+            case 3:
+                return 2;
+        }
+        return taskStatus;
+    }
 }
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index f1c5e9a..b736ba7 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -169,18 +169,20 @@
                     }
                     continue;
                 }
-                if (delRgvTask){
-                    writeDelRgvTask();
-                    delRgvTask = false;
-                    continue;
-                }
+//                if (delRgvTask){
+//                    writeDelRgvTask();
+//                    delRgvTask = false;
+//                    continue;
+//                }
                 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);
+                // 鏋勫缓璁惧鐘舵�佸璞�
+                RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
+                if (rgvProtocol == null) {
+                    rgvProtocol = new RgvProtocol();
+                }
+                if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING)){
+                    OperateResult result4 = siemensNet.Write("DB100.0", (short) 1);
                 }
             } catch (Exception e) {
                 log.error("RGV鏁版嵁浠诲姟涓嬪彂澶嶄綅绾跨▼寮傚父锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
@@ -666,7 +668,7 @@
                     RgvTaskCache.updateRgvStatus(rgvTaskProtocolOther);
                     return false;
                 }
-            } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.WORKING)) {
+            } else if (!rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)) {
                 if ((rgvProtocolOther.getRgvPosDestination() - rgvProtocolOther.getCarBodyJiaoMing())
                         - (targetPosition + rgvProtocol.getCarBodyKunPeng())
                         > avoidDistance - 50) {//鏃犻渶閬胯
@@ -874,7 +876,7 @@
                     return false;
                 }
 
-            } else if (rgvProtocolOther.getStatusType().equals(RgvStatusType.WORKING)) {
+            } else if (!rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE)) {
                 if ((targetPosition - rgvProtocol.getCarBodyJiaoMing())
                         - (rgvProtocolOther.getRgvPosDestination() + rgvProtocolOther.getCarBodyKunPeng())
                         > avoidDistance-50) {//鏃犻渶閬胯
@@ -1010,7 +1012,8 @@
      */
     private void readStatus() {
         try {
-            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 20);
+            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 36);
+            OperateResultExOne<byte[]> result100 = siemensNet.Read("DB100.0", (short) 18);
             if (result.IsSuccess) {
                 // 鏋勫缓璁惧鐘舵�佸璞�
                 RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
@@ -1021,14 +1024,16 @@
                 rgvProtocol.setCarBodyJiaoMing(slave.getCarBodyJiaoMing());
                 rgvProtocol.setCarBodyKunPeng(slave.getCarBodyKunPeng());
 
-                rgvProtocol.setRgvPos((long)siemensNet.getByteTransform().TransInt32(result.Content, 0));
-                rgvProtocol.setRgvPosDestination((long)siemensNet.getByteTransform().TransInt32(result.Content, 4));
+                rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
+//                rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 2));
+                rgvProtocol.setTaskNo((long)siemensNet.getByteTransform().TransInt32(result.Content, 4));
+                rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 8));
+                rgvProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 10));
+                rgvProtocol.setRgvPos((long)siemensNet.getByteTransform().TransInt32(result.Content, 32));
+                rgvProtocol.setRgvPosDestination((long)siemensNet.getByteTransform().TransInt32(result100.Content, 14));
                 if (rgvProtocol.getRgvPosDestination()==0L){
                     rgvProtocol.setRgvPosDestination(rgvProtocol.getRgvPos());
                 }
-
-                rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 8));
-//                rgvProtocol.setStatus((short)1);
 
                 //浣滀笟鍚姩涓�  瑙e喅浠诲姟涓嬪彂鍚庡皬杞︾姸鎬佹湭鏇存柊锛屽皬杞︾姸鎬佷笉鍙婃椂
                 if (this.wrkSign == 1 && rgvProtocol.getStatus()!=(short)1){
@@ -1038,26 +1043,22 @@
                     rgvProtocol.setStatus((short)110);
                 }
 
-                rgvProtocol.setTaskNo((long)siemensNet.getByteTransform().TransInt32(result.Content, 10));
-
-                rgvProtocol.setRgvNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 14));
-                rgvProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 16));
 //                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 20));
 //                rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
 //                rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
-//                rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
+                rgvProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 16));
 
 //                OperateResultExOne<byte[]> result11 = siemensNet.Read("DB100.12", (short) 1);
-                boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 18, 2);
-                rgvProtocol.setLoaded(status[0]? (short)1:(short)0);
-                rgvProtocol.setErr1(status[8]);
-                rgvProtocol.setErr2(status[9]);
-                rgvProtocol.setErr3(status[10]);
-                rgvProtocol.setErr4(status[11]);
-                rgvProtocol.setErr5(status[12]);
-                rgvProtocol.setErr6(status[13]);
-                rgvProtocol.setErr7(status[14]);
-                rgvProtocol.setErr8(status[15]);
+//                boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 18, 2);
+//                rgvProtocol.setLoaded(status[0]? (short)1:(short)0);
+//                rgvProtocol.setErr1(status[8]);
+//                rgvProtocol.setErr2(status[9]);
+//                rgvProtocol.setErr3(status[10]);
+//                rgvProtocol.setErr4(status[11]);
+//                rgvProtocol.setErr5(status[12]);
+//                rgvProtocol.setErr6(status[13]);
+//                rgvProtocol.setErr7(status[14]);
+//                rgvProtocol.setErr8(status[15]);
 //                System.out.println("璇荤嚎绋�"+ slave.getId()+"---"+JSON.toJSONString(rgvProtocol));
 //                System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol));
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
@@ -1072,9 +1073,9 @@
 //                        }
 //                    }
 //                }
-                if (rgvProtocol.getAlarm$()!=0){
-                    RgvErrCache.updateRgvErr(slave.getId(),rgvProtocol.getAlarmM());
-                }
+//                if (rgvProtocol.getAlarm$()!=0){
+//                    RgvErrCache.updateRgvErr(slave.getId(),rgvProtocol.getAlarmM());
+//                }
 
                 try {
                     // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
@@ -1152,21 +1153,26 @@
 //        convertRow(command);
 //        taskProtocol.setRgvNo(slave.getId());
 //        Long[] array = new Long[11];
-        OperateResult result41 = siemensNet.Write("DB100.12.0", false);
+        OperateResult result41 = siemensNet.Write("DB100.0", (short) 0);
 //        array[0] = taskProtocol.getAckFinish1();
 //        array[1] = taskProtocol.getTaskNo();
 //        array[2] = taskProtocol.getTaskMode();
 //        array[4] = command.getDestinationStaNo();
 //        array[10] = taskProtocol.getCommand();
-        int taskStatus = taskProtocol.getTaskStatus();
+        int taskStatus = taskProtocol.getTaskStatus$();
+        int targetPositionStaNo = taskProtocol.getTargetPositionStaNo();
+        int targetPositionStaNoEnd = taskProtocol.getTargetPositionStaNoEnd();
 
-        OperateResult result = siemensNet.Write("DB100.0", taskProtocol.getTargetPosition().intValue());
-        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);
+        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);
+//        OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 :  (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+        Thread.sleep(10L);
 
-        OperateResult result4 = siemensNet.Write("DB100.12.0", true);
+        OperateResult result4 = siemensNet.Write("DB100.12", (short) 1);
         this.wrkSign = 1;
 
 //        log.info("浠诲姟涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis());
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 12db825..c36ee6b 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -461,11 +461,11 @@
         //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
         boolean writeFlag = false;
         while(writeCount < 5){
-            OperateResult writeResult1 = siemensS7Net.Write("DB101." + index*8, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
-            OperateResult writeResult2 = siemensS7Net.Write("DB101." + (index*8+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
+            OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
+            OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
             if(writeResult1.IsSuccess && writeResult2.IsSuccess){
                 Thread.sleep(200);
-                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB101.0" + index*8, (short)4);
+                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100.0" + index*6, (short)4);
 
                 if(readResult.IsSuccess){
                     Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e70d52a..02fb82d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -229,10 +229,114 @@
       bay: 52
       lev: 2
   # RGV绌挎杞�1
+  rgv[0]:
+    id: 1
+    ip: 10.10.10.176
+    port: 102
+    rack: 0
+    slot: 0
+    otherId: 2
+    carBodyJiaoMing: 13500
+    carBodyKunPeng: 2800
+    #RGV婧愮珯鐐�
+    rgvInSta[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 117
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶�===>  鍚�  鍓峵rue鍚巉alse锛�  true:宸�   false:鍙�
+      direction: false
+      staNoOther: 117
+      directionOther: false
+    rgvInSta[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 120
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: false
+      staNoOther: 120
+      directionOther: false
+    rgvInSta[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 123
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 123
+      directionOther: false
+    rgvInSta[3]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 104
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 104
+      directionOther: false
+    rgvInSta[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 108
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 108
+      directionOther: false
+    rgvInSta[5]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 112
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 112
+      directionOther: false
+    rgvInSta[6]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 114
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 114
+      directionOther: false
+    #RGV鐩爣绔欑偣
+    rgvOutSta[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 117
+      direction: false
+      staNoOther: 117
+      directionOther: false
+    rgvOutSta[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 120
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: false
+      staNoOther: 120
+      directionOther: false
+    rgvOutSta[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 123
+      direction: false
+      staNoOther: 123
+      directionOther: false
+    rgvOutSta[3]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 116
+      direction: true
+      staNoOther: 116
+      directionOther: false
+    rgvOutSta[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 106
+      direction: true
+      staNoOther: 106
+      directionOther: false
+    rgvOutSta[5]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 110
+      direction: true
+      staNoOther: 110
+      directionOther: false
+    rgvSuperSta[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 116
+      direction: true
+      staNoOther: 116
+      directionOther: false
+  # RGV绌挎杞�2
   rgv[1]:
     id: 2
-    ip: 10.10.10.176
-    port: 502
+    ip: 10.10.10.178
+    port: 102
     rack: 0
     slot: 0
     otherId: 1
@@ -332,14 +436,118 @@
       direction: true
       staNoOther: 102
       directionOther: false
-  # RGV绌挎杞�2
-  rgv[0]:
-    id: 1
-    ip: 10.10.10.178
-    port: 502
+  # RGV绌挎杞�3
+  rgv[2]:
+    id: 3
+    ip: 10.10.10.188
+    port: 102
     rack: 0
     slot: 0
-    otherId: 2
+    otherId: 4
+    carBodyJiaoMing: 13500
+    carBodyKunPeng: 2800
+    #RGV婧愮珯鐐�
+    rgvInSta[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 117
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶�===>  鍚�  鍓峵rue鍚巉alse锛�  true:宸�   false:鍙�
+      direction: false
+      staNoOther: 117
+      directionOther: false
+    rgvInSta[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 120
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: false
+      staNoOther: 120
+      directionOther: false
+    rgvInSta[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 123
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 123
+      directionOther: false
+    rgvInSta[3]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 104
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 104
+      directionOther: false
+    rgvInSta[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 108
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 108
+      directionOther: false
+    rgvInSta[5]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 112
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 112
+      directionOther: false
+    rgvInSta[6]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 114
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+      staNoOther: 114
+      directionOther: false
+    #RGV鐩爣绔欑偣
+    rgvOutSta[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 117
+      direction: false
+      staNoOther: 117
+      directionOther: false
+    rgvOutSta[1]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 120
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: false
+      staNoOther: 120
+      directionOther: false
+    rgvOutSta[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 123
+      direction: false
+      staNoOther: 123
+      directionOther: false
+    rgvOutSta[3]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 102
+      direction: true
+      staNoOther: 102
+      directionOther: false
+    rgvOutSta[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 106
+      direction: true
+      staNoOther: 106
+      directionOther: false
+    rgvOutSta[5]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 110
+      direction: true
+      staNoOther: 110
+      directionOther: false
+    rgvSuperSta[0]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 102
+      direction: true
+      staNoOther: 102
+      directionOther: false
+  # RGV绌挎杞�4
+  rgv[3]:
+    id: 4
+    ip: 10.10.10.190
+    port: 102
+    rack: 0
+    slot: 0
+    otherId: 3
     carBodyJiaoMing: 13500
     carBodyKunPeng: 2800
     #RGV婧愮珯鐐�
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index 94f401e..f76ce2c 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -3,7 +3,7 @@
     "rackCount": 4,
     "crnCount": 3,
     "stbCount": 13,
-    "hpPosition": 0,
+    "hpPosition": 1,
     "minBayNo": 1,
     "floors": 1,
     "racks": [
@@ -15,7 +15,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         },
         {
             "type": "rack",
@@ -25,7 +25,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         },
         {
             "type": "rack",
@@ -35,7 +35,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         },
         {
             "type": "rack",
@@ -45,16 +45,16 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         },{
-        "type": "rack",
-        "id": "rack5",
-        "top": 167,
-        "left": 120,
-        "width": 750,
-        "height": 22,
-        "minBayNo": 2,
-        "maxBayNo": 52
+            "type": "rack",
+            "id": "rack5",
+            "top": 167,
+            "left": 120,
+            "width": 750,
+            "height": 22,
+            "minBayNo": 2,
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack6",
@@ -63,7 +63,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack7",
@@ -72,7 +72,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack8",
@@ -81,7 +81,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack10",
@@ -90,7 +90,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack11",
@@ -99,7 +99,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack13",
@@ -108,7 +108,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack14",
@@ -117,7 +117,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack15",
@@ -126,7 +126,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }, {
             "type": "rack",
             "id": "rack16",
@@ -135,7 +135,7 @@
             "width": 750,
             "height": 22,
             "minBayNo": 2,
-            "maxBayNo": 52
+            "maxBayNo": 64
         }
     ],
     "rackDescs": [{

--
Gitblit v1.9.1