From 1eedcd50ad7aa66dc4595fde6807a2d1816586c4 Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Mon, 26 Dec 2022 21:35:18 +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 --- .../SiemensConveyorDeviceDriver.java | 10 ++++++++-- .../SlitTwoManipulatorDeviceDriver.java | 19 ++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java index b8bff8054..ecd089c8a 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/siemens_conveyor/SiemensConveyorDeviceDriver.java @@ -219,7 +219,6 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme } - public boolean exe_error() { if (this.error == 0) { return true; @@ -242,6 +241,14 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme protected void thingToNothing() throws Exception { this.setRequireSucess(false); this.setApplySucess(false); + this.writing("to_command", "0"); + this.writing("to_target", "0"); + this.writing("to_container_type", "0"); + this.writing("to_task", "0"); + this.writing("to_strap_times", "0"); + this.writing("to_length", "0"); + this.writing("to_weight", "0"); + this.writing("to_height", "0"); } @@ -332,7 +339,6 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme /** * 请求指令 - * */ public synchronized boolean instruction_require() throws Exception { Date date = new Date(); diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java index 56b756faa..156526af2 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/slit_two_manipulator/SlitTwoManipulatorDeviceDriver.java @@ -292,6 +292,10 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl start_device_code = inst1.getStart_device_code2(); } Device startDevice = deviceAppservice.findDeviceByCode(start_device_code); + if (ObjectUtil.isEmpty(startDevice)) { + feedMessage = "后工位取货位:" + start_device_code + "为空!"; + return; + } SiemensConveyorDeviceDriver siemensConveyorDeviceDriver; if (startDevice.getDeviceDriver() instanceof SiemensConveyorDeviceDriver) { siemensConveyorDeviceDriver = (SiemensConveyorDeviceDriver) startDevice.getDeviceDriver(); @@ -419,14 +423,23 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl //单任务/双任务 前工位放货时判断放货位光电信号 if (mode == 3 && action1 == 3 && move1 == 1 && task1 > 0) { Instruction inst1 = instructionService.findByCodeFromCache(String.valueOf(task1)); - String next_device_code = inst1.getNext_device_code(); + String next_device_code = ""; + if (type == 1) { + next_device_code = inst1.getNext_device_code(); + } else if (type == 3) { + next_device_code = inst1.getNext_device_code2(); + } Device nextDevice = deviceAppservice.findDeviceByCode(next_device_code); + if (ObjectUtil.isEmpty(nextDevice)) { + feedMessage = "前工位放货位:" + next_device_code + "为空!"; + return; + } SiemensConveyorDeviceDriver siemensConveyorDeviceDriver; if (nextDevice.getDeviceDriver() instanceof SiemensConveyorDeviceDriver) { siemensConveyorDeviceDriver = (SiemensConveyorDeviceDriver) nextDevice.getDeviceDriver(); int move = siemensConveyorDeviceDriver.getMove(); int mode = siemensConveyorDeviceDriver.getMode(); - if (move == 0 && mode == 2) { + if (move == 1 && mode == 2) { this.writing("to_command1", "4"); if (type == 1) { this.setNow_steps_type1(5); @@ -436,7 +449,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl } else { log.warn("后工位放货位有货,放货位:{},mode:{},move:{}", next_device_code, mode, move); if (this.getNow_steps_type1() == 4 || this.getNow_steps_type3() == 8) { - feedMessage = "请检查输送线:move == 0 && mode == 2"; + feedMessage = "请检查输送线:move == 1 && mode == 2"; } } }