From dbdf9238c808566a0cef6cd3858f6f3ee2d7bacd Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期日, 21 七月 2024 08:22:52 +0800 Subject: [PATCH] 1、大理片笼:选择工程号没有是否旋转字段的值 2、将钢化小片表中电气需要的字段改为int(宽高厚、旋转角度) --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 35 ++++++++++++++++++++++++++++++++--- 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java index 007eab3..62c5c84 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java @@ -245,6 +245,11 @@ Date startDate = new Date(); log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate); PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject; + String e02State = plcMesObject.getPlcParameter("E02State").getAddress(); + if (REQUEST_WORD.equals(e02State)) { + log.info("鍑虹墖蹇欑锛岀粨鏉熷嚭鐗囦换鍔�"); + return; + } String mesToPLCAddress = plcMesObject.getPlcParameter("MESToPLC").getAddress(); List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW)); Assert.isTrue(CollectionUtils.isEmpty(outingList), "鏈夋鍦ㄦ墽琛屽嚭鐗囩殑浠诲姟锛岀粨鏉熷綋鍓嶅嚭鐗囩嚎绋�"); @@ -310,7 +315,12 @@ List<BigStorageCageOutTask> outTasks = list.stream().map(e -> new BigStorageCageOutTask(e.getGlassId(), first.getSlot(), second.getSlot(), slotWidth, 0, 0, 1)).collect(Collectors.toList()); bigStorageCageOutTaskService.saveBatch(outTasks); - S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1); + boolean flag = Boolean.FALSE; + int count = 3; + while (!flag && count >= 0) { + flag = S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1); + count--; + } log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress); Date endDate = new Date(); log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime()); @@ -459,8 +469,14 @@ } //鍚憄lc鍙戦�佽繘鐗囩‘璁� if (flag) { - S7object.getinstance().plccontrol.writeWord(mesAddress, 1); + boolean flagSend = Boolean.FALSE; + int count = 3; + while (!flagSend && count >= 0) { + flagSend = S7object.getinstance().plccontrol.writeWord(mesAddress, 1); + count--; + } log.info("杩涘崸杞珛鍙戦�佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓簕}", mesAddress); + } //璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔� return flag; @@ -567,7 +583,14 @@ s7control.writeWord(plcMesObject.getPlcParameter("StartAddToImport" + i).getAddress(), taskList.get(i - 1).getLine()); s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot()); } + s7control.writeWord(outLine, 2); + boolean flag = Boolean.FALSE; + int count = 3; + while (!flag && count >= 0) { + flag = s7control.writeWord(outLine, 2); + count--; + } log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕},纭瀛椾负{}", line, outLine, 2); } @@ -600,7 +623,13 @@ .in(BigStorageCageDetails::getGlassId, glassIds)); //鏇存柊绗煎瓙鍐呮牸瀛愮殑鍓╀綑灏哄 updateSlotRemain(list, glassIds); - S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1); + + boolean flag = Boolean.FALSE; + int count = 3; + while (!flag && count >= 0) { + flag = S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1); + count--; + } log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress); return Boolean.TRUE; } -- Gitblit v1.8.0