From 38add77dd27643bc83c916aeceac5dcde76bac02 Mon Sep 17 00:00:00 2001
From: pjb <123456>
Date: 星期一, 11 八月 2025 15:42:36 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java         |    1 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   77 ++++++--
 src/main/java/com/zy/asrs/controller/MonitorController.java |  191 +++++++++-----------
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |  200 +++++++++++-----------
 src/main/resources/application.yml                          |   10 
 src/main/java/com/zy/asrs/service/WrkDetlService.java       |    1 
 7 files changed, 251 insertions(+), 231 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 35e0eae..71bc851 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -32,7 +32,7 @@
 @RequestMapping("/monitor")
 public class MonitorController {
 
-    private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"};
+    private static final String[] WEEK = {"鏄熸湡鏃�", "鏄熸湡涓�", "鏄熸湡浜�", "鏄熸湡涓�", "鏄熸湡鍥�", "鏄熸湡浜�", "鏄熸湡鍏�"};
 
     @Autowired
     private ReportQueryMapper reportQueryMapper;
@@ -49,12 +49,12 @@
         calendar.setTime(now);
         return R.ok(
                 Cools.add("year", calendar.get(Calendar.YEAR))
-                .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH)+1), 2))
-                .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
-                .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
-                .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
-                .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)) , 2))
-                .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK)-1])
+                        .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH) + 1), 2))
+                        .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2))
+                        .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2))
+                        .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2))
+                        .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)), 2))
+                        .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK) - 1])
         );
     }
 
@@ -119,15 +119,15 @@
 
         return R.ok(
                 Cools.add("xSpeed", Arith.multiplys(1, Math.abs(xSpeed), 1)) // 琛岃蛋閫熷害
-                .add("ySpeed", Arith.multiplys(1, Math.abs(ySpeed), 1))  // 鍗囬檷閫熷害
-                .add("zSpeed", Arith.multiplys(1, Math.abs(zSpeed), 1))  // 鍙夌墮閫熷害
-                .add("forkPos", forkPos)  // 鍙夌墮閫熷害
-                .add("xDistance", Arith.multiplys(1, Math.abs(xDistance), 1))    // 绱璧拌璺濈km
-                .add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1))   // 绱鍗囬檷璺濈km
-                .add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1))    // 绱璧拌鏃堕暱h
-                .add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1))    // 绱鍗囬檷鏃堕暱h
-                .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
-                .add("content", ledContent) // 鏄剧ず鍐呭
+                        .add("ySpeed", Arith.multiplys(1, Math.abs(ySpeed), 1))  // 鍗囬檷閫熷害
+                        .add("zSpeed", Arith.multiplys(1, Math.abs(zSpeed), 1))  // 鍙夌墮閫熷害
+                        .add("forkPos", forkPos)  // 鍙夌墮閫熷害
+                        .add("xDistance", Arith.multiplys(1, Math.abs(xDistance), 1))    // 绱璧拌璺濈km
+                        .add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1))   // 绱鍗囬檷璺濈km
+                        .add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1))    // 绱璧拌鏃堕暱h
+                        .add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1))    // 绱鍗囬檷鏃堕暱h
+                        .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭
+                        .add("content", ledContent) // 鏄剧ず鍐呭
         );
     }
 
@@ -135,11 +135,11 @@
      * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥�
      */
     @GetMapping("/pakin/rep")
-    public R monitorPakinRep(){
+    public R monitorPakinRep() {
         // 鍏ュ簱
         List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep();
         for (Map<String, Object> map : pakinRep) {
-            if (map.get("node")!=null) {
+            if (map.get("node") != null) {
                 map.put("node", String.valueOf(map.get("node")).substring(5, 10));
             }
         }
@@ -149,32 +149,32 @@
     }
 
     @GetMapping("/line/charts")
-    public R locIoLineCharts(){
-        Map<String,Object> map=new HashMap<String, Object>();
+    public R locIoLineCharts() {
+        Map<String, Object> map = new HashMap<String, Object>();
         List<AxisBean> list = new ArrayList<AxisBean>();
 
         List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis();
 
-        if(listChart!=null) {
+        if (listChart != null) {
             ArrayList<Integer> data1 = new ArrayList<Integer>();
             ArrayList<Integer> data2 = new ArrayList<Integer>();
 
             SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
             Calendar calendar = Calendar.getInstance();
             calendar.add(Calendar.DATE, -12);
-            for(int i=0;i<12;i++) {
+            for (int i = 0; i < 12; i++) {
                 boolean flag = true;
                 calendar.add(Calendar.DATE, 1);
                 String str = sf.format(calendar.getTime());
-                for(WorkChartAxis workChart : listChart) {
-                    if(str.equals(workChart.getYmd())) {
+                for (WorkChartAxis workChart : listChart) {
+                    if (str.equals(workChart.getYmd())) {
                         data1.add(workChart.getInqty());
                         data2.add(workChart.getOutqty());
                         flag = false;
                         break;
                     }
                 }
-                if(flag) {
+                if (flag) {
                     data1.add(0);
                     data2.add(0);
                 }
@@ -190,7 +190,7 @@
             outqty.setData(data2.toArray(array2));
             list.add(outqty);
         }
-        map.put("rows",list);
+        map.put("rows", list);
         return R.ok(map);
     }
 
@@ -199,11 +199,11 @@
      * 搴撲綅浣跨敤鎯呭喌缁熻
      */
     @GetMapping("/loc/rep")
-    public R monitorLocRep(){
+    public R monitorLocRep() {
         List<Map<String, Object>> pie = new ArrayList<>();
 
         LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
-        if(locUseRate!=null) {
+        if (locUseRate != null) {
             Map<String, Object> map = new HashMap<>();
             map.put("name", "鍦ㄥ簱");
             map.put("value", locUseRate.getFqty());
@@ -235,12 +235,12 @@
 
         return R.ok(
                 Cools.add("pie", pie)
-                .add("stockCunt", locUseRate.getFqty())
-                .add("emptyCount", locUseRate.getOqty())
-                .add("noneCount", locUseRate.getXqty())
-                .add("total", total)
-                .add("used", used)
-                .add("usedPr", usedPr)
+                        .add("stockCunt", locUseRate.getFqty())
+                        .add("emptyCount", locUseRate.getOqty())
+                        .add("noneCount", locUseRate.getXqty())
+                        .add("total", total)
+                        .add("used", used)
+                        .add("usedPr", usedPr)
         );
     }
 
@@ -268,7 +268,17 @@
      */
     @GetMapping("/led/error")
     public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+        if (Cools.isEmpty(ledId)) {
+            return R.ok();
+        }
         String errorMsg = "";
+//        if (ledId == 5 || ledId == 6) {
+//            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+//            if (null != ledThread) {
+//                errorMsg = ledThread.getErrorMsg().toString();
+//            }
+//            return R.ok().add(errorMsg);
+//        } else {
         for (LedSlave slave : slaveProperties.getLed()) {
             if (slave.getStaArr().contains(ledId)) {
                 LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
@@ -278,61 +288,38 @@
             }
         }
         return R.ok().add(errorMsg);
+        //    }
+
     }
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+//    public R monitorLedError2(Integer ledId) {
+//        ledId = 311;
+//        String errorMsg = "";
+//        //for (LedSlave slave : slaveProperties.getLed()) {
+//        //if (slave.getStaArr().contains(ledId)) {
+//        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+//        if (null != ledThread) {
+//            errorMsg = ledThread.getErrorMsg().toString();
+//            System.out.println("-----------" + errorMsg + "----------" + ledId);
+//        }
+//        //}
+//        // }
+//        return R.ok().add(errorMsg);
 
 
     /**
      * 鑷姩琛ラ浂
      */
-    private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end){
-        for (int i = start ; i <= end; i++){
+    private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end) {
+        for (int i = start; i <= end; i++) {
             boolean exist = false;
-            for (Map seq : list){
-                if (Integer.parseInt(String.valueOf(seq.get("node"))) == i){
+            for (Map seq : list) {
+                if (Integer.parseInt(String.valueOf(seq.get("node"))) == i) {
                     exist = true;
                 }
             }
-            if (!exist){
+            if (!exist) {
                 HashMap<String, Object> map = new HashMap<>();
                 map.put("node", i);
                 map.put("val", 0);
@@ -345,14 +332,15 @@
 
     /**
      * x杞村崟浣嶈浆鎹�
+     *
      * @param dot y杞存暟鍊间繚鐣欏皬鏁颁綅
      */
-    private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot){
-        for (Map<String, Object> map : list){
+    private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot) {
+        for (Map<String, Object> map : list) {
             Object val = map.get("val");
             map.put("val", Arith.multiplys(dot, 1, (Number) val));
             Object node = map.get("node");
-            switch (statsType){
+            switch (statsType) {
                 case MONTH:
                     map.put("node", node + "鍙�");
                     break;
@@ -366,34 +354,33 @@
         return list;
     }
 
-    enum StatsType{
+enum StatsType {
 
-        YEAR(1,1, 12),
-        MONTH(2,1, 30),
-        ;
+    YEAR(1, 1, 12),
+    MONTH(2, 1, 30),
+    ;
 
-        int id;
-        int start;
-        int end;
-        StatsType(int id, int start, int end) {
-            this.id = id;
-            this.start = start;
-            this.end = end;
-        }
+    int id;
+    int start;
+    int end;
 
-        static StatsType get(int id) {
-            StatsType[] values = StatsType.values();
-            for (StatsType statsType : values){
-                if (statsType.id == id){
-                    return statsType;
-                }
-            }
-            throw new RuntimeException("鎵句笉鍒癝tatsType绫诲瀷");
-        }
-
+    StatsType(int id, int start, int end) {
+        this.id = id;
+        this.start = start;
+        this.end = end;
     }
 
+    static StatsType get(int id) {
+        StatsType[] values = StatsType.values();
+        for (StatsType statsType : values) {
+            if (statsType.id == id) {
+                return statsType;
+            }
+        }
+        throw new RuntimeException("鎵句笉鍒癝tatsType绫诲瀷");
+    }
 
+}
 
 
 }
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 3ff2711..d3ee47b 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -16,5 +16,4 @@
     List<WrkDetl> findByWorkNo(Integer workNo);
 
     int updateIoTime(@Param("workNo") Integer workNo, @Param("ioTime") Date ioTime);
-
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 18f7637..4adb721 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -14,5 +14,4 @@
     List<WrkDetl> findByWorkNo(Integer workNo);
 
     boolean updateIoTime(Integer workNo, Date ioTime);
-
 }
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 9a50b7b..ced688f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -114,13 +114,13 @@
                 // 鑾峰彇鍏ュ簱绔欎俊鎭�
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
-                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ //               LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                 if (staProtocol == null) {
                     continue;
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-
+                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                 /*
                   鏃犳潯鐮�
                   娌℃湁鍙叆淇″彿
@@ -187,6 +187,11 @@
                     if (!staProtocol.isPakMk()) {
                         continue;
                     }
+//                    if (ledThread != null && !Cools.isEmpty(errMsg)) {
+//                        //String errorMsg = jsonObject.getString("msg");
+//                        MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
+//                        System.out.println("--------------");
+//                    }
                     staProtocol.setWorkNo(wrkNo);
                     News.warn("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo);
                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
@@ -1674,7 +1679,7 @@
             // 宸ヤ綔妗i泦鍚�
             List<WrkMast> wrkMasts = new ArrayList<>();
             for (Integer staNo : led.getStaArr()) {
-                if (staNo == 104 || staNo == 204 || staNo == 304) {
+                if (staNo == 104 || staNo == 204 || staNo == 304|| staNo == 311) {
                     continue;
                 }
                 // 鑾峰彇鍙夎溅绔欑偣
@@ -1744,7 +1749,14 @@
             }
 //             鍛戒护涓嬪彂 -------------------------------------------------------------------------------
             if (!commands.isEmpty()) {
-                if (led.getId() == 3) {
+                if (led.getId() == 6 || led.getId() == 5) {
+                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+                        News.error("" + mark + " - 2" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+                        continue;
+                    } else {
+                        ledThread.setLedMk(false);
+                    }
+                } else if (led.getId() == 3) {
                     if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
                         News.error("" + mark + " - 2" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
                         continue;
@@ -1773,14 +1785,14 @@
 
             try {
                 // 淇敼涓绘。led鏍囪
-                for (WrkMast wrkMast : wrkMasts) {
-                    wrkMast.setOveMk("Y");
-                    wrkMast.setModiTime(new Date());
-                    if (wrkMastMapper.updateById(wrkMast) == 0) {
-                        News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�");
-                        throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
-                    }
-                }
+//                for (WrkMast wrkMast : wrkMasts) {
+//                    wrkMast.setOveMk("Y");
+//                    wrkMast.setModiTime(new Date());
+//                    if (wrkMastMapper.updateById(wrkMast) == 0) {
+//                        News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�");
+//                        throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+//                    }
+//                }
 
                 // 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚�
                 ledThread.setWorkNos(workNos);
@@ -2295,7 +2307,11 @@
             }
 
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
-                if (crnProtocol.getBay() == 1 && crnProtocol.getLevel() == 1) {
+
+                if ((crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4) && crnProtocol.getBay()==0 && crnProtocol.getLevel() == 1) {
+                    continue;
+                }
+                if ((crnProtocol.getCrnNo()==1 || crnProtocol.getCrnNo()==2) && crnProtocol.getBay()==1 && crnProtocol.getLevel() == 1) {
                     continue;
                 }
                 Page<BasCrnOpt> basCrnOptPage = crnOptService.selectPage(new Page<>(1, 1), new EntityWrapper<BasCrnOpt>().eq("crn_no", crn.getId()).orderBy("send_time", false));
@@ -2321,16 +2337,31 @@
                 News.info("鍫嗗灈鏈烘棤浠诲姟鑷姩鍥炲叆搴撳彛寰呮満==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満");
                 // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                 CrnCommand crnCommand = new CrnCommand();
-                crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
-                crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
-                crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-                crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
-                crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
-                crnCommand.setSourcePosY((short) 1);     // 婧愬簱浣嶅垪
-                crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
-                crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
-                crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
-                crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+                if (crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4){
+                    crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+                    crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
+                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+                    crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
+                    crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
+                    crnCommand.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+                    crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
+                    crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
+                    crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
+                    crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+                    crnCommand.setCommand((short) 1);
+                }else {
+                    crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+                    crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
+                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+                    crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
+                    crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
+                    crnCommand.setSourcePosY((short) 1);     // 婧愬簱浣嶅垪
+                    crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
+                    crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
+                    crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
+                    crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
+                    crnCommand.setCommand((short) 1);
+                }
                 if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
                     News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
                 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 7be33fd..5bf8d01 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -42,7 +42,7 @@
                     }
 
                     // 婕旂ず
-//                    mainService.crnDemoOfLocMove1();
+                    //mainService.crnDemoOfLocMove1();
                     // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
 //                    mainService.ioConvert();
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3160107..25f6958 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -134,6 +134,7 @@
                     // 璇绘暟鎹�
                     case 1:
                         read();
+                        Thread.sleep(100);
                         readsanqi();
                         break;
                     // 鍐欐暟鎹� ID+鐩爣绔�
@@ -145,7 +146,7 @@
                 }
                 // 蹇冭烦
 //                heartbeat();
-                Thread.sleep(300);
+                Thread.sleep(200);
             } catch (Exception e) {
                 e.printStackTrace();
             }
@@ -360,109 +361,110 @@
     private void readsanqi() throws InterruptedException {
         ArrayList<Integer> staNos = staNos3;
         int staNoSize = staNos3.size();
-
-        //
-        OperateResultExOne<byte[]> resultsanqi = siemensS7Net.Read("DB101.120", (short) (staNoSize * 8));
-        if (resultsanqi.IsSuccess) {
-            for (int i = 0; i < staNoSize; i++) {
-                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-                StaProtocol staProtocol = station.get(siteId);
-                if (null == staProtocol) {
-                    staProtocol = new StaProtocol();
-                    staProtocol.setSiteId(siteId);
-                    station.put(siteId, staProtocol);
-                }
-                staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(resultsanqi.Content, i * 8));     // 宸ヤ綔鍙�
-                staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(resultsanqi.Content, i * 8 + 4));   // 鐩爣绔�
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultsanqi.Content, i * 8 + 6, 1);
-                staProtocol.setAutoing(status[0]);  // 鑷姩
-                staProtocol.setLoading(status[1]);  // 鏈夌墿
-                staProtocol.setInEnable(status[2]); // 鍙叆
-                staProtocol.setOutEnable(status[3]);// 鍙嚭
-                staProtocol.setEmptyMk(status[4]);  // 绌烘澘淇″彿
-                staProtocol.setFullPlt(status[5]);  // 婊℃墭鐩�
-                staProtocol.setHigh(status[6]);     // 楂樺簱浣�
-                staProtocol.setLow(status[7]);      // 浣庡簱浣�
-//                staProtocol.setWeight(status[8]);  //鏄惁涓洪噸璐�
-                if (!staProtocol.isPakMk() && staProtocol.isLoading()) {
-                    staProtocol.setPakMk(true);
-                }
-            }
-        } else {
-            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
-        }
-
-
-        //澶栧舰妫�娴� 涓夋湡
-        OperateResultExOne<byte[]> resultErrsanqi = siemensS7Net.Read("DB101.160", (short) (staNoSize * 8));
-        if (resultErrsanqi.IsSuccess) {
-            for (int i = 0; i < staNoSize; i++) {
-                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrsanqi.Content, i * 4, 1);
-                StaProtocol staProtocol = station.get(siteId);
-                staProtocol.setFrontErr(status[0]);
-                staProtocol.setBackErr(status[1]);
-                staProtocol.setHighErr(status[2]);
-                staProtocol.setLeftErr(status[3]);
-                staProtocol.setRightErr(status[4]);
-                staProtocol.setWeightErr(status[5]);
-                staProtocol.setBarcodeErr(status[6]);
-            }
-        }
-
-
-        //鏉$爜鎵弿鍣� 涓夋湡
-        Thread.sleep(200);
-        ArrayList<Integer> barcodeListsanqi = barcode3;
-        OperateResultExOne<byte[]> result2siqi = siemensS7Net.Read("DB101.180", (short) (barcodeListsanqi.size() * 8));
-        if (result2siqi.IsSuccess) {
-            for (int i = 0; i < barcodeListsanqi.size(); i++) {
-                Integer barcodeId = barcodeListsanqi.get(i);
-                String barcode = siemensS7Net.getByteTransform().TransString(result2siqi.Content, i * 8, 8, "UTF-8");
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
-                if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-                    barcodeThread.setBarcode(barcode);
-                }
-            }
-        }
-
-        //鏁呴殰 涓夋湡
-        OperateResultExOne<byte[]> resultErrs = siemensS7Net.Read("DB101.220", (short) (staNoSize * 4));
-        if (resultErrs.IsSuccess) {
-            for (int i = 0; i < staNoSize; i++) {
-                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
-                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrs.Content, i * 4, 1);
-                StaProtocol staProtocol = station.get(siteId);
-                staProtocol.setBreakerErr(status[0]);
-                staProtocol.setInfraredErr(status[1]);
-                staProtocol.setOutTimeErr(status[2]);
-                staProtocol.setSeizeSeatErr(status[3]);
-                staProtocol.setWrkYgoodsN(status[4]);
-                staProtocol.setInverterErr(status[5]);
-                staProtocol.setContactErr(status[6]);
-                staProtocol.setUpcontactErr(status[7]);
-
-            }
-
-        }
-        // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
-        try {
-            if (!station.isEmpty()) {
-                List<BasDevp> basDevps = new ArrayList<>();
-                for (Integer siteId : staNos) {
+        if (slave.getId() == 2) {
+            //
+            OperateResultExOne<byte[]> resultsanqi = siemensS7Net.Read("DB101.120", (short) (staNoSize * 8));
+            if (resultsanqi.IsSuccess) {
+                for (int i = 0; i < staNoSize; i++) {
+                    Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
                     StaProtocol staProtocol = station.get(siteId);
-                    basDevps.add(staProtocol.toSqlModel());
+                    if (null == staProtocol) {
+                        staProtocol = new StaProtocol();
+                        staProtocol.setSiteId(siteId);
+                        station.put(siteId, staProtocol);
+                    }
+                    staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(resultsanqi.Content, i * 8));     // 宸ヤ綔鍙�
+                    staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(resultsanqi.Content, i * 8 + 4));   // 鐩爣绔�
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultsanqi.Content, i * 8 + 6, 1);
+                    staProtocol.setAutoing(status[0]);  // 鑷姩
+                    staProtocol.setLoading(status[1]);  // 鏈夌墿
+                    staProtocol.setInEnable(status[2]); // 鍙叆
+                    staProtocol.setOutEnable(status[3]);// 鍙嚭
+                    staProtocol.setEmptyMk(status[4]);  // 绌烘澘淇″彿
+                    staProtocol.setFullPlt(status[5]);  // 婊℃墭鐩�
+                    staProtocol.setHigh(status[6]);     // 楂樺簱浣�
+                    staProtocol.setLow(status[7]);      // 浣庡簱浣�
+//                staProtocol.setWeight(status[8]);  //鏄惁涓洪噸璐�
+                    if (!staProtocol.isPakMk() && staProtocol.isLoading()) {
+                        staProtocol.setPakMk(true);
+                    }
                 }
+            } else {
+                OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+//                log.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
+            }
 
-                BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
-                if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
-                    throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+
+            //澶栧舰妫�娴� 涓夋湡
+            OperateResultExOne<byte[]> resultErrsanqi = siemensS7Net.Read("DB101.162", (short) (staNoSize * 8));
+            if (resultErrsanqi.IsSuccess) {
+                for (int i = 0; i < staNoSize; i++) {
+                    Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrsanqi.Content, i * 4, 1);
+                    StaProtocol staProtocol = station.get(siteId);
+                    staProtocol.setFrontErr(status[0]);
+                    staProtocol.setBackErr(status[1]);
+                    staProtocol.setHighErr(status[2]);
+                    staProtocol.setLeftErr(status[3]);
+                    staProtocol.setRightErr(status[4]);
+                    staProtocol.setWeightErr(status[5]);
+                    staProtocol.setBarcodeErr(status[6]);
                 }
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+
+
+            //鏉$爜鎵弿鍣� 涓夋湡
+            Thread.sleep(200);
+            ArrayList<Integer> barcodeListsanqi = barcode3;
+            OperateResultExOne<byte[]> result2siqi = siemensS7Net.Read("DB101.180", (short) (barcodeListsanqi.size() * 8));
+            if (result2siqi.IsSuccess) {
+                for (int i = 0; i < barcodeListsanqi.size(); i++) {
+                    Integer barcodeId = barcodeListsanqi.get(i);
+                    String barcode = siemensS7Net.getByteTransform().TransString(result2siqi.Content, i * 8, 8, "UTF-8");
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+                    if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                        barcodeThread.setBarcode(barcode);
+                    }
+                }
+            }
+
+            //鏁呴殰 涓夋湡
+            OperateResultExOne<byte[]> resultErrs = siemensS7Net.Read("DB101.220", (short) (staNoSize * 4));
+            if (resultErrs.IsSuccess) {
+                for (int i = 0; i < staNoSize; i++) {
+                    Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                    boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErrs.Content, i * 4, 1);
+                    StaProtocol staProtocol = station.get(siteId);
+                    staProtocol.setBreakerErr(status[0]);
+                    staProtocol.setInfraredErr(status[1]);
+                    staProtocol.setOutTimeErr(status[2]);
+                    staProtocol.setSeizeSeatErr(status[3]);
+                    staProtocol.setWrkYgoodsN(status[4]);
+                    staProtocol.setInverterErr(status[5]);
+                    staProtocol.setContactErr(status[6]);
+                    staProtocol.setUpcontactErr(status[7]);
+
+                }
+
+            }
+            // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+            try {
+                if (!station.isEmpty()) {
+                    List<BasDevp> basDevps = new ArrayList<>();
+                    for (Integer siteId : staNos) {
+                        StaProtocol staProtocol = station.get(siteId);
+                        basDevps.add(staProtocol.toSqlModel());
+                    }
+
+                    BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
+                    if (null != basDevpService && !basDevpService.updateBatchById(basDevps)) {
+                        throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+            }
         }
     }
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e68a9a4..8dc005b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -224,22 +224,22 @@
       staNo: 311
       barcode: ${wcs-slave.barcode[3].id}
       backSta: 312
-      led: ${wcs-slave.led[5].id}
+      led: ${wcs-slave.led[4].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[1]:
       staNo: 311
       barcode: ${wcs-slave.barcode[3].id}
-      led: ${wcs-slave.led[5].id}
+      led: ${wcs-slave.led[4].id}
       backSta: 312
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[1]:
       staNo: 311
       barcode: ${wcs-slave.barcode[3].id}
-      led: ${wcs-slave.led[5].id}
+      led: ${wcs-slave.led[4].id}
     # 鍑哄簱鍙�1
     outSta[1]:
       staNo: 314
-      led: ${wcs-slave.led[4].id}
+      led: ${wcs-slave.led[5].id}
   # 鏉$爜鎵弿浠�1
   barcode[0]:
     id: 1
@@ -284,6 +284,7 @@
   led[4]:
     id: 5
     ip: 10.10.10.110
+#    ip: 172.17.20.183
     port: 5005
     devpPlcId: ${wcs-slave.devp[1].id}
     staArr: 311
@@ -291,6 +292,7 @@
   led[5]:
     id: 6
     ip: 10.10.10.111
+#    ip: 172.17.20.182
     port: 5005
     devpPlcId: ${wcs-slave.devp[1].id}
     staArr: 314
\ No newline at end of file

--
Gitblit v1.9.1