| | |
| | | /** |
| | | * 确认字清空 |
| | | */ |
| | | // @Scheduled(fixedDelay = 300) |
| | | // public void confirmClear() { |
| | | // PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; |
| | | // String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue(); |
| | | // String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue(); |
| | | // String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress(); |
| | | // String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress(); |
| | | // String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue(); |
| | | // String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue(); |
| | | // String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress(); |
| | | // String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress(); |
| | | // if(!REQUEST_WORD.equals(d01ToMES)){ |
| | | // S7object.getinstance().plccontrol.writeWord(mesD01Address, 0); |
| | | // } |
| | | // if(!REQUEST_WORD.equals(d04ToMES)){ |
| | | // S7object.getinstance().plccontrol.writeWord(mesD04Address, 0); |
| | | // } |
| | | // if (!REQUEST_WORD.equals(d03ToMES)) { |
| | | // S7object.getinstance().plccontrol.writeWord(mesD03Address, 0); |
| | | // } |
| | | // if (!REQUEST_WORD.equals(d05ToMES)) { |
| | | // S7object.getinstance().plccontrol.writeWord(mesD05Address, 0); |
| | | // } |
| | | // } |
| | | @Scheduled(fixedDelay = 300) |
| | | public void confirmClear() { |
| | | PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; |
| | | String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue(); |
| | | String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue(); |
| | | String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress(); |
| | | String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress(); |
| | | String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue(); |
| | | String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue(); |
| | | String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress(); |
| | | String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress(); |
| | | if (!REQUEST_WORD.equals(d01ToMES)) { |
| | | S7object.getinstance().plccontrol.writeWord(mesD01Address, 0); |
| | | } |
| | | if (!REQUEST_WORD.equals(d04ToMES)) { |
| | | S7object.getinstance().plccontrol.writeWord(mesD04Address, 0); |
| | | } |
| | | if (!REQUEST_WORD.equals(d03ToMES)) { |
| | | S7object.getinstance().plccontrol.writeWord(mesD03Address, 0); |
| | | } |
| | | if (!REQUEST_WORD.equals(d05ToMES)) { |
| | | S7object.getinstance().plccontrol.writeWord(mesD05Address, 0); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 进片状态修改 |
| | | */ |
| | | // @Scheduled(fixedDelay = 300) |
| | | // public void feedStatusUpdate() { |
| | | // List<String> glassIds1=null; |
| | | // List<String> glassIds2=null; |
| | | // List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list( |
| | | // new LambdaQueryWrapper<BigStorageCageFeedTask>() |
| | | // .eq(BigStorageCageFeedTask::getTaskState,1) |
| | | // .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION) |
| | | // ); |
| | | // List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list( |
| | | // new LambdaQueryWrapper<BigStorageCageFeedTask>() |
| | | // .eq(BigStorageCageFeedTask::getTaskState,1) |
| | | // .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION) |
| | | // ); |
| | | //// if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){ |
| | | //// |
| | | //// } |
| | | //// if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){ |
| | | //// |
| | | //// } |
| | | // } |
| | | @Scheduled(fixedDelay = 300) |
| | | public void feedStatusUpdate() { |
| | | PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; |
| | | List<String> glassIds1 = new ArrayList<>(); |
| | | List<String> glassIds2 = new ArrayList<>(); |
| | | // for (int i = 1; i <= 6; i++) { |
| | | // String line1GlassId = plcParameterObject.getPlcParameter("D03ID" + i).getValue(); |
| | | // if (StringUtils.isNotEmpty(line1GlassId)) { |
| | | // glassIds1.add(line1GlassId); |
| | | // } |
| | | // String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getValue(); |
| | | // if (StringUtils.isNotEmpty(line2GlassId)) { |
| | | // glassIds1.add(line2GlassId); |
| | | // } |
| | | // } |
| | | List<BigStorageCageFeedTask> bigStorageCageFeedTasks1 = bigStorageCageFeedTaskService.list( |
| | | new LambdaQueryWrapper<BigStorageCageFeedTask>() |
| | | .eq(BigStorageCageFeedTask::getTaskState, 1) |
| | | .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION) |
| | | ); |
| | | List<BigStorageCageFeedTask> bigStorageCageFeedTasks2 = bigStorageCageFeedTaskService.list( |
| | | new LambdaQueryWrapper<BigStorageCageFeedTask>() |
| | | .eq(BigStorageCageFeedTask::getTaskState, 1) |
| | | .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION) |
| | | ); |
| | | if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)&& glassIds1 != null) { |
| | | List<String> matchingIds1 = bigStorageCageFeedTasks1.stream() |
| | | .map(BigStorageCageFeedTask::getGlassId) |
| | | .filter(glassIds1::contains) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | bigStorageCageFeedTaskService.update( |
| | | new LambdaUpdateWrapper<BigStorageCageFeedTask>() |
| | | .in(BigStorageCageFeedTask::getGlassId, matchingIds1) |
| | | .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT) |
| | | .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP) |
| | | ); |
| | | } |
| | | if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2)&& glassIds2 != null) { |
| | | List<String> matchingIds2 = bigStorageCageFeedTasks2.stream() |
| | | .map(BigStorageCageFeedTask::getGlassId) |
| | | .filter(glassIds2::contains) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | bigStorageCageFeedTaskService.update( |
| | | new LambdaUpdateWrapper<BigStorageCageFeedTask>() |
| | | .in(BigStorageCageFeedTask::getGlassId, matchingIds2) |
| | | .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT) |
| | | .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP) |
| | | ); |
| | | } |
| | | if (CollectionUtils.isEmpty(glassIds1)) { |
| | | bigStorageCageFeedTaskService.update( |
| | | new LambdaUpdateWrapper<BigStorageCageFeedTask>() |
| | | .eq(BigStorageCageFeedTask::getLine,Const.A09_OUT_TARGET_POSITION) |
| | | .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP) |
| | | .gt(BigStorageCageFeedTask::getTargetSlot, 0) |
| | | .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT) |
| | | .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR) |
| | | ); |
| | | } |
| | | if (CollectionUtils.isEmpty(glassIds2)) { |
| | | bigStorageCageFeedTaskService.update( |
| | | new LambdaUpdateWrapper<BigStorageCageFeedTask>() |
| | | .eq(BigStorageCageFeedTask::getLine,Const.A10_OUT_TARGET_POSITION) |
| | | .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP) |
| | | .gt(BigStorageCageFeedTask::getTargetSlot, 0) |
| | | .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT) |
| | | .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR) |
| | | ); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 按照玻璃id判断玻璃状态及卧转立是否可直接启动 |
| | |
| | | //向plc发送进片确认 |
| | | if (flag) { |
| | | //向plc写入确认字 |
| | | int returnData = 0; |
| | | PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject; |
| | | int returnData = 1; |
| | | int count = 1; |
| | | while (returnData == 0) { |
| | | while (returnData != 0) { |
| | | S7object.getinstance().plccontrol.writeWord(mesAddress, 1); |
| | | returnData = S7object.getinstance().plccontrol.readWord(mesAddress, 1).get(0); |
| | | log.info("进卧转立第{}次发送确认字完成,地址为:{},写入的内容为{}", count++, mesAddress, returnData); |
| | | |
| | | if (Const.A10_OUT_TARGET_POSITION.equals(line)) { |
| | | returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D04ToMES").getValue()); |
| | | } else { |
| | | returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D01ToMES").getValue()); |
| | | } |
| | | // returnData = S7object.getinstance().plccontrol.readWord(mesAddress, 1).get(0); |
| | | log.info("进卧转立第{}次发送确认字完成,地址为:{},写入的内容为{}", count++, mesAddress, 1); |
| | | } |
| | | } |
| | | //记录无法放下玻璃,后续判断启动 |
| | |
| | | s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot()); |
| | | log.info("向plc发送第{}片玻璃已完成,起始位置是{},目标位置是", i, taskList.get(i - 1).getLine(), taskList.get(i - 1).getTargetSlot()); |
| | | } |
| | | int returnData = 0; |
| | | int returnData = 1; |
| | | int count = 1; |
| | | while (returnData == 0) { |
| | | while (returnData != 0) { |
| | | s7control.writeWord(outLine, 2); |
| | | returnData = s7control.readWord(outLine, 1).get(0); |
| | | log.info("已向plc第{}次发送进片任务确认,地址为:{},写入的内容为{}", count++, outLine, returnData); |
| | | if (line.equals(Const.A09_OUT_TARGET_POSITION)) { |
| | | returnData = Integer.parseInt(plcMesObject.getPlcParameter("D03ToMES").getValue()); |
| | | } else { |
| | | returnData = Integer.parseInt(plcMesObject.getPlcParameter("D05ToMES").getValue()); |
| | | } |
| | | // returnData = s7control.readWord(outLine, 1).get(0); |
| | | log.info("已向plc第{}次发送进片任务确认,地址为:{},写入的内容为{}", count++, outLine, 2); |
| | | } |
| | | } |
| | | |
| | |
| | | log.info("将出片玻璃{}玻璃状态改为已出片", glassIds); |
| | | bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>() |
| | | .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING) |
| | | .in(BigStorageCageDetails::getGlassId, glassIds)); |
| | | .in(BigStorageCageDetails::getGlassId, glassIds) |
| | | .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT)); |
| | | // int returnData = 0; |
| | | // int count = 1; |
| | | // while (returnData == 0) { |