diff --git a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndcone/AgvNdcOneDeviceDriver.java index f03dd8f..8d617ec 100644 --- a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -213,6 +213,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic standardOrdinarySiteDeviceDriver.setAgvphase(phase); standardOrdinarySiteDeviceDriver.setIndex(index); standardOrdinarySiteDeviceDriver.setInst(inst); + data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); } if (device.getDeviceDriver() instanceof UnpackingMachineDeviceDriver) { @@ -225,7 +226,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } catch (Exception e) { e.printStackTrace(); } - if (unpackingMachineDeviceDriver.getAction() == 1) { + if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0 + && unpackingMachineDeviceDriver.getMove() == 1) { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) @@ -234,7 +236,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } else { - message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件"; + message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode() + + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + + ",光电信号:" + unpackingMachineDeviceDriver.getMove() + + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) .content(message) @@ -254,7 +259,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } catch (Exception e) { e.printStackTrace(); } - if (unpackingConveyorDeviceDriver.getAction() == 1) { + + if (unpackingConveyorDeviceDriver.getAction() == 1 && unpackingConveyorDeviceDriver.getMode() > 0 + && unpackingConveyorDeviceDriver.getMove() > 0) { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) @@ -263,7 +270,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } else { - message = "设备号:" + device_code + ",动作信号:" + unpackingConveyorDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件"; + message = "设备号:" + device_code + ",模式信号:" + unpackingConveyorDeviceDriver.getMode() + + ",动作信号:" + unpackingConveyorDeviceDriver.getAction() + + ",光电信号:" + unpackingConveyorDeviceDriver.getMove() + + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) .content(message) @@ -513,7 +523,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } catch (Exception e) { e.printStackTrace(); } - if (unpackingMachineDeviceDriver.getAction() == 1) { + if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0 + && unpackingMachineDeviceDriver.getMove() == 0) { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) @@ -522,7 +533,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } else { - message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件"; + message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode() + + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + + ",光电信号:" + unpackingMachineDeviceDriver.getMove() + + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) .content(message) @@ -788,7 +802,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } catch (Exception e) { e.printStackTrace(); } - if (unpackingMachineDeviceDriver.getAction() == 1) { + if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0 + && unpackingMachineDeviceDriver.getMove() > 0) { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) @@ -797,7 +812,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } else { - message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件"; + message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode() + + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + + ",光电信号:" + unpackingMachineDeviceDriver.getMove() + + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) .content(message) @@ -1065,7 +1083,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } catch (Exception e) { e.printStackTrace(); } - if (unpackingMachineDeviceDriver.getAction() == 1) { + if (unpackingMachineDeviceDriver.getAction() == 1 && unpackingMachineDeviceDriver.getMode() > 0 + && unpackingMachineDeviceDriver.getMove() == 0) { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) @@ -1074,7 +1093,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic logDto.setLog_level(4); luceneExecuteLogService.deviceExecuteLog(logDto); } else { - message = "设备号:" + device_code + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + ",指令号:" + ikey + "不满足取货条件"; + message = "设备号:" + device_code + ",模式信号:" + unpackingMachineDeviceDriver.getMode() + + ",动作信号:" + unpackingMachineDeviceDriver.getAction() + + ",光电信号:" + unpackingMachineDeviceDriver.getMove() + + ",指令号:" + ikey + "不满足取货条件"; LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) .content(message) @@ -1093,7 +1115,8 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic } catch (Exception e) { e.printStackTrace(); } - if (unpackingConveyorDeviceDriver.getAction() == 1) { + if (unpackingConveyorDeviceDriver.getAction() == 1 && unpackingConveyorDeviceDriver.getMove() == 0 + && unpackingConveyorDeviceDriver.getMode() > 0) { data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0, 0, 0); LuceneLogDto logDto = LuceneLogDto.builder() .device_code(this.getDeviceCode()) diff --git a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/production_line_docking_station/ProductionLineDockingStationDeviceDriver.java b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/production_line_docking_station/ProductionLineDockingStationDeviceDriver.java index 1692449..28e85c8 100644 --- a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/production_line_docking_station/ProductionLineDockingStationDeviceDriver.java +++ b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/production_line_docking_station/ProductionLineDockingStationDeviceDriver.java @@ -207,6 +207,7 @@ public class ProductionLineDockingStationDeviceDriver extends AbstractOpcDeviceD @Override public JSONObject getDeviceStatusName() throws Exception { + // 设备监控数据 JSONObject jo = new JSONObject(); String mode = ""; String move = ""; @@ -243,6 +244,7 @@ public class ProductionLineDockingStationDeviceDriver extends AbstractOpcDeviceD @Override public void setDeviceStatus(JSONObject data) { + // 设备监控改动 } diff --git a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_conveyor/UnpackingConveyorDeviceDriver.java b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_conveyor/UnpackingConveyorDeviceDriver.java index c73f78b..2de557e 100644 --- a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_conveyor/UnpackingConveyorDeviceDriver.java +++ b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_conveyor/UnpackingConveyorDeviceDriver.java @@ -40,9 +40,10 @@ public class UnpackingConveyorDeviceDriver extends AbstractOpcDeviceDriver imple @Resource private AcsToWmsService acsToWmsService; + /** + * 请求时间 + */ private Date instruction_require_time = new Date(); - private Date instruction_finished_time = new Date(); - private Date instruction_apply_time = new Date(); private int instruction_require_time_out = 3000; /** 心跳 */ @@ -69,6 +70,7 @@ public class UnpackingConveyorDeviceDriver extends AbstractOpcDeviceDriver imple String message = null; Boolean iserror = false; String device_code; + Boolean flag = false; @Override public Device getDevice() { @@ -85,15 +87,30 @@ public class UnpackingConveyorDeviceDriver extends AbstractOpcDeviceDriver imple move = itemProtocol.getMove(); error = itemProtocol.getError(); - if (mode == 5 && mode != last_mode) { - // 1、请求LMS横移 - ApplyPlugPullSitResponse response = acsToWmsService.actionMove(new JSONObject().fluentPut("device_code", device_code)); - if (response.getCode() == 200) { - // 2、复位 - this.writing("to_command", 5); + if (mode != last_mode && flag) { + flag = false; + } + + Date date = new Date(); + if (date.getTime() - this.instruction_require_time.getTime() + < (long) this.instruction_require_time_out) { + log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); + return; + } else { + this.instruction_require_time = date; + if (mode == 5 && !flag) { + // 1、请求LMS横移 + ApplyPlugPullSitResponse response = acsToWmsService.actionMove(new JSONObject().fluentPut("device_code", device_code)); + if (response.getCode() == 200) { + // 2、复位 + this.writing("to_command", 5); + flag = true; + } } } + + } catch (Exception e) { return; } diff --git a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/ItemProtocol.java b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/ItemProtocol.java index f598b56..d43b533 100644 --- a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/ItemProtocol.java +++ b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/ItemProtocol.java @@ -25,6 +25,7 @@ public class ItemProtocol { * 工作模式 */ public static String item_mode = "mode"; + public static String item_move = "move"; /** * 动作信号 */ @@ -60,6 +61,9 @@ public class ItemProtocol { public int getMode() { return this.getOpcIntegerValue(item_mode); } + public int getMove() { + return this.getOpcIntegerValue(item_move); + } public int getAction() { return this.getOpcIntegerValue(item_action); diff --git a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/UnpackingMachineDeviceDriver.java b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/UnpackingMachineDeviceDriver.java index 2222c1d..e416f57 100644 --- a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/UnpackingMachineDeviceDriver.java +++ b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/zz_driver/unpacking_machine/UnpackingMachineDeviceDriver.java @@ -48,6 +48,8 @@ public class UnpackingMachineDeviceDriver extends AbstractOpcDeviceDriver implem /** 工作模式 */ int mode = 0; int last_mode = 0; + int move = 0; + int last_move = 0; /** 动作信号: 0-不允许取放;1-允许取放 */ int action = 0; int last_action = 0; @@ -86,6 +88,7 @@ public class UnpackingMachineDeviceDriver extends AbstractOpcDeviceDriver implem action = itemProtocol.getAction(); gross_weight = itemProtocol.getGross_weight(); net_weight = itemProtocol.getNet_weight(); + move = itemProtocol.getMove(); } catch (Exception e) { return; @@ -109,6 +112,7 @@ public class UnpackingMachineDeviceDriver extends AbstractOpcDeviceDriver implem last_net_weight = net_weight; last_to_command = to_command; last_to_operate = to_operate; + last_move = move; } diff --git a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/DeviceStageMonitor.java b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/DeviceStageMonitor.java index 43d29c9..a96ef26 100644 --- a/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/DeviceStageMonitor.java +++ b/acs/acs2/nladmin-system/nlsso-server/src/main/java/org/nl/acs/monitor/DeviceStageMonitor.java @@ -10,15 +10,16 @@ import com.alibaba.fastjson.JSONObject; public interface DeviceStageMonitor { /** * 根据设备获取设备状态(中文名:如故障、联机等) + * * @return * @throws Exception */ - public JSONObject getDeviceStatusName() throws Exception; + JSONObject getDeviceStatusName() throws Exception; /** * 根据舞台数据修改设备驱动状态 * * @param data */ - public void setDeviceStatus(JSONObject data); + void setDeviceStatus(JSONObject data); }