From d9b90148df8ce5b6ae7cba019359430df8c61742 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期六, 16 八月 2025 16:42:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 83 +++++++++++++++++++++++++++-------------- 1 files changed, 55 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 5dd7333..712baf2 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2803,18 +2803,7 @@ } } if (rgvProtocol.getTaskNo1()!=0 && rgvProtocol.getTaskNo1()!=9999){ -// if (rgvProtocol.getTaskNo1()==32222){ -// boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); -// if (!rgvComplete){ -// log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); -// } -// BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); -// basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); -// rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2415"); -// rgvThread.setPakMk(true); -// break; -// } - WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1()); if (Cools.isEmpty(wrkMastSta) || wrkMastSta.getWrkSts()!=1){ log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�"+wrkMastSta); continue; @@ -2844,20 +2833,6 @@ continue; } } -// else { -// log.error("rgv浠诲姟瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护,浣嗘湭鏌ヨ鍒板伐浣滄。"); -// // 涓嬪彂绔欑偣淇℃伅 -// Map<Integer,Integer> map = new HashMap<>(); -// map.put(101,102);map.put(112,111); -// map.put(100,100); -// staProtocol.setWorkNo(rgvProtocol.getTaskNo1().intValue()); -// staProtocol.setStaNo(map.get(rgvProtocol.getRgvPosI()).shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -//// log.error("rgv浠诲姟瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo()); -// if (!MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol))) { -// continue; -// } -// } int sourceSta = wrkMast.getSourceStaNo(); boolean rgvComplete = false; @@ -2872,7 +2847,7 @@ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); break; } - WrkMast wrkMast1 = wrkMastService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); + WrkMast wrkMast1 = wrkMastService.selectByWrkNo(rgvProtocol.getTaskNo1()); wrkMast1.setPdcType("Y"); wrkMastService.updateById(wrkMast1); @@ -2894,6 +2869,57 @@ }catch (Exception e){ log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�"+e); } + } + + /** + * rgv鍑哄叆搴撲换鍔′笅鍙� + */ + public synchronized void rgvIoExecute(Integer mark) { + List<BasRgvMap> basRgvMaps = basRgvMapService.selectList(new EntityWrapper<>()); + + for (BasRgvMap rgvSlave:basRgvMaps) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getRgvNo()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + } + BasRgv basRgv = basRgvService.selectById(rgvSlave.getRgvNo()); + if (basRgv == null) { + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�4", rgvSlave.getRgvNo()); + continue; + } + + // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� + if (rgvProtocol.getStatusType() == CrnStatusType.IDLE && rgvProtocol.getTaskNo() == 0 && rgvProtocol.getModeType() == CrnModeType.AUTO + && rgvProtocol.getLoaded() == 0 && rgvProtocol.getForkPos() == 0) { + News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�"); + // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡 + if (rgvProtocol.getLastIo().equals("I")) { + if (basCrnp.getInEnable().equals("Y")) { + //mark - 1 - .... + this.crnStnToLoc(crn, crnProtocol,mark); // 鍏ュ簱 + crnProtocol.setLastIo("O"); + } else if (basCrnp.getOutEnable().equals("Y")) { + //mark - 2 - .... + this.locToCrnStn(crn, crnProtocol,mark); // 鍑哄簱 + crnProtocol.setLastIo("I"); + } + } + // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡 + else if (crnProtocol.getLastIo().equals("O")) { + if (basCrnp.getOutEnable().equals("Y")) { + this.locToCrnStn(crn, crnProtocol,mark); // 鍑哄簱 + crnProtocol.setLastIo("I"); + } else if (basCrnp.getInEnable().equals("Y")) { + this.crnStnToLoc(crn, crnProtocol,mark); // 鍏ュ簱 + crnProtocol.setLastIo("O"); + } + } + } + + } +// News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚"); } /** * 鎵ц灏忚溅鎼繍浠诲姟 @@ -2985,7 +3011,7 @@ List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectNoInterfereList(route, route); for (WrkMastSta wrkMastSta : wrkMastStaList){ List<Integer> staNos = Arrays.asList(1042, 1105, 1038, 1036, 2037);//鍏ュ簱鍙� - if (staNos.contains(wrkMastSta.getStaStart())) { + if (staNos.contains(wrkMastSta.getStaStart())) {//闈炲叆搴撳彛锛堝嚭搴撳彛锛夐檺鍒� continue; } boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂 @@ -3062,6 +3088,7 @@ // 鏍规嵁杈撻�佺嚎plc閬嶅巻 for (DevpSlave devp : slaveProperties.getDevp()) { // 閬嶅巻鍏ュ簱鍙� 鍏ュ簱棰勮皟搴� + for() List<Integer> staNos = Arrays.asList(1042, 1043, 1105, 1104); for (Integer staNo : staNos) { SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); -- Gitblit v1.9.1