From 155b83ba0861dc9033563314bb8a5eb535dd6b60 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期三, 07 五月 2025 15:53:45 +0800
Subject: [PATCH] #联调

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   23 +
 src/main/webapp/views/console.html                          |   16 
 src/main/webapp/static/js/console.map.js                    |  192 +++++----
 src/main/java/com/zy/core/MainProcess.java                  |    8 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   36 +
 src/main/resources/application.yml                          |  857 +++++++++++++++++++++++++++++++++++++++++---
 6 files changed, 947 insertions(+), 185 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 51ac5cc..f02e02d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -97,6 +97,8 @@
 
     @Value("${wms.url}")
     private String wmsUrl;
+    @Value("${wcs-slave.isToOrigin}")
+    private boolean isToOrigin;
 
     public Integer wrkNo = 10000;
 
@@ -844,6 +846,27 @@
         }
 //        News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯  ===銆嬫墽琛屽畬鎴�");
     }
+    /**
+     * 鍫嗗灈鏈洪粯璁ゅ洖鍘熺偣
+     */
+    public synchronized void crnToInStn(Integer mark) {
+        if(isToOrigin){
+            for (CrnSlave crn : slaveProperties.getCrn()){
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    continue;
+                }
+                BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+                if (basCrnp == null) {
+                    News.error("" + mark + " - 1" + " - {}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                    continue;
+                }
+            }
+        }
+    }
+
 
     /**
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 771cc2f..901f760 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -1,6 +1,10 @@
 package com.zy.core;
 
 import com.zy.asrs.service.impl.MainServiceImpl;
+import com.zy.common.utils.News;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.Task;
 import com.zy.core.properties.SystemProperties;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -75,9 +79,13 @@
                     mainService.storeEmptyPlt(8);
                     // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
                     mainService.ledExecute(9);
+//                    if(MessageQueue.offer(SlaveType.Led, 1, new Task(3,  "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�="))){
+//                        News.info("杈撳叆鎴愬姛");
+//                    }
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset();
 
+
 //                    mainService.outOfDevp(11);
 
 //                    if (i>10){
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index bb12fe9..ca72822 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -51,23 +51,29 @@
 //
 //    }};
     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
-        add(100);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(123);
+        add(121);add(122);add(123);add(124);add(125);
+        add(126);
+        add(221);add(222);add(223);add(224);add(225);
+        add(226);add(227);add(228);add(229);add(230);
+        add(231);
+        add(411);add(412);add(413);add(414);
+    }};
 
-    add(200);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(223);
+    public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
+        add(101);add(102);add(103);
+        add(104);add(105);add(106);add(107);
+        add(108);add(109);
+
+        add(201);add(202);add(203);
+        add(204);add(205);add(206);add(207);
+        add(208);add(209);add(210);add(211);
+
+        add(401);add(402);add(403);add(404);
     }};
 
     public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
-        add(1); add(2);
+        add(1); add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);
+        add(10); add(11); add(12); add(13);
     }};
     public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{
         add(101); add(201);
@@ -78,7 +84,7 @@
     /**
      * 鏉$爜鏁伴噺
      */
-    private int barcodeSize = 2;
+    private int barcodeSize = 13;
 
     /**
      * 鍏ュ嚭搴撴ā寮�
@@ -101,6 +107,8 @@
         switch (slave.getId()) {
             case 1:
                 return staNos1;
+            case 2:
+                return staNos2;
             default:
                 throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
         }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ab55c42..399f756 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -42,6 +42,8 @@
 
 # 涓嬩綅鏈洪厤缃�
 wcs-slave:
+  #
+  isToOrigin: false
   # 鍙屾繁
   doubleDeep: false
   # 鍙屾繁搴撲綅鎺掑彿
@@ -51,7 +53,7 @@
   # 鍫嗗灈鏈�1
   crn[0]:
     id: 1
-    ip: 10.10.10.110
+    ip: 10.10.10.100
     port: 102
     rack: 0
     slot: 0
@@ -60,36 +62,106 @@
     demo: false
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 218
-      row: 2
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 102
+      row: 1
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 222
+      staNo: 121
       row: 1
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[1]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 118
+      staNo: 123
       row: 2
-      bay: 42
+      bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[1]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 103
+      row: 2
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[2]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 203
+      row: 2
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[3]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 122
+      staNo: 223
+      row: 2
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[2]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 201
       row: 1
-      bay: 42
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[3]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 221
+      row: 1
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 223
+      row: 2
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[5]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 203
+      row: 2
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[6]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 401
+      row: 1
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[4]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 401
+      row: 1
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[7]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 411
+      row: 1
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[5]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 411
+      row: 1
+      bay: 1
       lev: 1
   # 鍫嗗灈鏈�2
   crn[1]:
     id: 2
-    ip: 10.10.10.120
+    ip: 10.10.10.111
     port: 102
     rack: 0
     slot: 0
@@ -98,36 +170,78 @@
     demo: false
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 211
-      row: 4
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 105
+      row: 3
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 215
+      staNo: 124
       row: 3
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[1]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 205
+      row: 3
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[2]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 111
-      row: 4
-      bay: 42
+      staNo: 225
+      row: 3
+      bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 115
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 205
       row: 3
-      bay: 42
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 225
+      row: 3
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[3]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 402
+      row: 3
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[3]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 402
+      row: 3
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 412
+      row: 3
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 412
+      row: 3
+      bay: 1
       lev: 1
   # 鍫嗗灈鏈�3
   crn[2]:
     id: 3
-    ip: 10.10.10.130
+    ip: 10.10.10.122
     port: 102
     rack: 0
     slot: 0
@@ -136,36 +250,106 @@
     demo: false
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 204
-      row: 6
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 107
+      row: 5
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 208
+      staNo: 125
       row: 5
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 104
-      row: 6
-      bay: 42
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 206
+      row: 5
+      bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[1]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 108
+      staNo: 226
       row: 5
-      bay: 42
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 226
+      row: 5
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[2]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 206
+      row: 5
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[3]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 208
+      row: 6
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[3]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 208
+      row: 6
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 228
+      row: 6
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 228
+      row: 6
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[5]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 403
+      row: 5
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[5]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 403
+      row: 5
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[6]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 413
+      row: 5
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[6]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 413
+      row: 5
+      bay: 1
       lev: 1
   # 鍫嗗灈鏈�4
   crn[3]:
     id: 4
-    ip: 10.10.10.141
+    ip: 10.10.10.133
     port: 102
     rack: 0
     slot: 0
@@ -174,101 +358,636 @@
     demo: false
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[0]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 204
-      row: 6
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 109
+      row: 7
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 208
-      row: 5
+      staNo: 126
+      row: 7
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 104
-      row: 6
-      bay: 42
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 209
+      row: 7
+      bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[1]:
-      devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 108
-      row: 5
-      bay: 42
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 209
+      row: 7
+      bay: 1
       lev: 1
-  # 杈撻�佺嚎1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 229
+      row: 7
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 229
+      row: 7
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[3]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 211
+      row: 8
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[3]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 211
+      row: 8
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 231
+      row: 8
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[4]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 231
+      row: 8
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[5]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 403
+      row: 7
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[5]:
+      devpPlcId: ${wcs-slave.devp[1].id}
+      staNo: 403
+      row: 7
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄叆搴撶珯鐐�
+    crnInStn[6]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 414
+      row: 7
+      bay: 1
+      lev: 1
+    # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+    crnOutStn[6]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 414
+      row: 7
+      bay: 1
+      lev: 1
+  # 涓滄ゼplc
   devp[0]:
     id: 1
-    ip: 10.10.10.140
+    ip: 10.10.10.144
     port: 102
     rack: 0
     slot: 0
     # 鍏ュ簱鍙�1
     inSta[0]:
-      staNo: 101
+      staNo: 123
       barcode: ${wcs-slave.barcode[0].id}
-      backSta: 100
+      backSta: 122
       led: ${wcs-slave.led[0].id}
     # 鍏ュ簱鍙�1
     inSta[1]:
-      staNo: 201
+      staNo: 223
       barcode: ${wcs-slave.barcode[1].id}
-      backSta: 200
+      backSta: 222
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[2]:
+      staNo: 225
+      barcode: ${wcs-slave.barcode[2].id}
+      backSta: 224
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[3]:
+      staNo: 228
+      barcode: ${wcs-slave.barcode[3].id}
+      backSta: 227
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[4]:
+      staNo: 231
+      barcode: ${wcs-slave.barcode[4].id}
+      backSta: 230
       led: ${wcs-slave.led[1].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[0]:
-      staNo: 101
-      barcode: ${wcs-slave.barcode[0].id}
-      led: ${wcs-slave.led[0].id}
-      backSta: 100
-    # 鎷f枡鍏ュ簱鍙�1
-    pickSta[1]:
-      staNo: 201
+      staNo: 223
       barcode: ${wcs-slave.barcode[1].id}
       led: ${wcs-slave.led[1].id}
-      backSta: 200
+      backSta: 222
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[1]:
+      staNo: 225
+      barcode: ${wcs-slave.barcode[2].id}
+      led: ${wcs-slave.led[1].id}
+      backSta: 224
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[2]:
+      staNo: 228
+      barcode: ${wcs-slave.barcode[3].id}
+      led: ${wcs-slave.led[1].id}
+      backSta: 227
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[3]:
+      staNo: 231
+      barcode: ${wcs-slave.barcode[4].id}
+      led: ${wcs-slave.led[1].id}
+      backSta: 230
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
-      staNo: 101
+      staNo: 123
       barcode: ${wcs-slave.barcode[0].id}
-      backSta: 100
+      backSta: 122
       led: ${wcs-slave.led[0].id}
     # 绌烘澘鍏ュ簱鍙�2
     emptyInSta[1]:
-      staNo: 201
+      staNo: 223
       barcode: ${wcs-slave.barcode[1].id}
-      backSta: 200
+      backSta: 222
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[2]:
+      staNo: 225
+      barcode: ${wcs-slave.barcode[2].id}
+      backSta: 224
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[3]:
+      staNo: 228
+      barcode: ${wcs-slave.barcode[3].id}
+      backSta: 227
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[4]:
+      staNo: 231
+      barcode: ${wcs-slave.barcode[4].id}
+      backSta: 230
       led: ${wcs-slave.led[1].id}
     # 鍑哄簱鍙�1
     outSta[0]:
-      staNo: 123
+      staNo: 121
     outSta[1]:
+      staNo: 124
+    outSta[2]:
+      staNo: 125
+    outSta[3]:
+      staNo: 126
+    outSta[4]:
+      staNo: 221
+    outSta[5]:
       staNo: 223
+    outSta[6]:
+      staNo: 225
+    outSta[7]:
+      staNo: 226
+    outSta[8]:
+      staNo: 228
+    outSta[9]:
+      staNo: 229
+    outSta[10]:
+      staNo: 231
+    outSta[11]:
+      staNo: 411
+    outSta[12]:
+      staNo: 412
+    outSta[13]:
+      staNo: 413
+    outSta[14]:
+      staNo: 414
+  # 瑗挎ゼPLC
+  devp[1]:
+    id: 2
+    ip: 10.10.10.180
+    port: 102
+    rack: 0
+    slot: 0
+    # 鍏ュ簱鍙�1
+    inSta[0]:
+      staNo: 102
+      barcode: ${wcs-slave.barcode[5].id}
+      backSta: 101
+      led: ${wcs-slave.led[0].id}
+    # 鍏ュ簱鍙�1
+    inSta[1]:
+      staNo: 105
+      barcode: ${wcs-slave.barcode[6].id}
+      backSta: 104
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[2]:
+      staNo: 107
+      barcode: ${wcs-slave.barcode[7].id}
+      backSta: 106
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[3]:
+      staNo: 109
+      barcode: ${wcs-slave.barcode[8].id}
+      backSta: 108
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[4]:
+      staNo: 203
+      barcode: ${wcs-slave.barcode[9].id}
+      backSta: 202
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[5]:
+      staNo: 205
+      barcode: ${wcs-slave.barcode[10].id}
+      backSta: 204
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[6]:
+      staNo: 208
+      barcode: ${wcs-slave.barcode[11].id}
+      backSta: 207
+      led: ${wcs-slave.led[1].id}
+    # 鍏ュ簱鍙�1
+    inSta[7]:
+      staNo: 211
+      barcode: ${wcs-slave.barcode[12].id}
+      backSta: 210
+      led: ${wcs-slave.led[1].id}
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[0]:
+      staNo: 203
+      barcode: ${wcs-slave.barcode[9].id}
+      led: ${wcs-slave.led[0].id}
+      backSta: 202
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[1]:
+      staNo: 205
+      barcode: ${wcs-slave.barcode[10].id}
+      led: ${wcs-slave.led[1].id}
+      backSta: 204
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[2]:
+      staNo: 208
+      barcode: ${wcs-slave.barcode[11].id}
+      led: ${wcs-slave.led[1].id}
+      backSta: 207
+    # 鎷f枡鍏ュ簱鍙�1
+    pickSta[3]:
+      staNo: 211
+      barcode: ${wcs-slave.barcode[12].id}
+      led: ${wcs-slave.led[1].id}
+      backSta: 210
+    # 绌烘澘鍏ュ簱鍙�1
+    emptyInSta[0]:
+      staNo: 102
+      barcode: ${wcs-slave.barcode[5].id}
+      backSta: 101
+      led: ${wcs-slave.led[0].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[1]:
+      staNo: 105
+      barcode: ${wcs-slave.barcode[6].id}
+      backSta: 104
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[2]:
+      staNo: 107
+      barcode: ${wcs-slave.barcode[7].id}
+      backSta: 106
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[3]:
+      staNo: 109
+      barcode: ${wcs-slave.barcode[8].id}
+      backSta: 108
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[4]:
+      staNo: 203
+      barcode: ${wcs-slave.barcode[9].id}
+      backSta: 202
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[5]:
+      staNo: 205
+      barcode: ${wcs-slave.barcode[10].id}
+      backSta: 204
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[6]:
+      staNo: 208
+      barcode: ${wcs-slave.barcode[11].id}
+      backSta: 207
+      led: ${wcs-slave.led[1].id}
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[7]:
+      staNo: 211
+      barcode: ${wcs-slave.barcode[12].id}
+      backSta: 210
+      led: ${wcs-slave.led[1].id}
+    # 鍑哄簱鍙�1
+    outSta[0]:
+      staNo: 103
+    outSta[1]:
+      staNo: 201
+    outSta[2]:
+      staNo: 203
+    outSta[3]:
+      staNo: 205
+    outSta[4]:
+      staNo: 206
+    outSta[5]:
+      staNo: 208
+    outSta[6]:
+      staNo: 209
+    outSta[7]:
+      staNo: 211
+    outSta[8]:
+      staNo: 401
+    outSta[9]:
+      staNo: 402
+    outSta[10]:
+      staNo: 403
+    outSta[11]:
+      staNo: 404
   # 鏉$爜鎵弿浠�1
   barcode[0]:
     id: 1
-    ip: 10.10.10.143
+    ip: 10.10.10.151
     port: 51236
   # 鏉$爜鎵弿浠�2
   barcode[1]:
     id: 2
-    ip: 10.10.10.146
+    ip: 10.10.10.152
+    port: 51236
+  # 鏉$爜鎵弿浠�3
+  barcode[2]:
+    id: 3
+    ip: 10.10.10.153
+    port: 51236
+  # 鏉$爜鎵弿浠�4
+  barcode[3]:
+    id: 4
+    ip: 10.10.10.154
+    port: 51236
+  # 鏉$爜鎵弿浠�5
+  barcode[4]:
+    id: 5
+    ip: 10.10.10.155
+    port: 51236
+  # 鏉$爜鎵弿浠�6
+  barcode[5]:
+    id: 6
+    ip: 10.10.10.187
+    port: 51236
+  # 鏉$爜鎵弿浠�7
+  barcode[6]:
+    id: 7
+    ip: 10.10.10.188
+    port: 51236
+  # 鏉$爜鎵弿浠�8
+  barcode[7]:
+    id: 8
+    ip: 10.10.10.189
+    port: 51236
+  # 鏉$爜鎵弿浠�9
+  barcode[8]:
+    id: 9
+    ip: 10.10.10.190
+    port: 51236
+  # 鏉$爜鎵弿浠�10
+  barcode[9]:
+    id: 10
+    ip: 10.10.10.191
+    port: 51236
+  # 鏉$爜鎵弿浠�11
+  barcode[10]:
+    id: 11
+    ip: 10.10.10.192
+    port: 51236
+  # 鏉$爜鎵弿浠�12
+  barcode[11]:
+    id: 12
+    ip: 10.10.10.193
+    port: 51236
+  # 鏉$爜鎵弿浠�13
+  barcode[12]:
+    id: 13
+    ip: 10.10.10.194
     port: 51236
   # LED1
   led[0]:
     id: 1
-    ip: 10.10.10.101
+    ip: 10.10.10.51
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 100
+    staArr: 101
   # LED2
   led[1]:
     id: 2
-    ip: 10.10.10.102
+    ip: 10.10.10.52
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 200
+  led[2]:
+    id: 3
+    ip: 10.10.10.53
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[3]:
+    id: 4
+    ip: 10.10.10.54
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[4]:
+    id: 5
+    ip: 10.10.10.55
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[5]:
+    id: 6
+    ip: 10.10.10.56
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[6]:
+    id: 7
+    ip: 10.10.10.57
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[7]:
+    id: 8
+    ip: 10.10.10.58
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[8]:
+    id: 9
+    ip: 10.10.10.59
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[9]:
+    id: 10
+    ip: 10.10.10.60
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[10]:
+    id: 11
+    ip: 10.10.10.61
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[11]:
+    id: 12
+    ip: 10.10.10.62
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[12]:
+    id: 13
+    ip: 10.10.10.63
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[13]:
+    id: 14
+    ip: 10.10.10.64
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[14]:
+    id: 15
+    ip: 10.10.10.65
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[15]:
+    id: 16
+    ip: 10.10.10.66
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 101
+  led[16]:
+    id: 17
+    ip: 10.10.10.67
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[17]:
+    id: 18
+    ip: 10.10.10.68
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[18]:
+    id: 19
+    ip: 10.10.10.69
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[19]:
+    id: 20
+    ip: 10.10.10.70
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[20]:
+    id: 21
+    ip: 10.10.10.71
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[21]:
+    id: 22
+    ip: 10.10.10.72
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[22]:
+    id: 23
+    ip: 10.10.10.73
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[23]:
+    id: 24
+    ip: 10.10.10.74
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[24]:
+    id: 25
+    ip: 10.10.10.75
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[25]:
+    id: 26
+    ip: 10.10.10.76
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[26]:
+    id: 27
+    ip: 10.10.10.77
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[27]:
+    id: 28
+    ip: 10.10.10.78
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[28]:
+    id: 29
+    ip: 10.10.10.79
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[29]:
+    id: 30
+    ip: 10.10.10.80
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[30]:
+    id: 31
+    ip: 10.10.10.81
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+  led[31]:
+    id: 32
+    ip: 10.10.10.82
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[1].id}
+    staArr: 101
+
+
+
+
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index 7cef044..07525b9 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -254,40 +254,40 @@
                     "width": 2900,
                     "height": 600,
                     "stns": [
-                        { "type": "stn", "id": "site-100", "text": "100", "top": 80, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-101", "text": "101", "top": 80, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-102", "text": "102", "top": 80, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-103", "text": "103", "top": 80, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-104", "text": "104", "top": 80, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-105", "text": "105", "top": 80, "left": 1826, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-100", "text": "100", "top": 80, "left": 94, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-101", "text": "101", "top": 80, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-102", "text": "102", "top": 80, "left": 72, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-103", "text": "103", "top": 130, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-104", "text": "104", "top": 160, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-105", "text": "105", "top": 160, "left": 72, "width": 60, "height": 23 },
 
-                        { "type": "stn", "id": "site-106", "text": "106", "top": 130, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-107", "text": "107", "top": 130, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-108", "text": "108", "top": 130, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-109", "text": "109", "top": 130, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-110", "text": "110", "top": 130, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-111", "text": "111", "top": 130, "left": 1826, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-106", "text": "106", "top": 240, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-107", "text": "107", "top": 240, "left": 72, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-108", "text": "108", "top": 320, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-109", "text": "109", "top": 320, "left": 72, "width": 60, "height": 23 },
+                        // { "type": "stn", "id": "site-110", "text": "110", "top": 130, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-111", "text": "111", "top": 130, "left": 1826, "width": 40, "height": 23 },
+                        //
+                        // { "type": "stn", "id": "site-112", "text": "112", "top": 160, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-113", "text": "113", "top": 160, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-114", "text": "114", "top": 160, "left": 10, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-115", "text": "115", "top": 160, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-116", "text": "116", "top": 160, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-117", "text": "117", "top": 160, "left": 1826, "width": 40, "height": 23 },
+                        //
+                        // { "type": "stn", "id": "site-118", "text": "118", "top": 240, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-119", "text": "119", "top": 240, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-120", "text": "120", "top": 240, "left": 10, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-121", "text": "121", "top": 80, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-122", "text": "122", "top": 130, "left": 1804, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-123", "text": "123", "top": 130, "left": 1742, "width": 60, "height": 23 },
 
-                        { "type": "stn", "id": "site-112", "text": "112", "top": 160, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-113", "text": "113", "top": 160, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-114", "text": "114", "top": 160, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-115", "text": "115", "top": 160, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-116", "text": "116", "top": 160, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-117", "text": "117", "top": 160, "left": 1826, "width": 40, "height": 23 },
-
-                        { "type": "stn", "id": "site-118", "text": "118", "top": 240, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-119", "text": "119", "top": 240, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-120", "text": "120", "top": 240, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-121", "text": "121", "top": 240, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-122", "text": "122", "top": 240, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-123", "text": "123", "top": 240, "left": 1826, "width": 40, "height": 23 },
-
-                        { "type": "stn", "id": "site-124", "text": "124", "top": 320, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-125", "text": "125", "top": 320, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-126", "text": "126", "top": 320, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-127", "text": "127", "top": 320, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-128", "text": "128", "top": 320, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-129", "text": "129", "top": 320, "left": 1826, "width": 40, "height": 23 }
+                        { "type": "stn", "id": "site-124", "text": "124", "top": 160, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-125", "text": "125", "top": 240, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-126", "text": "126", "top": 320, "left": 1742, "width": 120, "height": 23 },
+                        // { "type": "stn", "id": "site-127", "text": "127", "top": 320, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-128", "text": "128", "top": 320, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-129", "text": "129", "top": 320, "left": 1826, "width": 40, "height": 23 }
                     ],
                     "barcode": []
                 },
@@ -300,40 +300,44 @@
                     "width": 2900,
                     "height": 600,
                     "stns": [
-                        { "type": "stn", "id": "site-200", "text": "200", "top": 80, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-201", "text": "201", "top": 80, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-202", "text": "202", "top": 80, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-203", "text": "203", "top": 80, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-204", "text": "204", "top": 80, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-205", "text": "205", "top": 80, "left": 1826, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-200", "text": "200", "top": 80, "left": 94, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-201", "text": "201", "top": 80, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-202", "text": "202", "top": 130, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-203", "text": "203", "top": 130, "left": 72, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-204", "text": "204", "top": 160, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-205", "text": "205", "top": 160, "left": 72, "width": 60, "height": 23 },
 
-                        { "type": "stn", "id": "site-206", "text": "206", "top": 130, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-207", "text": "207", "top": 130, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-208", "text": "208", "top": 130, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-209", "text": "209", "top": 130, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-210", "text": "210", "top": 130, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-211", "text": "211", "top": 130, "left": 1826, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-206", "text": "206", "top": 240, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-207", "text": "207", "top": 290, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-208", "text": "208", "top": 290, "left": 72, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-209", "text": "209", "top": 320, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-210", "text": "210", "top": 370, "left": 10, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-211", "text": "211", "top": 370, "left": 72, "width": 60, "height": 23 },
 
-                        { "type": "stn", "id": "site-212", "text": "212", "top": 160, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-213", "text": "213", "top": 160, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-214", "text": "214", "top": 160, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-215", "text": "215", "top": 160, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-216", "text": "216", "top": 160, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-217", "text": "217", "top": 160, "left": 1826, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-212", "text": "212", "top": 160, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-213", "text": "213", "top": 160, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-214", "text": "214", "top": 160, "left": 10, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-215", "text": "215", "top": 160, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-216", "text": "216", "top": 160, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-217", "text": "217", "top": 160, "left": 1826, "width": 40, "height": 23 },
+                        //
+                        // { "type": "stn", "id": "site-218", "text": "218", "top": 240, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-219", "text": "219", "top": 240, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-220", "text": "220", "top": 240, "left": 10, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-221", "text": "221", "top": 80, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-222", "text": "222", "top": 130, "left": 1806, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-223", "text": "223", "top": 130, "left": 1742, "width": 60, "height": 23 },
 
-                        { "type": "stn", "id": "site-218", "text": "218", "top": 240, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-219", "text": "219", "top": 240, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-220", "text": "220", "top": 240, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-221", "text": "221", "top": 240, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-222", "text": "222", "top": 240, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-223", "text": "223", "top": 240, "left": 1826, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-224", "text": "224", "top": 160, "left": 1806, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-225", "text": "225", "top": 160, "left": 1742, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-226", "text": "226", "top": 240, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-227", "text": "227", "top": 290, "left": 1806, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-228", "text": "228", "top": 290, "left": 1742, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-229", "text": "229", "top": 320, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-230", "text": "230", "top": 370, "left": 1806, "width": 60, "height": 23 },
+                        { "type": "stn", "id": "site-231", "text": "231", "top": 370, "left": 1742, "width": 60, "height": 23 }
 
-                        { "type": "stn", "id": "site-224", "text": "224", "top": 320, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-225", "text": "225", "top": 320, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-226", "text": "226", "top": 320, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-227", "text": "227", "top": 320, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-228", "text": "228", "top": 320, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-229", "text": "229", "top": 320, "left": 1826, "width": 40, "height": 23 }
+
                     ],
                     "barcode": []
                 },
@@ -392,40 +396,40 @@
                     "width": 2900,
                     "height": 600,
                     "stns": [
-                        { "type": "stn", "id": "site-400", "text": "400", "top": 80, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-401", "text": "401", "top": 80, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-402", "text": "402", "top": 80, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-403", "text": "403", "top": 80, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-404", "text": "404", "top": 80, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-405", "text": "405", "top": 80, "left": 1826, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-400", "text": "400", "top": 80, "left": 94, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-401", "text": "401", "top": 80, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-402", "text": "402", "top": 160, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-403", "text": "403", "top": 240, "left": 10, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-404", "text": "404", "top": 320, "left": 10, "width": 120, "height": 23 },
+                        // { "type": "stn", "id": "site-405", "text": "405", "top": 80, "left": 1826, "width": 40, "height": 23 },
 
-                        { "type": "stn", "id": "site-406", "text": "406", "top": 130, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-407", "text": "407", "top": 130, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-408", "text": "408", "top": 130, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-409", "text": "409", "top": 130, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-410", "text": "410", "top": 130, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-411", "text": "411", "top": 130, "left": 1826, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-406", "text": "406", "top": 130, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-407", "text": "407", "top": 130, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-408", "text": "408", "top": 130, "left": 10, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-409", "text": "409", "top": 130, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-410", "text": "410", "top": 130, "left": 1784, "width": 40, "height": 23 },
+                        { "type": "stn", "id": "site-411", "text": "411", "top": 80, "left": 1742, "width": 120, "height": 23 },
 
-                        { "type": "stn", "id": "site-412", "text": "412", "top": 160, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-413", "text": "413", "top": 160, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-414", "text": "414", "top": 160, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-415", "text": "415", "top": 160, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-416", "text": "416", "top": 160, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-417", "text": "417", "top": 160, "left": 1826, "width": 40, "height": 23 },
-
-                        { "type": "stn", "id": "site-418", "text": "418", "top": 240, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-419", "text": "419", "top": 240, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-420", "text": "420", "top": 240, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-421", "text": "421", "top": 240, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-422", "text": "422", "top": 240, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-423", "text": "423", "top": 240, "left": 1826, "width": 40, "height": 23 },
-
-                        { "type": "stn", "id": "site-424", "text": "424", "top": 320, "left": 94, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-425", "text": "425", "top": 320, "left": 52, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-426", "text": "426", "top": 320, "left": 10, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-427", "text": "427", "top": 320, "left": 1742, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-428", "text": "428", "top": 320, "left": 1784, "width": 40, "height": 23 },
-                        { "type": "stn", "id": "site-429", "text": "429", "top": 320, "left": 1826, "width": 40, "height": 23 }
+                        { "type": "stn", "id": "site-412", "text": "412", "top": 160, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-413", "text": "413", "top": 240, "left": 1742, "width": 120, "height": 23 },
+                        { "type": "stn", "id": "site-414", "text": "414", "top": 320, "left": 1742, "width": 120, "height": 23 }
+                        // { "type": "stn", "id": "site-415", "text": "415", "top": 160, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-416", "text": "416", "top": 160, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-417", "text": "417", "top": 160, "left": 1826, "width": 40, "height": 23 },
+                        //
+                        // { "type": "stn", "id": "site-418", "text": "418", "top": 240, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-419", "text": "419", "top": 240, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-420", "text": "420", "top": 240, "left": 10, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-421", "text": "421", "top": 240, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-422", "text": "422", "top": 240, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-423", "text": "423", "top": 240, "left": 1826, "width": 40, "height": 23 },
+                        //
+                        // { "type": "stn", "id": "site-424", "text": "424", "top": 320, "left": 94, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-425", "text": "425", "top": 320, "left": 52, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-426", "text": "426", "top": 320, "left": 10, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-427", "text": "427", "top": 320, "left": 1742, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-428", "text": "428", "top": 320, "left": 1784, "width": 40, "height": 23 },
+                        // { "type": "stn", "id": "site-429", "text": "429", "top": 320, "left": 1826, "width": 40, "height": 23 }
                     ],
                     "barcode": []
                 }
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 4358a9f..2dcc629 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -664,25 +664,25 @@
         // console.log(crn1Position)
         switch (id) {
             case 1:
-                $("#crn-1").animate({left: leftVal + 'px'}, 1000);
+                $("#crn-1").animate({left: leftVal - 'px'}, 1000);
                 crn1Position = leftVal;
                 break;
             case 2:
-                $("#crn-2").animate({left: leftVal + 'px'}, 1000);
+                $("#crn-2").animate({left: leftVal - 'px'}, 1000);
                 crn2Position = leftVal;
                 break;
             case 3:
-                $("#crn-3").animate({left: leftVal + 'px'}, 1000);
+                $("#crn-3").animate({left: leftVal - 'px'}, 1000);
                 crn3Position = leftVal;
                 break;
             case 4:
-                $("#crn-4").animate({left: leftVal + 'px'}, 1000);
+                $("#crn-4").animate({left: leftVal - 'px'}, 1000);
                 crn4Position = leftVal;
                 break;
-            case 5:
-                $("#crn-5").animate({left: leftVal + 'px'}, 1000);
-                crn5Position = leftVal;
-                break;
+            // case 5:
+            //     $("#crn-5").animate({left: leftVal + 'px'}, 1000);
+            //     crn5Position = leftVal;
+            //     break;
             default:
                 break
         }

--
Gitblit v1.9.1