From a3991c24aa69d18cad0195c28fa80abe2871bbd2 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期四, 09 十月 2025 15:09:00 +0800
Subject: [PATCH] 联调

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |   65 +++++++++-------
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  135 ++++++++++++++++++++++++++++++---
 src/main/java/com/zy/asrs/controller/MonitorController.java |    6 +
 src/main/java/com/zy/core/MainProcess.java                  |    4 
 src/main/resources/application.yml                          |   12 ++
 5 files changed, 178 insertions(+), 44 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 3e26b40..aa47680 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -249,6 +249,9 @@
      */
     @GetMapping("/led")
     public R monitorLed(@RequestParam("ledId") Integer ledId) {
+        if (ledId == 1005){
+            return null;
+        }
         String ledContent = "";
         List<LedCommand> commandList = null;
         for (LedSlave slave : slaveProperties.getLed()) {
@@ -268,6 +271,9 @@
      */
     @GetMapping("/led/error")
     public R monitorLedError(@RequestParam("ledId") Integer ledId) {
+        if (ledId == 1005){
+            return null;
+        }
         String errorMsg = "";
         for (LedSlave slave : slaveProperties.getLed()) {
             if (slave.getStaArr().contains(ledId)) {
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 1af808d..eaeb953 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -216,7 +216,7 @@
                         }
                         continue;
                     }
-                    WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).in("io_type", 107, 103, 57));
+                    WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).in("io_type", 107, 103, 57 ,104));
                     if (!Cools.isEmpty(checkPick)) {
                         continue;
                     }
@@ -500,6 +500,7 @@
                         wrkMast.setStaNo(staNo); // 鐩爣绔�
                         wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
                         wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
+                        wrkMast.setPltType(0);// 鐩樼偣/鎷f枡宸ヤ綅鍙风疆0
                         wrkMast.setModiTime(now);
                         if (wrkMastMapper.updateById(wrkMast) == 0) {
                             throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
@@ -854,6 +855,7 @@
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getForkPos() == 0 && crnProtocol.getTaskNo() == 0 && crnProtocol.getTaskNoTwo() == 0) {
                 News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�");
                 if (crnProtocol.getLoaded() == 0 && crnProtocol.getLoadedTwo() == 0) {
+                    News.error("宸ヤ綅1鏃犵墿锛屽伐浣�2鏃犵墿");
                     //鍫嗗灈鏈烘病鏈夌墿鏂�
                     // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
                     if (crnProtocol.getLastIo().equals("I")) {
@@ -879,11 +881,12 @@
                     }
 
                 } else if (crnProtocol.getLoaded() == 1 && crnProtocol.getLoadedTwo() == 1) {
+                    News.error("宸ヤ綅1鏈夌墿锛屽伐浣�2鏈夌墿");
                     // 鍫嗗灈鏈烘湁鐗╂枡
                     WrkMast wrkMast = wrkMastMapper.selectByPltType(crn.getId(), 1);
                     if (wrkMast != null) {
                         if (wrkMast.getIoType() >= 100) {
-                            this.outPut(crn, crnProtocol, mark);
+                            this.outPutAll(crn, crnProtocol, mark);
                         } else {
                             this.inPut(crn, crnProtocol, mark);
                         }
@@ -891,6 +894,7 @@
                         log.error("" + mark + " - 1" + " - 鏈夌墿鏂欐棤宸ヤ綔妗�  ===銆嬪紓甯�");
                     }
                 } else if (crnProtocol.getLoaded() == 1 && crnProtocol.getLoadedTwo() == 0) {
+                    News.error("宸ヤ綅1鏈夌墿锛屽伐浣�2鏃犵墿");
                     // 鍫嗗灈鏈哄伐浣�1鏈夌墿鏂�
                     WrkMast wrkMast = wrkMastMapper.selectByPltType(crn.getId(), 1);
                     if (wrkMast != null) {
@@ -915,6 +919,7 @@
                         log.error("" + mark + " - 1" + " - 鏈夌墿鏂欐棤宸ヤ綔妗�  ===銆嬪紓甯�");
                     }
                 } else if (crnProtocol.getLoaded() == 0 && crnProtocol.getLoadedTwo() == 1) {
+                    News.error("宸ヤ綅1鏃犵墿锛屽伐浣�2鏈夌墿");
                     // 鍫嗗灈鏈哄伐浣�2鏈夌墿鏂�
                     WrkMast wrkMast = wrkMastMapper.selectByPltType(crn.getId(), 2);
                     if (wrkMast != null) {
@@ -1019,7 +1024,7 @@
             }
 
             // 鍫嗗灈鏈烘帶鍒惰繃婊�
-            if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+            if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0 || crnProtocol.getTaskNoTwo() != 0) {
 //                News.infoNoLog(""+mark+" - 1"+" - 7"+" - 鍫嗗灈鏈烘帶鍒惰繃婊�:鍫嗗灈鏈烘槸鍚︾┖闂�={}锛屼换鍔″彿={}", crnProtocol.getStatusType(),crnProtocol.getTaskNo());
                 continue;
             }
@@ -2089,7 +2094,9 @@
                 } else if (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11) {
                     wrkMast.setWrkSts(4L);
                     wrkMast.setPltType(0);
-                } else {
+                }else if (wrkMast.getWrkSts() == 108){
+                    crnThread.setResetFlag(true);
+                }else {
                     continue;
                 }
                 Date now = new Date();
@@ -2128,6 +2135,8 @@
                 } else if (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11) {
                     wrkMast.setWrkSts(4L);
                     wrkMast.setPltType(0);
+                }else if (wrkMast.getWrkSts() == 108){
+                    crnThread.setResetFlag(true);
                 } else {
                     continue;
                 }
@@ -2145,7 +2154,7 @@
 
 
         }
-//        News.infoNoLog(""+mark+" - 0"+" - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�");
+        News.infoNoLog(""+mark+" - 0"+" - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�");
     }
 
     /**
@@ -2440,6 +2449,9 @@
                     case 53:
                         ledCommand.setTitle("鎷f枡鍐嶅叆搴�");
                         break;
+                    case 54:
+                        ledCommand.setTitle("骞舵澘鍐嶅叆搴�");
+                        break;
                     case 57:
                         ledCommand.setTitle("鐩樼偣鍐嶅叆搴�");
                         break;
@@ -2478,10 +2490,13 @@
                         } else {
                             total = locDetl.getAnfme();
                         }
-                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
+                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57 || wrkMast.getIoType() == 54) {
                             ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(), wrkDetl.getOutOrderNo(), wrkDetl.getUnit(), wrkDetl.getWeight(), wrkDetl.getSupp(), wrkDetl.getLength(), wrkDetl.getTemp1(), wrkDetl.getProType(), wrkDetl.getAnfme(), wrkDetl.getTemp2(), total));
                         }
                         if (wrkMast.getIoType() == 103) {
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(), wrkDetl.getOutOrderNo(), wrkDetl.getUnit(), wrkDetl.getWeight(), wrkDetl.getSupp(), wrkDetl.getLength(), wrkDetl.getTemp1(), wrkDetl.getProType(), wrkDetl.getAnfme(), wrkDetl.getTemp2(), total));
+                        }
+                        if (wrkMast.getIoType() == 104) {
                             ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(), wrkDetl.getOutOrderNo(), wrkDetl.getUnit(), wrkDetl.getWeight(), wrkDetl.getSupp(), wrkDetl.getLength(), wrkDetl.getTemp1(), wrkDetl.getProType(), wrkDetl.getAnfme(), wrkDetl.getTemp2(), total));
                         }
                         if (wrkMast.getIoType() == 107) {
@@ -2555,7 +2570,7 @@
                     continue;
                 }
                 if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
-                    News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+//                    News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
                 }
             }
         }
@@ -3779,8 +3794,8 @@
                 continue;
             }
 
-            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
-                if (crnProtocol.getCrnNo() == 1 && crnProtocol.getBay() == 1 && crnProtocol.getLevel() == 1) {
+            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getTaskNoTwo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getStatusTypeTwo()== CrnStatusType.IDLE) {
+                if (crnProtocol.getCrnNo() == 1 && crnProtocol.getBay() == 11 && 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));
@@ -3807,12 +3822,12 @@
                 crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
                 crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
 //                    crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
-                crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE);//浣欏閿愰簰鍥炲師鐐逛换鍔℃ā寮�:  绔欎綅杞Щ
+                crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE);
                 crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
-                crnCommand.setSourcePosY((short) 1);     // 婧愬簱浣嶅垪
+                crnCommand.setSourcePosY((short) 11);     // 婧愬簱浣嶅垪
                 crnCommand.setSourcePosZ((short) 1);     // 婧愬簱浣嶅眰
                 crnCommand.setDestinationPosX((short) 0);     // 鐩爣搴撲綅鎺�
-                crnCommand.setDestinationPosY((short) 14);     // 鐩爣搴撲綅鍒�
+                crnCommand.setDestinationPosY((short) 0);     // 鐩爣搴撲綅鍒�
                 crnCommand.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
                 crnCommand.setCommand((short) 1);//浠诲姟纭浣�
                 if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
@@ -3827,4 +3842,100 @@
             }
         }
     }
+
+    /**
+     * 宸ヤ綅1鍜屽伐浣�2閮芥湁鐗� 鍑哄簱鏀捐揣
+     */
+    public synchronized void outPutAll(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
+        News.warnNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�");
+        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
+            // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
+            List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep107(slave.getId(), crnStn.getStaNo());
+            for (WrkMast wrkMast : wrkMasts) {
+                if (wrkMast == null || wrkMast.getPltType() == 2) {
+                    continue;
+                }
+                // 宸ヤ綔妗g姸鎬佸垽鏂�
+                if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
+                    News.error("" + mark + " - 2" + " - 1" + " - 鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
+                    continue;
+                }
+                // 鑾峰彇婧愬簱浣嶄俊鎭�
+                LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
+                if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) {
+                    News.error("" + mark + " - 2" + " - 2" + " - 鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
+                    continue;
+                }
+                // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+                StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+                if (staProtocol == null) {
+                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
+                    break;
+                } else {
+                    staProtocol = staProtocol.clone();
+                }
+
+
+                // 鏌ヨ绔欑偣璇︾粏淇℃伅
+                BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+                if (staDetl == null) {
+                    News.error("" + mark + " - 2" + " - 5" + " - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+                    break;
+//                    continue;
+                }
+                // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
+                if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+                    // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+
+                    // 鍫嗗灈鏈烘帶鍒惰繃婊�
+                    if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+//                        continue;
+                        break;
+                    }
+                    if (wrkMastMapper.selectByPltType(slave.getId(), wrkMast.getPltType()) == null) {
+                        News.error("" + mark + " - 1" + " - 9" + " - 鍫嗗灈鏈烘敼宸ヤ綅瀛樺湪宸ヤ綔妗�,宸ヤ綅={}", wrkMast.getPltType());
+                    }
+
+
+                    // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+                        break;
+//                        return;
+                    }
+
+                    News.warnNoLog("" + mark + " - 2" + " - 12" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue(), sourceSta.getRow1().shortValue(), sourceSta.getBay1().shortValue(), sourceSta.getLev1().shortValue(), crnStn.getRow().shortValue(), crnStn.getBay().shortValue(), crnStn.getLev().shortValue());
+
+                    // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+                    CrnCommand crnCommand = new CrnCommand();
+                    crnCommand.setPltType(wrkMast.getPltType());
+                    crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+                    crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+//                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+                    crnCommand.setTaskMode(CrnTaskModeType.PUT); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+//                    crnCommand.setSourcePosX((short) (sourceSta.getRow1() + slave.getOffset()));     // 婧愬簱浣嶆帓
+//                    crnCommand.setSourcePosY((short) (sourceSta.getBay1() + slave.getOffset()));     // 婧愬簱浣嶅垪
+//                    crnCommand.setSourcePosZ((short) (sourceSta.getLev1() + slave.getOffset()));     // 婧愬簱浣嶅眰
+                    crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
+                    crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
+                    crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
+                    crnCommand.setTraySize(sourceSta.getLocType1() == 2);     //搴撲綅绫诲瀷
+                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+                        News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+                    } else {
+                        // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+                        Date now = new Date();
+                        wrkMast.setWrkSts(108L);
+                        wrkMast.setCrnStrTime(now);
+                        wrkMast.setModiTime(now);
+                        if (wrkMastMapper.updateById(wrkMast) == 0) {
+                            News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                        }
+                        break;
+                    }
+                }
+            }
+        }
+        News.infoNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍑哄簱鎵ц瀹屾瘯");
+    }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index dfc6741..b234c6d 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -49,7 +49,7 @@
 //                    mainService.ioConvert();
 
 
-                  //  mainService.stnToCrnStnPick2();
+//                    mainService.stnToCrnStnPick2();
 
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
                     mainService.generateStoreWrkFile(1); // 缁勬墭
@@ -77,7 +77,7 @@
 //                        News.info("杈撳叆鎴愬姛");
 //                    }
                     //鍫嗗灈鏈烘棤浠诲姟鍥炲叆搴撳彛寰呮満
-                    //mainService.crnMove();
+                    mainService.crnMove();
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset();
 
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 8f4ef1f..b74fae7 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -226,6 +226,10 @@
 
                 // 澶嶄綅淇″彿
                 if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+//                    if (crnProtocol.getTaskNo() == 0){
+//                        News.error("鍫嗗灈鏈哄伐浣�1宸ヤ綔鍙蜂负0锛屼笉浜堢‘璁わ紝宸ヤ綅1{}",crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
+//                        return;
+//                    }
                     News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�1淇″彿:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
                             slave.getId(), crnProtocol.getTaskNo(), crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
                     if (resetFlag) {
@@ -245,8 +249,12 @@
 
                 // 澶嶄綅淇″彿
                 if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+//                    if (crnProtocol.getTaskNoTwo() == 0){
+//                        News.error("鍫嗗灈鏈哄伐浣�2宸ヤ綔鍙蜂负0锛屼笉浜堢‘璁わ紝宸ヤ綅2{}",crnProtocol.getLoadedTwo() == 1 ? "鏈夌墿" : "鏃犵墿");
+//                        return;
+//                    }
                     News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�2淇″彿:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
-                            slave.getId(), crnProtocol.getTaskNo(), crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
+                            slave.getId(), crnProtocol.getTaskNoTwo(), crnProtocol.getLoadedTwo() == 1 ? "鏈夌墿" : "鏃犵墿");
                     if (resetFlagTwo) {
                         if (crnProtocol.getTaskNo() == 9999) {
                             backHpFlag = false;
@@ -301,7 +309,7 @@
      */
     private boolean write(CrnCommand command) throws InterruptedException {
         if (null == command) {
-            News.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
+            News.error("鍫嗗灈鏈哄伐浣�1鍐欏叆鍛戒护涓虹┖");
             return false;
         }
         // 鍚戝爢鍨涙満鍙戜换鍔″墠鐨勫爢鍨涙満鐘舵��
@@ -328,12 +336,12 @@
                 }
             }
         } catch (Exception e) {
-            News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
+            News.error("鍫嗗灈鏈哄伐浣�1鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�");
         }
 //        convertRow(command);
         command.setCrnNo(slave.getId());
 //        short[] array = new short[10];
-        short[] array = new short[9];
+        short[] array = new short[10];
         array[0] = command.getAckFinish(); // 浠诲姟瀹屾垚纭浣�
         array[1] = command.getTaskNo();  // 浠诲姟鍙�
         array[2] = command.getTaskMode();  // 妯″紡
@@ -343,11 +351,12 @@
         array[6] = command.getDestinationPosX();  // 鐩爣浣嶇疆鎺掑彿
         array[7] = command.getDestinationPosY(); // 鐩爣浣嶇疆鍒楀彿
         array[8] = command.getDestinationPosZ(); // 鐩爣浣嶇疆灞傚彿
+        array[9] = command.getCommand();
 //        array[10] = 0;   //澶囩敤1
 
 
         OperateResult result = siemensNet.Write("DB100.0", array);
-        News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
+        News.info("鍫嗗灈鏈哄伐浣�1鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), array);
 
         //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
         Thread.sleep(200);
@@ -357,7 +366,7 @@
             try {
                 if (!result.IsSuccess) {
 //                    if (!resetFlag){
-                    News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
+                    News.error("鍐欏叆鍫嗗灈鏈哄伐浣�1plc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                     result = siemensNet.Write("DB100.0", array);
 
 //                    }
@@ -384,7 +393,7 @@
                             || !command.getAckFinish().equals(one.getAckFinish())
                     ) {
                         try {
-                            News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
+                            News.error("鍫嗗灈鏈哄伐浣�1鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
                         } catch (Exception e) {
                             try {
                                 News.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSON(command), JSON.toJSON(resultRead));
@@ -399,18 +408,18 @@
 
                         }
 //                        if (!resetFlag){
-                        News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
+                        News.error("鍐欏叆鍫嗗灈鏈哄伐浣�1plc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                         result = siemensNet.Write("DB100.0", array);
 //                        }
                         writeCount1++;
                         continue;
                     } else {
-                        News.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
+                        News.info("鍫嗗灈鏈哄伐浣�1鍛戒护鍦板潃鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
                         break;
                     }
                 }
             } catch (Exception e) {
-                News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�" + e);
+                News.error("鍫嗗灈鏈哄伐浣�1鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�" + e);
             }
             writeCount1++;
         } while (writeCount1 < 6);
@@ -433,17 +442,17 @@
                         if (resultRead.IsSuccess) {
                             commandFinish = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
                             if (commandFinish != 1) {
-                                News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                                News.error("鍫嗗灈鏈哄伐浣�1浠诲姟纭浣�" + commandFinish + "鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                             } else {
                                 //浠诲姟鍛戒护鍐欏叆鎴愬姛
-                                News.info("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍥炶鎴愬姛锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                                News.info("鍫嗗灈鏈哄伐浣�1浠诲姟纭浣�" + commandFinish + "鍥炶鎴愬姛锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                                 break;
                             }
                         } else {
-                            News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍥炶澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                            News.error("鍫嗗灈鏈哄伐浣�1浠诲姟纭浣�" + commandFinish + "鍥炶澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                         }
                     } else {
-                        News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                        News.error("鍫嗗灈鏈哄伐浣�1浠诲姟纭浣�" + commandFinish + "鍐欏叆澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                     }
                 } while (writeCount2 < 5);
             }
@@ -481,8 +490,8 @@
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
             return true;
         } else {
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満宸ヤ綅1plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
+            News.error("鍐欏叆鍫嗗灈鏈哄伐浣�1plc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             return false;
         }
     }
@@ -492,7 +501,7 @@
      */
     private boolean write2(CrnCommand command) throws InterruptedException {
         if (null == command) {
-            News.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
+            News.error("鍫嗗灈鏈哄伐浣�2鍐欏叆鍛戒护涓虹┖");
             return false;
         }
         // 鍚戝爢鍨涙満鍙戜换鍔″墠鐨勫爢鍨涙満鐘舵��
@@ -519,7 +528,7 @@
                 }
             }
         } catch (Exception e) {
-            News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
+            News.error("鍫嗗灈鏈哄伐浣�2鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�");
         }
 //        convertRow(command);
         command.setCrnNo(slave.getId());
@@ -541,14 +550,14 @@
         array2[0] = command.getAckFinish();
         OperateResult result = siemensNet.Write("DB100.20", array);
         OperateResult result2 = siemensNet.Write("DB100.0", array2);
-        News.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
+        News.info("鍫嗗灈鏈哄伐浣�2鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), array);
 
         int writeCount1 = 1;
         do {
             try {
                 if (!result.IsSuccess || !result2.IsSuccess) {
 //                    if (!resetFlag){
-                    News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
+                    News.error("鍐欏叆鍫嗗灈鏈哄伐浣�2plc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                     result = siemensNet.Write("DB100.0", array);
 //                    }
                     Thread.sleep(100);
@@ -574,7 +583,7 @@
                             || !command.getAckFinish().equals(one.getAckFinish())
                     ) {
                         try {
-                            News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
+                            News.error("鍫嗗灈鏈哄伐浣�2鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
                         } catch (Exception e) {
                             try {
                                 News.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSON(command), JSON.toJSON(resultRead));
@@ -589,18 +598,18 @@
 
                         }
 //                        if (!resetFlag){
-                        News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
+                        News.error("鍐欏叆鍫嗗灈鏈哄伐浣�2plc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
                         result = siemensNet.Write("DB100.0", array);
 //                        }
                         writeCount1++;
                         continue;
                     } else {
-                        News.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
+                        News.info("鍫嗗灈鏈哄伐浣�2鍛戒护鍦板潃鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command), JSON.toJSON(one));
                         break;
                     }
                 }
             } catch (Exception e) {
-                News.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�2,寮傚父锛�" + e);
+                News.error("鍫嗗灈鏈哄伐浣�2鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�2,寮傚父锛�" + e);
             }
             writeCount1++;
         } while (writeCount1 < 6);
@@ -623,17 +632,17 @@
                         if (resultRead.IsSuccess) {
                             commandFinish = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0);
                             if (commandFinish != 1) {
-                                News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                                News.error("鍫嗗灈鏈哄伐浣�2浠诲姟纭浣�" + commandFinish + "鍐欏叆鏁版嵁涓庡洖璇绘暟鎹笉涓�鑷达紒" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                             } else {
                                 //浠诲姟鍛戒护鍐欏叆鎴愬姛
 //                                News.info("鍫嗗灈鏈轰换鍔$‘璁や綅"+commandFinish+"鍥炶鎴愬姛锛�"+"寰幆鎵ц娆℃暟:"+writeCount2+"娆�");
                                 break;
                             }
                         } else {
-                            News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍥炶澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                            News.error("鍫嗗灈鏈哄伐浣�2浠诲姟纭浣�" + commandFinish + "鍥炶澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                         }
                     } else {
-                        News.error("鍫嗗灈鏈轰换鍔$‘璁や綅" + commandFinish + "鍐欏叆澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
+                        News.error("鍫嗗灈鏈哄伐浣�2浠诲姟纭浣�" + commandFinish + "鍐欏叆澶辫触锛�" + "寰幆鎵ц娆℃暟:" + writeCount2 + "娆�");
                     }
                 } while (writeCount2 < 5);
             }
@@ -672,7 +681,7 @@
             return true;
         } else {
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            News.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+            News.error("鍐欏叆鍫嗗灈鏈哄伐浣�2plc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
             return false;
         }
     }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 567237a..f8accb7 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -133,7 +133,7 @@
     ip: 192.168.7.241
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 1006
+    staArr: 1004
     crnId: 1
 #  # LED2
   led[1]:
@@ -141,6 +141,14 @@
     ip: 192.168.7.240
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
-    staArr: 1004
+    staArr: 1005
+    crnId: 1
+  # LED1
+  led[2]:
+    id: 121
+    ip: 192.168.7.241
+    port: 5005
+    devpPlcId: ${wcs-slave.devp[0].id}
+    staArr: 1006
     crnId: 1
 

--
Gitblit v1.9.1