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