diff --git a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java index 0a44378bf..0da5c506f 100644 --- a/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/two_conveyor/oven_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -542,7 +542,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } if (startdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startdevice.getDeviceDriver(); - if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 0) { + if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 0 || hongXiangConveyorDeviceDriver.getError() > 0) { notCreateInstMessage = "就绪任务未创建指令原因->取货位-烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code() + "光电无货或者脱机,无法生成指令!"; return false; } @@ -550,7 +550,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i if (nextdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextdevice.getDeviceDriver(); - if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 1) { + if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 1 || hongXiangConveyorDeviceDriver.getError() > 0) { notCreateInstMessage = "就绪任务未创建指令原因->放货位-烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code() + "光电有货或者脱机,无法生成指令!"; return false; } @@ -947,6 +947,18 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i // EXECUTOR.execute(() -> { toCloseDoor(device); // }); + //判断关联的同一列烘箱设备是否都关门 都关门返回false,有一个不关门就返回true + boolean isCloseDoor = this.judgeCloseDoor(inst2.getStart_device_code(), inst2.getNext_device_code()); + //如果未关门结束 + if (isCloseDoor) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("下发行架取货完成不满足条件:同一列烘箱有开门") + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + return; + } int mode = hongXiangConveyorDeviceDriver.getMode(); int door = hongXiangConveyorDeviceDriver.getDoor(); int action = hongXiangConveyorDeviceDriver.getAction(); @@ -1109,6 +1121,18 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i // EXECUTOR.execute(() -> { toCloseDoor(nextDevice); // }); + //判断关联的同一列烘箱设备是否都关门 都关门返回false,有一个不关门就返回true + boolean isCloseDoor = this.judgeCloseDoor(inst2.getStart_device_code(), inst2.getNext_device_code()); + //如果未关门结束 + if (isCloseDoor) { + LuceneLogDto logDto = LuceneLogDto.builder() + .device_code(device_code) + .content("下发行架放货完成不满足条件:同一列烘箱有开门") + .build(); + logDto.setLog_level(4); + luceneExecuteLogService.deviceExecuteLog(logDto); + return; + } if (StrUtil.isNotEmpty(taskDto.getOven_time())) { //下发烘箱时间 int time = Integer.parseInt(taskDto.getOven_time());