From 8223485b2f6c909de81924e107b1e268aa04bd41 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期日, 30 六月 2024 22:59:26 +0800 Subject: [PATCH] 1、大理片笼进片逻辑调整:a、将扫描id后进生成任务信息,不执行卧转立进片命令; b、进片车空闲扫描,如果存在卧转立有满片的直接启动, 2、下片任务新增任务向plc发送任务信息 3、对外提供手工生成人工下片任务 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 44 ++++++++++++++++++++++++++++++-------------- 1 files changed, 30 insertions(+), 14 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java index e2d0aa2..14c5322 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java @@ -20,6 +20,7 @@ import com.mes.downworkstation.service.DownWorkstationService; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.service.GlassInfoService; +import com.mes.tools.S7control; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; @@ -75,16 +76,18 @@ public void plcHomeEdgTask() { PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; String requestWord = plcParameterObject.getPlcParameter("RequestWord").getValue(); - String glassIdeValue = plcParameterObject.getPlcParameter("G04ID").getValue(); - String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue(); + String glassIdeValue = plcParameterObject.getPlcParameter("requestID").getValue(); //A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环 鏃犳暟鎹浆int寮傚父 - String out08Glassstate = plcParameterObject.getPlcParameter("A08_glass_status").getValue(); - String out10Glassstate = plcParameterObject.getPlcParameter("A10_glass_status").getValue(); - String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress(); - String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue(); + String out06Glassstate = plcParameterObject.getPlcParameter("glassStatus06").getValue(); + String out08Glassstate = plcParameterObject.getPlcParameter("glassStatus08").getValue(); + String out11Glassstate = plcParameterObject.getPlcParameter("glassStatus11").getValue(); + String out13Glassstate = plcParameterObject.getPlcParameter("glassStatus13").getValue(); + String confirmationWrodValue = plcParameterObject.getPlcParameter("confirmationWord").getValue(); + String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress(); + String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue(); - log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09:{}銆丄10:{},褰撳墠鏍煎瓙鍙蜂负锛歿}", - requestWord, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot); + log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}", + requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot); if ("0".equals(requestWord)) { if ("0".equals(confirmationWrodValue)) { @@ -208,9 +211,6 @@ downStorageCageDetailsService.save(downStorageCageDetails); // 鐢熸垚杩涚墖浠诲姟 initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN); - //log.info("5銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache); -// S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1); -// log.info("6銆佸彂閫佺‘璁ゅ瓧瀹屾垚"); } public Boolean outTo(String glassStatus06, String glassStatus11, String glassStatus13, String glassId) { @@ -419,7 +419,7 @@ } } - private Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) { + public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) { //鎸夌幓鐠僫d鑾峰彇鐜荤拑淇℃伅 DownStorageCageDetails downStorageCageDetails = null; if (glassId.equals(cageDetails.getGlassId())) { @@ -468,7 +468,7 @@ return initDownGlassTask(glassInfo, downStorageCageDetails.getSlot(), endCell, taskType); } - private Boolean initDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) { + public Boolean initDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) { log.info("鐜荤拑{}鐢熸垚杩涚墖浠诲姟", glassInfo.getGlassId()); DownGlassTask downGlassTask = new DownGlassTask(); downGlassTask.setStartCell(startCell); @@ -480,6 +480,22 @@ downGlassTask.setFlowCardId(glassInfo.getFlowCardId()); downGlassTask.setTaskStauts(0); downGlassTask.setCreateTime(new Date()); - return downGlassTaskService.save(downGlassTask); + downGlassTaskService.save(downGlassTask); + //鍚憄lc鍙戦�佸懡浠� + return sendMessageToPlc((int) glassInfo.getWidth(), (int) glassInfo.getHeight(), (int) glassInfo.getThickness(), + startCell, endCell, taskType); + } + + private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell, int taskType) { + S7control s7control = S7object.getinstance().plccontrol; + PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject; + s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), (short) width * 10); + s7control.writeWord(plcMesObject.getPlcParameter("Glass_height").getAddress(), (short) height * 10); + s7control.writeWord(plcMesObject.getPlcParameter("Glass_thickness").getAddress(), (short) thickness * 10); + s7control.writeWord(plcMesObject.getPlcParameter("Start_cell").getAddress(), (short) startCell); + s7control.writeWord(plcMesObject.getPlcParameter("End_cell").getAddress(), (short) endCell); + s7control.writeWord(plcMesObject.getPlcParameter("task_type").getAddress(), (short) taskType); + s7control.writeWord(plcMesObject.getPlcParameter("confirmationWord").getAddress(), (short) 1); + return Boolean.TRUE; } } -- Gitblit v1.8.0