From 3b42d4d488cc983469e3729ff7f48c2d50c59b52 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 19 九月 2022 12:43:19 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SteThread.java | 22 +++++++---- src/main/java/com/zy/asrs/controller/SteController.java | 6 +++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 36 +++++++++++++++++ src/main/java/com/zy/core/enums/SteTaskModeType.java | 8 ++-- 4 files changed, 59 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java index bbc2b37..8d9ec7d 100644 --- a/src/main/java/com/zy/asrs/controller/SteController.java +++ b/src/main/java/com/zy/asrs/controller/SteController.java @@ -191,6 +191,12 @@ throw new CoolException("鏈嶅姟鍣ㄩ敊璇�"); } } + SteCommand steCommand = new SteCommand(); + steCommand.setTaskNo(vo.getWorkNo()); + if (MessageQueue.offer(SlaveType.Ste, vo.getSteNo(), new Task(2, steCommand))) { + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } basSte.setPakMk(vo.getPakMk()); basSte.setWrkNo(vo.getWorkNo()); basSte.setCrnNo(vo.getCrnNo()); 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 d74a735..1cb922a 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -541,7 +541,7 @@ if (steNo != null) { // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣 if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) { - this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo()); + this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo()); } // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓� if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) { @@ -806,6 +806,40 @@ } /** + * 璁╁皬杞︿粠 杩滅偣 ====>> 寰呮満 + * 绛夊緟鍫嗗灈鏈烘惉杩� + */ + public void letCarBeWaiting(WrkMast wrkMast, Integer steNo, String locNo) { + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { return; } + if (steProtocol.isIdle()) { + + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(9999); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.findWaiting(steProtocol.getRow().intValue())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� + + steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); + steCommand.setBay(steProtocol.getBay()); + steCommand.setLev(steProtocol.getLev()); + + if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� + wrkMast.setSteNo(steNo); + wrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + } + } + + /** * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐� * 绛夊緟鍫嗗灈鏈烘惉杩� */ diff --git a/src/main/java/com/zy/core/enums/SteTaskModeType.java b/src/main/java/com/zy/core/enums/SteTaskModeType.java index 3facf5d..55bf278 100644 --- a/src/main/java/com/zy/core/enums/SteTaskModeType.java +++ b/src/main/java/com/zy/core/enums/SteTaskModeType.java @@ -60,11 +60,11 @@ case 3: case 11: case 18: - return SteTaskModeType.IN_LEFT; // 鍙� + return SteTaskModeType.IN_RIGHT; // 鍙� case 4: case 12: case 19: - return SteTaskModeType.IN_RIGHT; // 宸� + return SteTaskModeType.IN_LEFT; // 宸� default: throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�"); } @@ -191,7 +191,7 @@ case 16: case 17: case 18: - return SteTaskModeType.WAITING_LEFT; + return SteTaskModeType.WAITING_RIGHT; case 4: case 5: case 6: @@ -202,7 +202,7 @@ case 19: case 20: case 21: - return SteTaskModeType.WAITING_RIGHT; + return SteTaskModeType.WAITING_LEFT; default: throw new CoolException("瑙f瀽绌挎杞﹀師鐐瑰畾浣嶅け璐�"); } diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java index 8188d03..d02a3f3 100644 --- a/src/main/java/com/zy/core/thread/SteThread.java +++ b/src/main/java/com/zy/core/thread/SteThread.java @@ -220,16 +220,15 @@ OperateResult result = null; // 寮�濮嬩换鍔� if (!command.getComplete()) { - + // 1.浠诲姟鍙� + OperateResult result0 = siemensS7Net.Write("V998", command.getTaskNo().shortValue()); + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } // 浣滀笟 if (command.getTaskMode() != 0) { - // 1.浠诲姟鍙� - OperateResult result0 = siemensS7Net.Write("V998", command.getTaskNo().shortValue()); - try { - Thread.sleep(200); - } catch (InterruptedException e) { - e.printStackTrace(); - } // 2.浣滀笟 OperateResult result1 = siemensS7Net.Write("V1000", command.getTaskMode()); // 3.纭寮�濮嬩换鍔� @@ -259,6 +258,7 @@ // 浠诲姟瀹屾垚 } else { + siemensS7Net.Write("V1000",(short) 0); result = siemensS7Net.Write("V2000.1", true); } @@ -367,6 +367,12 @@ } } +// public void modifyPos(int wrkNo, int row, int bay, int lev) { +// BasSteService service = SpringUtils.getBean(BasSteService.class); +// if (!service.updatePos(wrkNo,this.slave.getId(), row, bay, lev)) { +// log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev); +// } +// } /******************************************************************************************/ /**************************************** 娴嬭瘯涓撶敤 *****************************************/ -- Gitblit v1.9.1