From 3ad8eac4b257e4bfcaef175ec1477758ad71a420 Mon Sep 17 00:00:00 2001 From: TQS <56479841@qq.com> Date: 星期四, 15 八月 2024 19:57:47 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 69 ++++++++++++++++++++++++++++++---- 1 files changed, 61 insertions(+), 8 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 bd49c1f..09879c4 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -213,7 +213,7 @@ // plc 澶勭悊 barcodeThread.setBarcode(""); staProtocol.setWorkNo(dto.getWorkNo().shortValue()); - staProtocol.setStaNo(dto.getStaNo().shortValue()); + staProtocol.setStaNo(Utils.getStaNoConvertCentreOther3(dto.getStaNo(),inSta.getStaNo()).shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); ledThread.errorReset(); @@ -854,9 +854,33 @@ continue; } WrkMast onlyWrkNo = wrkMastMapper.selectByOnlyWrkNo(crnProtocol.getTaskNo().intValue()); + if (Cools.isEmpty(onlyWrkNo) && (crnStn.getStaNo() == 112 || crnStn.getStaNo() == 212)){ + // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁� + if (crnProtocol.modeType == CrnModeType.AUTO + && crnProtocol.statusType == CrnStatusType.WAITING + && crnProtocol.forkPosType == CrnForkPosType.HOME + && crnProtocol.getBay().equals(crnStn.getBay().shortValue()) && crnProtocol.getLevel().equals(crnStn.getLev().shortValue())) { + News.info("鍫嗗灈鏈烘帴椹充换鍔″畬鎴愶紝宸ヤ綔鍙凤細"+crnProtocol.getTaskNo()+"锛涙墽琛屽爢鍨涙満鍙凤細"+crnSlave.getId()+"锛涙帴椹虫斁璐т綅锛�"+crnStn.getStaNo()+"锛涙帴椹宠璧扮洰鏍囩珯锛�"+Utils.getStaNoConvertCentreOther2(crnStn.getStaNo())); + // 涓嬪彂绔欑偣淇℃伅 + News.error("new867===>"+crnProtocol.getTaskNo()); + News.error("new867===>"+Utils.getStaNoConvertCentreOther2(crnStn.getStaNo()).toString()); + staProtocol.setWorkNo(crnProtocol.getTaskNo()); + staProtocol.setStaNo(Utils.getStaNoConvertCentreOther2(crnStn.getStaNo()).shortValue()); + if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) { + continue; + } + // 澶嶄綅鍫嗗灈鏈� + crnThread.setResetFlag(true); + continue; + } + } if (Cools.isEmpty(onlyWrkNo) || - (onlyWrkNo.getStaNo()!=114 && onlyWrkNo.getStaNo()!=214 && - onlyWrkNo.getSourceStaNo()!=114 && onlyWrkNo.getSourceStaNo()!=214)){ + ((onlyWrkNo.getStaNo()!=114 && onlyWrkNo.getStaNo()!=214 && + onlyWrkNo.getSourceStaNo()!=114 && onlyWrkNo.getSourceStaNo()!=214) + && + (onlyWrkNo.getStaNo()!=113 && onlyWrkNo.getStaNo()!=213 && + onlyWrkNo.getSourceStaNo()!=113 && onlyWrkNo.getSourceStaNo()!=213)) + ){ continue; } // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁� @@ -1031,7 +1055,39 @@ crnCommand.setTaskNo(onlyWrkNo.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setCommand((short) 0); - crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 浠诲姟妯″紡: 绔欎綅杞Щ + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(Utils.getRow(staProtocol.getSiteId())); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(Utils.getBay(staProtocol.getSiteId())); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(Utils.getLev(staProtocol.getSiteId())); // 鐩爣搴撲綅灞� + if (!MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, crnCommand))) { + News.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", slave.getId(), JSON.toJSONString(crnCommand)); + } + return true; + } + } else if (!Cools.isEmpty(onlyWrkNo) && onlyWrkNo.getCrnNo()==2 && onlyWrkNo.getWrkSts()>16 && crnProtocol.getCrnNo()!=2 && onlyWrkNo.getIoType()>100){ + // News.error("{}绔欑偣鏌ヨ鏃犲緟鍏ュ簱鏁版嵁 宸ヤ綔鍙�={}", crnStn.getStaNo(), staProtocol.getWorkNo()); + // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� + if (wrkMastMapper.selectWorking(slave.getId()) != null) { + continue; + } + if (Cools.isEmpty(staProtocol.getWorkNo()) || !staProtocol.isLoading()){ + continue; + } + // 鍒ゆ柇鍫嗗灈鏈虹姸鎬佺瓑寰呯‘璁� + if (crnProtocol.modeType == CrnModeType.AUTO + && crnProtocol.statusType == CrnStatusType.IDLE + && crnProtocol.forkPosType == CrnForkPosType.HOME) { + News.info("鍫嗗灈鏈烘帴椹充换鍔℃墽琛岋紝宸ヤ綔鍙凤細"+staProtocol.getWorkNo()+"锛涙墽琛屽爢鍨涙満鍙凤細"+slave.getId()+"锛涙帴椹冲彇璐т綅锛�"+crnStn.getStaNo()+"锛涙帴椹虫斁璐т綅锛�"+staProtocol.getSiteId()); + // 鍫嗗灈鏈烘帴椹充换鍔″懡浠や笅鍙戝尯 -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(onlyWrkNo.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰 @@ -1044,7 +1100,7 @@ return true; } } - continue; + continue; } catch (Exception e){ News.info("鍫嗗灈鏈烘帴椹充换鍔℃墽琛岋紝寮傚父锛�"+e.getMessage()); } @@ -4108,9 +4164,6 @@ */ public synchronized void ledReset() { for (LedSlave led : slaveProperties.getLed()) { - if (led.getId()>3){ - continue; - } // 鑾峰彇杈撻�佺嚎plc绾跨▼ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId()); // 鍛戒护闆嗗悎 -- Gitblit v1.9.1