From 43a254a8c165d4c6d919d044a547da3ea023f5d9 Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Fri, 17 Feb 2023 20:29:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OvenGantryManipulatorDeviceDriver.java | 67 ++++++++++++++++--- 1 file changed, 58 insertions(+), 9 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java index dedb23441..14ff874fb 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/oven_manipulator/OvenGantryManipulatorDeviceDriver.java @@ -528,12 +528,37 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i Instruction instruction = instructionService.findByTaskcode(taskDto.getTask_code()); String start_device_code = instruction.getStart_device_code(); String next_device_code = instruction.getNext_device_code(); - Device device = deviceAppService.findDeviceByCode(next_device_code); + Device nextdevice = deviceAppService.findDeviceByCode(next_device_code); + Device startdevice = deviceAppService.findDeviceByCode(start_device_code); PhotoelectricInspectionSiteDeviceDriver photoelectricInspectionSiteDeviceDriver; - if (device.getDeviceDriver() instanceof PhotoelectricInspectionSiteDeviceDriver){ - photoelectricInspectionSiteDeviceDriver = (PhotoelectricInspectionSiteDeviceDriver) device.getDeviceDriver(); + HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; + + if (startdevice.getDeviceDriver() instanceof PhotoelectricInspectionSiteDeviceDriver){ + photoelectricInspectionSiteDeviceDriver = (PhotoelectricInspectionSiteDeviceDriver) startdevice.getDeviceDriver(); + if (photoelectricInspectionSiteDeviceDriver.getMove() != 1){ + notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位-烘箱对接位:" + photoelectricInspectionSiteDeviceDriver.getDevice_code() + "无货,无法下发指令!"; + return false; + } + } + if (startdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver){ + hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startdevice.getDeviceDriver(); + if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 0){ + notCreateInstMessage = "手动创建指令未下发电气信号原因->取货位-烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code() + "无货,无法下发指令!"; + return false; + } + } + + if (nextdevice.getDeviceDriver() instanceof PhotoelectricInspectionSiteDeviceDriver){ + photoelectricInspectionSiteDeviceDriver = (PhotoelectricInspectionSiteDeviceDriver) nextdevice.getDeviceDriver(); if (photoelectricInspectionSiteDeviceDriver.getMove() != 0){ - notCreateInstMessage = "手动创建指令未下发电气信号原因->烘箱对接位:" + photoelectricInspectionSiteDeviceDriver.getDevice_code() + "有货,无法下发指令!"; + notCreateInstMessage = "手动创建指令未下发电气信号原因->放货位-烘箱对接位:" + photoelectricInspectionSiteDeviceDriver.getDevice_code() + "有货,无法下发指令!"; + return false; + } + } + if (nextdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver){ + hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextdevice.getDeviceDriver(); + if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 1){ + notCreateInstMessage = "手动创建指令未下发电气信号原因->放货位-烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code() + "有货,无法下发指令!"; return false; } } @@ -575,12 +600,36 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i } } if (!ObjectUtil.isEmpty(task)) { - Device device = deviceAppService.findDeviceByCode(task.getNext_device_code()); + Device nextdevice = deviceAppService.findDeviceByCode(task.getNext_device_code()); + Device startdevice = deviceAppService.findDeviceByCode(task.getStart_device_code()); PhotoelectricInspectionSiteDeviceDriver photoelectricInspectionSiteDeviceDriver; - if (device.getDeviceDriver() instanceof PhotoelectricInspectionSiteDeviceDriver){ - photoelectricInspectionSiteDeviceDriver = (PhotoelectricInspectionSiteDeviceDriver) device.getDeviceDriver(); + HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; + if (startdevice.getDeviceDriver() instanceof PhotoelectricInspectionSiteDeviceDriver){ + photoelectricInspectionSiteDeviceDriver = (PhotoelectricInspectionSiteDeviceDriver) startdevice.getDeviceDriver(); + if (photoelectricInspectionSiteDeviceDriver.getMove() != 1){ + notCreateInstMessage = "就绪任务未创建指令原因->取货位-烘箱对接位:" + photoelectricInspectionSiteDeviceDriver.getDevice_code() + "光电无货,无法生成指令!"; + return false; + } + } + if (startdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver){ + hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) startdevice.getDeviceDriver(); + if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 0){ + notCreateInstMessage = "就绪任务未创建指令原因->取货位-烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code() + "光电无货,无法生成指令!"; + return false; + } + } + + if (nextdevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver){ + hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextdevice.getDeviceDriver(); + if (hongXiangConveyorDeviceDriver.getMode() == 0 || hongXiangConveyorDeviceDriver.getMove() == 1){ + notCreateInstMessage = "就绪任务未创建指令原因->放货位-烘箱:" + hongXiangConveyorDeviceDriver.getDevice_code() + "光电有货,无法生成指令!"; + return false; + } + } + if (nextdevice.getDeviceDriver() instanceof PhotoelectricInspectionSiteDeviceDriver){ + photoelectricInspectionSiteDeviceDriver = (PhotoelectricInspectionSiteDeviceDriver) nextdevice.getDeviceDriver(); if (photoelectricInspectionSiteDeviceDriver.getMove() != 0){ - notCreateInstMessage = "就绪任务未创建指令原因->烘箱对接位:" + photoelectricInspectionSiteDeviceDriver.getDevice_code() + "有货,无法生成指令!"; + notCreateInstMessage = "就绪任务未创建指令原因->放货位-烘箱对接位:" + photoelectricInspectionSiteDeviceDriver.getDevice_code() + "光电有货,无法生成指令!"; return false; } } @@ -651,7 +700,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i this.writing("to_target", next_addr); this.writing("to_task", instdto.getInstruction_code()); this.writing("to_command", "1"); - HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; + //HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver; if (nextDevice.getDeviceDriver() instanceof HongXiangConveyorDeviceDriver) { hongXiangConveyorDeviceDriver = (HongXiangConveyorDeviceDriver) nextDevice.getDeviceDriver(); hongXiangConveyorDeviceDriver.writing("to_open_door", "1");