From 1ae003e21ae53ab05006ca24c8b0473f93dd6912 Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期三, 05 六月 2024 08:25:09 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 134 +++++++++++++++++++++++++++----------------- 1 files changed, 81 insertions(+), 53 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 ab589a7..e5610a7 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 @@ -1,85 +1,98 @@ package com.mes.job; - -import cn.hutool.json.JSONObject; import com.mes.bigstorage.entity.BigStorageCageDetails; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; import com.mes.bigstoragetask.entity.BigStorageCageFeedTask; +import com.mes.bigstoragetask.entity.BigStorageCageOutTask; import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService; import com.mes.bigstoragetask.service.BigStorageCageOutTaskService; +import com.mes.common.S7object; +import com.mes.device.PlcParameterObject; +import com.mes.edgglasstask.service.EdgGlassTaskInfoService; import com.mes.edgstoragetask.service.TaskCacheService; import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.service.GlassInfoService; -import com.mes.menu.service.SysMenuService; +import com.mes.temperingglass.service.TemperingGlassInfoService; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; +/** + * @author SNG-015 + */ @Component @Slf4j public class PlcStorageCageTask { - @Autowired + @Resource private BigStorageCageService bigStorageCageService; - @Autowired + @Resource private BigStorageCageDetailsService bigStorageCageDetailsService; - @Autowired + @Resource private GlassInfoService glassInfoService; - @Autowired + @Resource private BigStorageCageFeedTaskService bigStorageCageFeedTaskService; - @Autowired + @Resource private BigStorageCageOutTaskService bigStorageCageOutTaskService; - @Autowired - private TaskCacheService taskCacheService; + @Resource + private EdgGlassTaskInfoService edgGlassTaskInfoService; + @Resource + private TemperingGlassInfoService temperingGlassInfoService; - @Autowired - private SysMenuService sysMenuService; + PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; + + public static boolean bigStorageCageFullAlarm = false; + + private int line1Time=0; + private int line2Time=0; /** * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級 * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃� */ - @Scheduled(fixedDelay = 300) + @Scheduled(fixedDelay = 5000) public void plcStorageCageTask() throws InterruptedException { - JSONObject jsonObject = new JSONObject(); try { - Thread.sleep(300); - boolean bigStorageCageFullAlarm = false; - String plcD01FeedReq = "0"; - String plcD04FeedReq = "0"; - String plcFeedGlassid = "111"; + String plcFeedGlassid = ""; String plcFeedReqLine = "0"; - if ("1".equals(plcD01FeedReq)) { + if ("1".equals(plcParameterObject.getPlcParameter("D01Request").getValue())) { plcFeedReqLine = "1"; - } else { - //plc浠诲姟鍙戦�佸瓧0 + plcFeedGlassid=plcParameterObject.getPlcParameter("D01ID1").getValue(); } - if ("1".equals(plcD04FeedReq)) { + if ("1".equals(plcParameterObject.getPlcParameter("D04Request").getValue())) { plcFeedReqLine = "2"; - } else { - //plc浠诲姟鍙戦�佸瓧0 + plcFeedGlassid=plcParameterObject.getPlcParameter("D04ID1").getValue(); } + line1Time+=1; + line2Time+=1; if (!("0".equals(plcFeedReqLine))) { log.info("1銆丳lc杩涚墖璇锋眰鏃�"); BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails(); GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid); log.info("2銆佹牴鎹幓鐠僫d鑾峰彇鐜荤拑淇℃伅" + glassInfo); - BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails); - if (slotInfo != null) { - int taskType = taskCacheService.judgeTasktype(); - log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType); - bigStorageCageFeedTaskService.addFeedTask(slotInfo, Integer.parseInt(plcFeedReqLine), taskType); - log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�"); - //plc浠诲姟鍙戦�佸瓧1 - bigStorageCageFullAlarm = false; - } else { - //鐞嗙墖绗肩垎绗兼姤璀� - bigStorageCageFullAlarm = true; + if(bigStorageCageDetailsService.selectGetBoard(plcFeedReqLine)>=0){ + BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails); + if (slotInfo != null) { + int taskType = edgGlassTaskInfoService.judgeTasktype(plcFeedReqLine); + log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�" + taskType); + bigStorageCageFeedTaskService.addFeedTask(slotInfo, Integer.parseInt(plcFeedReqLine), taskType); + log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�"); + bigStorageCageFullAlarm = false; + } else { + bigStorageCageFullAlarm = true; + } + }else{ + log.info("褰撳墠鐜荤拑瀹藉害涓嶅涓婅溅" + glassInfo); + if(!("1".equals(plcFeedReqLine))){ + S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1); + }else{ + S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1); + } } } else { List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1); @@ -94,26 +107,41 @@ bigStorageCageFeedTaskService.removeById(bigStorageCageFeedTask); log.info("7銆佸垹闄ゅ凡缁忓畬鎴愮殑杩涚墖浠诲姟"); } - } - - //鍑虹墖璇锋眰 - String plcOutReq = "0"; - boolean result = false; - if ("1".equals(plcOutReq)) { - result = bigStorageCageService.outGlass(); - log.info("8銆佸嚭鐗囪姹傛椂璋冪敤鍑虹墖鎺ュ彛" + result); - if (result) { - //plc浠诲姟鍙戦�佸瓧1 + //鍚姩闃堝�� + if(line1Time>=300){ + if("0".equals(plcParameterObject.getPlcParameter("D05Go").getValue())){ + S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1); + } } - } else { - bigStorageCageOutTaskService.updateOutTask(); - //plc浠诲姟鍙戦�佸瓧0 + if(line2Time>=300){ + if("0".equals(plcParameterObject.getPlcParameter("D02Go").getValue())){ + S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1); + } + } } - //鏄剧ず鍓╀綑绌烘牸瀛� + //鏌ヨ鍑虹墖琛ㄦ槸鍚︽湁浠诲姟鏈畬鎴愮殑浠诲姟 + List<BigStorageCageOutTask> bigStorageCageOutTask=bigStorageCageOutTaskService.querybigStorageCageOutTask(0); + if(bigStorageCageOutTask.size()==0){ + boolean result=bigStorageCageService.outGlass(); + log.info("8銆佹病鏈夋湭瀹屾垚浠诲姟鏃惰皟鐢ㄥ嚭鐗囨帴鍙�"); + if (result==false){ + temperingGlassInfoService.schedulingTask(); + } + } + bigStorageCageOutTaskService.updateOutTask(); + log.info("9銆佹牴鎹换鍔¤〃鐘舵�佷慨鏀归挗鍖栧皬鐗囪〃浠诲姟鐘舵��"); - //鎶ヨ淇℃伅 - jsonObject.append("bigStorageCageFullAlarm", bigStorageCageFullAlarm); + //鏉ヤ笉鍙婇�佹椂鐩存帴璧� + String line=Integer.toString(edgGlassTaskInfoService.startTask()); + + if(!(line.equals(plcFeedReqLine))){ + S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D02Go").getAddress(), 1); + }else{ + S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("D05Go").getAddress(), 1); + } + + } catch (Exception e) { e.printStackTrace(); } -- Gitblit v1.8.0