From 45acd20e06a15d0096776ffe3adae4dc94d22762 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期四, 05 十月 2023 09:39:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/LiftThread.java | 46 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java index 971b4ff..ccc0864 100644 --- a/src/main/java/com/zy/core/thread/LiftThread.java +++ b/src/main/java/com/zy/core/thread/LiftThread.java @@ -13,6 +13,7 @@ import com.zy.asrs.mapper.WrkMastMapper; import com.zy.asrs.service.BasLiftOptService; import com.zy.asrs.service.BasLiftService; +import com.zy.asrs.utils.Utils; import com.zy.common.utils.RedisUtil; import com.zy.core.News; import com.zy.core.ThreadHandler; @@ -55,6 +56,9 @@ LiftStaProtocol liftStaProtocol = new LiftStaProtocol(); liftStaProtocol.setStaNo(sta.getStaNo());//绔欑偣鍙� liftStaProtocol.setLev(sta.getLev());//绔欑偣妤煎眰 + String locNo = Utils.getLocNo(this.slave.getStaRow(), this.slave.getStaBay(), sta.getLev()); + liftStaProtocol.setLocNo(locNo);//绔欑偣搴撲綅鍙� + liftStaProtocol.setLiftNo(sta.getLiftNo());//鎻愬崌鏈哄彿 liftStaProtocols.add(liftStaProtocol); } @@ -121,14 +125,14 @@ try { readStatus(); - //鎻愬崌鏈哄浜庤繍琛岀姸鎬侊紝灏嗘爣璁扮疆涓簍rue + //鎻愬崌鏈哄浜庤繍琛岀姸鎬侊紝灏嗘爣璁扮疆涓篺alse if (liftProtocol.getBusy()) { - liftProtocol.setPakMk(true); + liftProtocol.setPakMk(false); } //鎻愬崌鏈哄浜庢湭杩愯銆佸氨缁�佹爣璁皌rue銆佹湁浠诲姟鍙� if (!liftProtocol.getBusy() - && liftProtocol.getPakMk() + && !liftProtocol.getPakMk() && liftProtocol.getTaskNo() != 0) { //杩樻湁鏈畬鎴愮殑鍛戒护 executeWork(liftProtocol.getTaskNo()); @@ -141,7 +145,7 @@ private void readStatus() { try { //鑾峰彇鎻愬崌鏈烘暟鎹� - OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB4.0", (short) 10); + OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB82.4.0", (short) 10); if (result1.IsSuccess) { if (null == liftProtocol) { liftProtocol = new LiftProtocol(); @@ -154,7 +158,7 @@ //妯″紡 liftProtocol.setModel(status1[0]); //蹇欓棽 - liftProtocol.setBusy(status1[1]); + liftProtocol.setBusy(!status1[1]); //鍓嶈秴闄� liftProtocol.setFrontOverrun(status1[4]); //鍚庤秴闄� @@ -180,7 +184,13 @@ //宸插畬鎴愪换鍔″彿 liftProtocol.setCompleteTaskNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6)); //褰撳墠妤煎眰 - liftProtocol.setLev(siemensS7Net.getByteTransform().TransInt16(result1.Content, 8)); + short lev = siemensS7Net.getByteTransform().TransInt16(result1.Content, 8); + if (lev >= 7 && lev <= 9) { + lev -= 2; + } else if (lev >= 12 && lev <= 14) { + lev -= 4; + } + liftProtocol.setLev(lev); //灏嗘彁鍗囨満鐘舵�佷繚瀛樿嚦鏁版嵁搴� BasLiftService liftService = SpringUtils.getBean(BasLiftService.class); @@ -220,7 +230,7 @@ Thread.sleep(200); //鑾峰彇鎻愬崌鏈虹珯鐐规暟鎹� - OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB14.0", (short) (10 * liftStaProtocols.size())); + OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB82.14.0", (short) (10 * liftStaProtocols.size())); if (result1.IsSuccess) { for (int i = 0; i < slave.getSta().size(); i++) { LiftStaProtocol liftStaProtocol = liftStaProtocols.get(i); @@ -233,7 +243,7 @@ //妯″紡 liftStaProtocol.setModel(status1[0]); //蹇欓棽 - liftStaProtocol.setBusy(status1[1]); + liftStaProtocol.setBusy(!status1[1]); //鏈夋墭鐩� liftStaProtocol.setHasTray(status1[2]); //鍓嶈秴闄� @@ -273,7 +283,7 @@ command.setLiftNo(slave.getId().shortValue()); short[] array = getCommandArr(command);//鑾峰彇鍛戒护鎶ユ枃 - OperateResult result = siemensS7Net.Write("41088", array); + OperateResult result = siemensS7Net.Write("DB83.0", array); if (result != null && result.IsSuccess) { News.info("鎻愬崌鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); OutputQueue.LIFT.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); @@ -351,10 +361,11 @@ return false; } + liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING); News.info("鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); - //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂) - liftProtocol.setPakMk(false); + //灏嗘爣璁扮疆涓簍rue(闃叉閲嶅彂) + liftProtocol.setPakMk(true); //淇濆瓨鏁版嵁鍒版暟鎹簱鍋氭祦姘� BasLiftOptService liftOptService = SpringUtils.getBean(BasLiftOptService.class); @@ -368,7 +379,6 @@ null, null, JSON.toJSONString(command), - JSON.toJSONString(commandArr), JSON.toJSONString(liftProtocol) ); liftOptService.insert(opt); @@ -392,6 +402,18 @@ News.info("鎻愬崌鏈轰换鍔℃墽琛屼笅鍙戝畬鎴愮瓑寰呮墽琛岀粨鏉燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); } + if (redisCommand.getAssignCommand().getTaskMode() == NyLiftTaskModelType.RESET.id.shortValue()) { + //澶嶄綅鍛戒护 + //宸ヤ綔鍙锋竻闆� + liftProtocol.setTaskNo((short) 0); + //浠ょ墝娓呴浂 + liftProtocol.setToken(0); + //璁剧疆鎻愬崌鏈轰负绌洪棽鐘舵�� + liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE); + //浠诲姟鎸囦护娓呴浂 + liftProtocol.setAssignCommand(null); + } + return true; } -- Gitblit v1.9.1