| | |
| | | @Scheduled(fixedDelay = 1000) |
| | | public void rawStorageTask() throws Exception { |
| | | S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class); |
| | | log.info("仓储通讯读取{}", S7DataCCOne); |
| | | String requestWord = S7DataCCOne.getRequest().toString(); |
| | | String confireWord = S7DataCCOne.getConfirmation().toString(); |
| | | String reportWord = S7DataCCOne.getReportWord().toString(); |
| | | String taskWord = S7DataCCOne.getTaskWord().toString(); |
| | | String requestValue = requestWord; |
| | | // ReadWriteEntity requestWord = miloService.readFromOpcUa("CC.CC.request"); |
| | | // ReadWriteEntity confireWord = miloService.readFromOpcUa("CC.CC.confirmation"); |
| | | // ReadWriteEntity reportWord = miloService.readFromOpcUa("CC.CC.reportWord"); |
| | | // ReadWriteEntity taskWord = miloService.readFromOpcUa("CC.CC.taskWord"); |
| | | // String requestValue = requestWord.getValue() + ""; |
| | | if ("0".equals(requestValue)) { |
| | | if ("1".equals(confireWord) && "0".equals(reportWord)) { |
| | | // if ("1".equals(confireWord.getValue() + "") && "0".equals(reportWord.getValue() + "")) { |
| | | S7DataCC s7Data = new S7DataCC(); |
| | | s7Data.setConfirmation(0); |
| | | s7SerializerCC.write(s7Data); |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.confirmation", 0)); |
| | | // miloService.writeToOpcWord(list); |
| | | } |
| | | if ("1".equals(taskWord)) { |
| | | // if ("1".equals(taskWord.getValue() + "")) { |
| | | S7DataCC s7Data = new S7DataCC(); |
| | | s7Data.setTaskWord(0); |
| | | s7Data.setStartSlot(0); |
| | | s7Data.setEndSlot(0); |
| | | s7SerializerCC.write(s7Data); |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskWord", 0)); |
| | | // list.add(generateReadWriteEntity("CC.CC.startSlot", 0)); |
| | | // list.add(generateReadWriteEntity("CC.CC.endSlot", 0)); |
| | | // miloService.writeToOpcWord(list); |
| | | } |
| | | return; |
| | | } |
| | |
| | | public void rawStorageInCar() throws Exception { |
| | | S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class); |
| | | String value = S7DataCCOne.getInCar().toString(); |
| | | // ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.inCar"); |
| | | // String value = entity.getValue() + ""; |
| | | if (!"1".equals(value)) { |
| | | log.info("大车上没有架子"); |
| | | return; |
| | |
| | | public void rawStorageFinish() throws Exception { |
| | | S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class); |
| | | String value = S7DataCCOne.getReportWord().toString(); |
| | | // ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.reportWord"); |
| | | // String value = entity.getValue() + ""; |
| | | if ("0".equals(value)) { |
| | | log.info("当前任务未汇报,结束本次任务"); |
| | | return; |
| | |
| | | S7DataCC s7Data = new S7DataCC(); |
| | | s7Data.setConfirmation(1); |
| | | s7SerializerCC.write(s7Data); |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.confirmation", 1)); |
| | | // miloService.writeToOpcWord(list); |
| | | } |
| | | |
| | | private boolean isHasRunningTask() { |
| | |
| | | //生成出库任务 |
| | | rawGlassStorageDetailsService.generateTask(startSlot, lefting, startSlot, rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT); |
| | | |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskWord", 1)); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskSending", 1)); |
| | | // list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot)); |
| | | // list.add(generateReadWriteEntity("CC.CC.endSlot", lefting)); |
| | | // miloService.writeToOpcWord(list); |
| | | |
| | | //修改出片任务状态 |
| | | rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot()) |
| | |
| | | return Boolean.FALSE; |
| | | } |
| | | //生成复位任务 |
| | | |
| | | // rawGlassStorageDetailsService.generatask(rawGlassList.get(0).getSlot(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH); |
| | | |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskWord", 1)); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskSending", 1)); |
| | | // list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot)); |
| | | // list.add(generateReadWriteEntity("CC.CC.endSlot", lefting)); |
| | | // miloService.writeToOpcWord(list); |
| | | |
| | | //修改复位任务状态 |
| | | rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | |
| | | RawGlassStorageDetails details = rawGlassList.get(0); |
| | | rawGlassStorageDetailsService.generateTask(details.getSlot(), details.getShelf(), details.getShelf(), |
| | | details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_IN); |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskWord", 1)); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskSending", 1)); |
| | | // list.add(generateReadWriteEntity("CC.CC.startSlot", details.getSlot())); |
| | | // list.add(generateReadWriteEntity("CC.CC.endSlot", details.getShelf())); |
| | | // miloService.writeToOpcWord(list); |
| | | //生成工位任务,将吊装位的玻璃状态改位进笼中 |
| | | //修改吊装位的原片状态为103 出片中 |
| | | //修改出片任务状态 |
| | |
| | | RawGlassStorageDetails twoLoadStation = loadStationList.stream().filter(e -> e.getSlot().equals(loadStation.get(1))).findFirst().orElse(null); |
| | | if (null == twoLoadStation) { |
| | | //按照尺寸生成二号位上片任务信息 |
| | | // LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName); |
| | | S7DataSP loadTask = new S7DataSP(); |
| | | if (stationCell == 5) { |
| | | loadTask = s7SerializerSPOne.read(S7DataSP.class); |
| | |
| | | } else { |
| | | //todo:当二号为的尺寸大于0时,是否执行调度任务,更换当前原片的尺寸,等待下一次任务的直接执行;还是继续等待,当尺寸不一样,等待一号工位的进出库调度任务。 |
| | | if (twoLoadStation.getRemainQuantity() > 0) { |
| | | // LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName); |
| | | S7DataSP loadTask = new S7DataSP(); |
| | | if (stationCell == 5) { |
| | | loadTask = s7SerializerSPOne.read(S7DataSP.class); |
| | |
| | | return Boolean.TRUE; |
| | | } |
| | | } |
| | | // return Boolean.FALSE; |
| | | } else { |
| | | log.info("2号上片位仅剩空架子,1号上片位生成出库调度任务"); |
| | | rawGlassStorageDetailsService.generateTask(loadStation.get(0), oneLoadStation.getShelf(), oneLoadStation.getShelf(), oneLoadStation.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH); |