| | |
| | | import com.mes.rawglassstation.service.RawGlassStorageStationService; |
| | | import com.mes.rawglasstask.entity.RawGlassStorageTask; |
| | | import com.mes.rawglasstask.service.RawGlassStorageTaskService; |
| | | import com.mes.s7.entity.S7Data; |
| | | import com.mes.s7.entity.S7DataCC; |
| | | import com.mes.s7.entity.S7DataSP; |
| | | import com.mes.uppattenusage.entity.UpPattenUsage; |
| | | import com.mes.uppattenusage.entity.vo.UpPattenUsageVO; |
| | | import com.mes.uppattenusage.mapper.UpPattenUsageMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Qualifier; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | @Autowired(required = false) |
| | | private MiloService miloService; |
| | | |
| | | @Autowired(required = false) |
| | | S7Serializer s7Serializer; |
| | | @Autowired |
| | | @Qualifier("s7SerializerCC") |
| | | S7Serializer s7SerializerCC; |
| | | |
| | | @Autowired |
| | | @Qualifier("s7SerializerSPOne") |
| | | private S7Serializer s7SerializerSPOne; |
| | | |
| | | @Autowired |
| | | @Qualifier("s7SerializerSPTwo") |
| | | private S7Serializer s7SerializerSPTwo; |
| | | |
| | | |
| | | private static final String LOAD_GLASS_DEVICE_ONE_TASK = "load_glass_device_one_task"; |
| | |
| | | |
| | | @Scheduled(fixedDelay = 1000) |
| | | public void rawStorageTask() throws Exception { |
| | | S7Data S7DataCCOne = s7Serializer.read(S7Data.class); |
| | | S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class); |
| | | String requestWord = S7DataCCOne.getRequest().toString(); |
| | | String confireWord = S7DataCCOne.getConfirmation().toString(); |
| | | String reportWord = S7DataCCOne.getReportWord().toString(); |
| | |
| | | if ("0".equals(requestValue)) { |
| | | if ("1".equals(confireWord) && "0".equals(reportWord)) { |
| | | // if ("1".equals(confireWord.getValue() + "") && "0".equals(reportWord.getValue() + "")) { |
| | | S7Data s7Data = new S7Data(); |
| | | S7DataCC s7Data = new S7DataCC(); |
| | | s7Data.setConfirmation((short) 0); |
| | | s7Serializer.write(s7Data); |
| | | 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() + "")) { |
| | | S7Data s7Data = new S7Data(); |
| | | S7DataCC s7Data = new S7DataCC(); |
| | | s7Data.setTaskWord((short) 0); |
| | | s7Data.setStartSlot((short) 0); |
| | | s7Data.setEndSlot((short) 0); |
| | | s7Serializer.write(s7Data); |
| | | s7SerializerCC.write(s7Data); |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.taskWord", 0)); |
| | | // list.add(generateReadWriteEntity("CC.CC.startSlot", 0)); |
| | |
| | | |
| | | @Scheduled(fixedDelay = 1000) |
| | | public void rawStorageInCar() throws Exception { |
| | | S7Data S7DataCCOne = s7Serializer.read(S7Data.class); |
| | | S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class); |
| | | String value = S7DataCCOne.getInCar().toString(); |
| | | // ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.inCar"); |
| | | // String value = entity.getValue() + ""; |
| | |
| | | |
| | | @Scheduled(fixedDelay = 1000) |
| | | public void rawStorageFinish() throws Exception { |
| | | S7Data S7DataCCOne = s7Serializer.read(S7Data.class); |
| | | S7DataCC S7DataCCOne = s7SerializerCC.read(S7DataCC.class); |
| | | String value = S7DataCCOne.getReportWord().toString(); |
| | | // ReadWriteEntity entity = miloService.readFromOpcUa("CC.CC.reportWord"); |
| | | // String value = entity.getValue() + ""; |
| | |
| | | .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_FAILURE)); |
| | | |
| | | } |
| | | S7Data s7Data = new S7Data(); |
| | | S7DataCC s7Data = new S7DataCC(); |
| | | s7Data.setConfirmation((short) 1); |
| | | s7Serializer.write(s7Data); |
| | | s7SerializerCC.write(s7Data); |
| | | // List<ReadWriteEntity> list = new ArrayList<>(); |
| | | // list.add(generateReadWriteEntity("CC.CC.confirmation", 1)); |
| | | // miloService.writeToOpcWord(list); |
| | |
| | | RawGlassStorageDetails twoLoadStation = loadStationList.stream().filter(e -> e.getSlot().equals(loadStation.get(1))).findFirst().orElse(null); |
| | | if (null == twoLoadStation) { |
| | | //按照尺寸生成二号位上片任务信息 |
| | | LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName); |
| | | // LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName); |
| | | S7DataSP loadTask=new S7DataSP(); |
| | | if(stationCell == 5){ |
| | | loadTask=s7SerializerSPOne.read(S7DataSP.class); |
| | | }else{ |
| | | loadTask=s7SerializerSPTwo.read(S7DataSP.class); |
| | | } |
| | | RawGlassStorageDetails rawDetails = null; |
| | | if (oneLoadStation.getRemainQuantity() > (loadTask.getTotalCount() + loadTask.getDamageCount())) { |
| | | usageVOS = upListMap.get("2"); |
| | |
| | | } else { |
| | | //todo:当二号为的尺寸大于0时,是否执行调度任务,更换当前原片的尺寸,等待下一次任务的直接执行;还是继续等待,当尺寸不一样,等待一号工位的进出库调度任务。 |
| | | if (twoLoadStation.getRemainQuantity() > 0) { |
| | | LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName); |
| | | // LoadGlassDeviceTask loadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName); |
| | | S7DataSP loadTask=new S7DataSP(); |
| | | if(stationCell == 5){ |
| | | loadTask=s7SerializerSPOne.read(S7DataSP.class); |
| | | }else{ |
| | | loadTask=s7SerializerSPTwo.read(S7DataSP.class); |
| | | } |
| | | if (oneLoadStation.getRemainQuantity() > (loadTask.getTotalCount() + loadTask.getDamageCount())) { |
| | | usageVOS = upListMap.get("2"); |
| | | if (CollectionUtils.isEmpty(usageVOS)) { |