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 d7e5c3c39..789f3aea4 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 @@ -113,6 +113,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme boolean requireApplyLaStrangulationSuccess = false; boolean requireEmptyInSuccess = false; boolean requireEmptyOutSuccess = false; + boolean requiresShipDeviceUpdate = false; private int instruction_finished_time_out; int branchProtocol = 0; @@ -161,6 +162,9 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme message = null; inst_message = null; this.clearWrite(); + if (last_move == 1) { + this.requiresShipDeviceUpdate = false; + } } logServer.deviceItemValue(this.device_code, "move", String.valueOf(move)); logServer.deviceExecuteLog(this.device_code, "", "", "信号move:" + last_move + "->" + move); @@ -239,10 +243,6 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme message = ""; Instruction instruction = null; List toInstructions; - if (last_move == 1 && move == 0) { - // 有货变无货请求lms - this.shipDeviceUpdate(); - } // if (mode == 2 && move != 0 && task > 0) { @@ -269,6 +269,9 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme if (move > 0 && !requireSucess) { instruction_require(); } + if (!requiresShipDeviceUpdate) { + this.shipDeviceUpdate(); + } break; case 4: //申请捆扎 @@ -320,6 +323,8 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme }}; acsToWmsService.shipDeviceUpdate(param); + + this.requiresShipDeviceUpdate = true; }