From 35573e53c894d3d789834efcb2dfb4e8f4156570 Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Wed, 11 Jan 2023 16:04:38 +0800 Subject: [PATCH] =?UTF-8?q?smart=20200=E8=87=AA=E5=8A=A8=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/device_driver/DriverTypeEnum.java | 4 +- .../smart_standard_autodoor/ItemProtocol.java | 72 ++++ .../SmartStandardAutodoorDefination.java | 63 ++++ .../SmartStandardAutodoorDeviceDriver.java | 162 ++++++++ .../auto/run/NDCSocketConnectionAutoRun.java | 131 +++++-- .../src/main/resources/config/application.yml | 2 +- qd/src/views/acs/device/config.vue | 54 ++- .../device/driver/smart_standard_autodoor.vue | 352 ++++++++++++++++++ 8 files changed, 809 insertions(+), 31 deletions(-) create mode 100644 hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/ItemProtocol.java create mode 100644 hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDefination.java create mode 100644 hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDeviceDriver.java create mode 100644 qd/src/views/acs/device/driver/smart_standard_autodoor.vue diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java b/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java index 19b9bc6..06fb9a6 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java @@ -88,7 +88,9 @@ public enum DriverTypeEnum { WHXR_WEIGHING(39, "whxr_weighing", "武汉新锐-称重", "conveyor"), - YZJA_SPECIAL(40, "yzja_special", "扬州晶澳专用", "conveyor"); + YZJA_SPECIAL(40, "yzja_special", "扬州晶澳专用", "conveyor"), + + SMART_AUTO_DOOR(41, "smart_standard_autodoor", "标准版-smart自动门", "autodoor"); //驱动索引 private int index; diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/ItemProtocol.java b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/ItemProtocol.java new file mode 100644 index 0000000..8bb860a --- /dev/null +++ b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/ItemProtocol.java @@ -0,0 +1,72 @@ +package org.nl.acs.device_driver.smart_standard_autodoor; + +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +public class ItemProtocol { + public static String item_heartbeat = "heartbeat"; + public static String item_mode = "mode"; + public static String item_action = "action"; + public static String item_error = "error"; + public static String item_to_command = "to_command"; + + + private SmartStandardAutodoorDeviceDriver driver; + + public ItemProtocol(SmartStandardAutodoorDeviceDriver driver) { + this.driver = driver; + } + + public int getHeartbeat() { + return this.getOpcIntegerValue(item_heartbeat); + } + + public int getMode() { + return this.getOpcIntegerValue(item_mode); + } + + public int getAction() { + return this.getOpcIntegerValue(item_action); + } + + public int getError() { + return this.getOpcIntegerValue(item_error); + } + + public int getToCommand() { + return this.getOpcIntegerValue(item_to_command); + } + + + public int getOpcIntegerValue(String protocol) { + Integer value = this.driver.getIntegerValue(protocol); + if (value == null) { + log.error("读取错误!"); + } else { + return value; + } + return 0; + + } + + public static List getReadableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_heartbeat, "心跳", "VB00")); + list.add(new ItemDto(item_mode, "工作状态", "VB01", Boolean.valueOf(true))); + list.add(new ItemDto(item_action, "动作信号", "VB02")); + list.add(new ItemDto(item_error, "报警信号", "VB03")); + return list; + } + + public static List getWriteableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_to_command, "作业命令", "VW04", Boolean.valueOf(true))); + return list; + } + +} + diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDefination.java b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDefination.java new file mode 100644 index 0000000..e31ed6b --- /dev/null +++ b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDefination.java @@ -0,0 +1,63 @@ +package org.nl.acs.device_driver.smart_standard_autodoor; + +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; +import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.defination.OpcDeviceDriverDefination; +import org.nl.acs.opc.Device; +import org.nl.acs.opc.DeviceType; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +/** + * 自动门驱动定义 + */ +@Service +public class SmartStandardAutodoorDefination implements OpcDeviceDriverDefination { + @Override + public String getDriverCode() { + return "smart_standard_autodoor"; + } + + @Override + public String getDriverName() { + return "标准版-smart自动门"; + } + + @Override + public String getDriverDescription() { + return "标准版-smart自动门"; + } + + @Override + public DeviceDriver getDriverInstance(Device device) { + return (new SmartStandardAutodoorDeviceDriver()).setDevice(device).setDriverDefination(this); + + } + + @Override + public Class getDeviceDriverType() { + return SmartStandardAutodoorDeviceDriver.class; + } + + @Override + public List getFitDeviceTypes() { + List types = new LinkedList(); + types.add(DeviceType.conveyor); + return types; + } + + @Override + public List getReadableItemDtos() { + return ItemProtocol.getReadableItemDtos(); + } + + + @Override + public List getWriteableItemDtos() { + return ItemProtocol.getWriteableItemDtos(); + } + +} diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDeviceDriver.java b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDeviceDriver.java new file mode 100644 index 0000000..6409168 --- /dev/null +++ b/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/smart_standard_autodoor/SmartStandardAutodoorDeviceDriver.java @@ -0,0 +1,162 @@ +package org.nl.acs.device_driver.smart_standard_autodoor; + +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import net.sf.json.JSONObject; +import org.nl.acs.device.device_driver.standard_inspect.ReadUtil; +import org.nl.acs.device.service.DeviceService; +import org.nl.acs.device_driver.DeviceDriver; +import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; +import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.opc.Device; +import org.nl.acs.route.service.RouteLineService; +import org.nl.acs.task.service.TaskService; +import org.nl.utils.SpringContextHolder; +import org.openscada.opc.lib.da.Server; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * smart自动门驱动 + */ +@Slf4j +@Data +@RequiredArgsConstructor +public class SmartStandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver { + protected ItemProtocol itemProtocol = new ItemProtocol(this); + @Autowired + InstructionService instructionService = SpringContextHolder.getBean("instructionServiceImpl"); + @Autowired + DeviceService deviceservice = SpringContextHolder.getBean("deviceServiceImpl"); + @Autowired + RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl"); + @Autowired + TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl"); + String container; + String container_type_desc; + String last_container_type_desc; + String last_container; + //放货准备锁 + String putReadyLock = null; + //有货标记 + protected boolean has_goods_tag = false; + String devicecode; + int mode = 0; + int action = 0; + int error = 0; + Boolean iserror = false; + + int move = 0; + int task = 0; + int last_action = 0; + int last_mode = 0; + int last_error = 0; + int last_move = 0; + int last_task = 0; + + boolean hasVehicle = false; + boolean isReady = false; + protected int instruction_num = 0; + protected int instruction_num_truth = 0; + protected boolean hasGoods = false; + boolean isFold = false; + private String assemble_check_tag; + private Boolean sampleMode0; + private Boolean sampleMode3; + private Integer sampleError; + private Boolean sampleOnline; + protected String displayMessage = null; + public int display_message_time_out = 30000; + public Date display_message_time; + protected String current_stage_instruction_message; + protected String last_stage_instruction_message; + Integer heartbeat_tag; + private Date instruction_require_time = new Date(); + private Date instruction_finished_time = new Date(); + + private int instruction_require_time_out; + boolean requireSucess = false; + + private int instruction_finished_time_out; + + int branchProtocol = 0; + + @Override + public Device getDevice() { + return this.device; + } + + + @Override + public void execute() { + String message = null; + + String device_code = this.getDevice().getDevice_code(); + mode = this.itemProtocol.getMode(); + action = this.itemProtocol.getAction(); + error = this.itemProtocol.getError(); + + last_action = action; + last_mode = mode; + last_error = error; + + } + + public synchronized String getStatus() { + JSONObject jo = new JSONObject(); + + if (action == 1) { + jo.put("name", this.getDevice().getDevice_code()); + jo.put("status", "OPEN"); + jo.put("action", action); + jo.put("mode", mode); + + } else if (action == 2) { + jo.put("name", this.getDevice().getDevice_code()); + jo.put("status", "CLOSE"); + jo.put("action", action); + jo.put("mode", mode); + + } else { + jo.put("name", this.getDevice().getDevice_code()); + jo.put("status", "ERROR"); + jo.put("action", action); + jo.put("mode", mode); + } + System.out.println("查询自动门状态,device_code:"+this.getDevice().getDevice_code() +",action:" + action +",mode:"+mode+",param:"+jo); + + return jo.toString(); + } + + + public void writeing(int command) { + String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_command; + + String opcservcerid = this.getDevice().getOpc_server_id(); + Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + itemMap.put(to_command, command); + ReadUtil.write(itemMap, server); + log.info("下发PLC信号:{},{}", to_command, command); + System.out.println("设备:" + devicecode + ",下发PLC信号:" + to_command + ",value:" + command); + + } + + public synchronized void OpenOrClose(String type) { + + //开门 + if ("1".equals(type)) { + writeing(1); + } else { + writeing(2); + } + + } + +} diff --git a/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java b/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java index 44d0ff8..a0f54f0 100644 --- a/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java +++ b/hd/nladmin-system/src/main/java/org/nl/start/auto/run/NDCSocketConnectionAutoRun.java @@ -17,6 +17,7 @@ import org.nl.acs.device_driver.ndxy_special.NdxySpecialDeviceDriver; import org.nl.acs.device_driver.non_line_inspect_site.NonLineInspectSiteDeviceDriver; import org.nl.acs.device_driver.non_line_manipulator_inspect_site.NonLineManipulatorInspectSiteDeviceDriver; import org.nl.acs.device_driver.oumulong_plc.OumulongPlcDeviceDriver; +import org.nl.acs.device_driver.smart_standard_autodoor.SmartStandardAutodoorDeviceDriver; import org.nl.acs.device_driver.standard_autodoor.StandardAutodoorDeviceDriver; import org.nl.acs.device_driver.standard_conveyor_control.StandardCoveyorControlDeviceDriver; import org.nl.acs.device_driver.standard_emptypallet_site.StandardEmptyPalletSiteDeviceDriver; @@ -173,6 +174,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { NonLineInspectSiteDeviceDriver nonLineInspectSiteDeviceDriver; NonLineManipulatorInspectSiteDeviceDriver nonLineManipulatorInspectSiteDeviceDriver; StandardAutodoorDeviceDriver standardAutodoorDeviceDriver; + SmartStandardAutodoorDeviceDriver smartStandardAutodoorDeviceDriver; ManipulatorInspectSiteNDCDeviceDriver manipulatorInspectSiteNDCDeviceDriver; StandardManipulatorInspectSiteDeviceDriver standardManipulatorInspectSiteDeviceDriver; StandardEmptyPalletSiteDeviceDriver standardEmptyPalletSiteDeviceDriver; @@ -411,15 +413,15 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } - if(!inst.getTask_code().startsWith("-")) { + if (!inst.getTask_code().startsWith("-")) { //反馈wms系统动作完成 inst.setFinish_type("1"); instructionService.update(inst); JSONObject feedjo = new JSONObject(); - feedjo.put("status","1"); - feedjo.put("device_code",device_code); - feedjo.put("vehicle_code",inst.getVehicle_code()); - feedjo.put("task_code",inst.getTask_code()); + feedjo.put("status", "1"); + feedjo.put("device_code", device_code); + feedjo.put("vehicle_code", inst.getVehicle_code()); + feedjo.put("task_code", inst.getTask_code()); JSONArray feedja = JSONArray.fromObject(feedjo); acsToWmsService.feedbackActionStatusToWms(feedja); } @@ -605,15 +607,15 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { flag = true; } - if(!inst.getTask_code().startsWith("-")){ + if (!inst.getTask_code().startsWith("-")) { //反馈wms系统动作完成 inst.setFinish_type("1"); instructionService.update(inst); JSONObject feedjo = new JSONObject(); - feedjo.put("status","2"); - feedjo.put("device_code",device_code); - feedjo.put("vehicle_code",inst.getVehicle_code()); - feedjo.put("task_code",inst.getTask_code()); + feedjo.put("status", "2"); + feedjo.put("device_code", device_code); + feedjo.put("vehicle_code", inst.getVehicle_code()); + feedjo.put("task_code", inst.getTask_code()); JSONArray feedja = JSONArray.fromObject(feedjo); acsToWmsService.feedbackActionStatusToWms(feedja); } @@ -658,6 +660,14 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + if (smartStandardAutodoorDeviceDriver.getAction() == 1) { + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof OumulongPlcDeviceDriver) { oumulongPlcDeviceDriver = (OumulongPlcDeviceDriver) device.getDeviceDriver(); oumulongPlcDeviceDriver.OpenOrClose("1"); @@ -707,6 +717,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("2"); + if (smartStandardAutodoorDeviceDriver.getAction() == 2) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof OumulongPlcDeviceDriver) { oumulongPlcDeviceDriver = (OumulongPlcDeviceDriver) device.getDeviceDriver(); oumulongPlcDeviceDriver.OpenOrClose("2"); @@ -830,7 +847,7 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { case 1: TaskDto taskDto = taskService.findByCode(inst.getTask_code()); boolean tag = false; - if (StrUtil.startWith(inst.getTask_code(), "-") || StrUtil.equals(taskDto.getTask_type(),"3")) { + if (StrUtil.startWith(inst.getTask_code(), "-") || StrUtil.equals(taskDto.getTask_type(), "3")) { tag = true; } @@ -1360,6 +1377,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + if (smartStandardAutodoorDeviceDriver.getAction() == 1) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof ManipulatorInspectSiteNDCDeviceDriver) { manipulatorInspectSiteNDCDeviceDriver = (ManipulatorInspectSiteNDCDeviceDriver) device.getDeviceDriver(); String relevance_device_code = manipulatorInspectSiteNDCDeviceDriver.getRelevance_device_code(); @@ -1405,6 +1429,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("2"); + if (smartStandardAutodoorDeviceDriver.getAction() == 2) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof ManipulatorInspectSiteNDCDeviceDriver) { manipulatorInspectSiteNDCDeviceDriver = (ManipulatorInspectSiteNDCDeviceDriver) device.getDeviceDriver(); String relevance_device_code = manipulatorInspectSiteNDCDeviceDriver.getRelevance_device_code(); @@ -1799,6 +1830,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + if (smartStandardAutodoorDeviceDriver.getAction() == 1) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof ManipulatorInspectSiteNDCDeviceDriver) { manipulatorInspectSiteNDCDeviceDriver = (ManipulatorInspectSiteNDCDeviceDriver) device.getDeviceDriver(); String relevance_device_code = manipulatorInspectSiteNDCDeviceDriver.getDevice().getExtraValue().get("relevance_device_code").toString(); @@ -1823,6 +1861,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("2"); + if (smartStandardAutodoorDeviceDriver.getAction() == 2) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof ManipulatorInspectSiteNDCDeviceDriver) { manipulatorInspectSiteNDCDeviceDriver = (ManipulatorInspectSiteNDCDeviceDriver) device.getDeviceDriver(); String relevance_device_code = manipulatorInspectSiteNDCDeviceDriver.getDevice().getExtraValue().get("relevance_device_code").toString(); @@ -2420,6 +2465,14 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + if (smartStandardAutodoorDeviceDriver.getAction() == 1) { + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } //纽迪希亚专用 if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { ndxySpecialDeviceDriver = (NdxySpecialDeviceDriver) device.getDeviceDriver(); @@ -2470,6 +2523,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("2"); + if (smartStandardAutodoorDeviceDriver.getAction() == 2) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } //纽迪希亚专用 if (device.getDeviceDriver() instanceof NdxySpecialDeviceDriver) { ndxySpecialDeviceDriver = (NdxySpecialDeviceDriver) device.getDeviceDriver(); @@ -2991,6 +3051,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + if (smartStandardAutodoorDeviceDriver.getAction() == 1) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof ManipulatorInspectSiteNDCDeviceDriver) { manipulatorInspectSiteNDCDeviceDriver = (ManipulatorInspectSiteNDCDeviceDriver) device.getDeviceDriver(); String relevance_device_code = manipulatorInspectSiteNDCDeviceDriver.getRelevance_device_code(); @@ -3015,6 +3082,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("2"); + if (smartStandardAutodoorDeviceDriver.getAction() == 2) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof ManipulatorInspectSiteNDCDeviceDriver) { manipulatorInspectSiteNDCDeviceDriver = (ManipulatorInspectSiteNDCDeviceDriver) device.getDeviceDriver(); String relevance_device_code = manipulatorInspectSiteNDCDeviceDriver.getRelevance_device_code(); @@ -3333,15 +3407,15 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); flag = true; } - if(!inst.getTask_code().startsWith("-")) { + if (!inst.getTask_code().startsWith("-")) { //反馈wms系统动作完成 inst.setFinish_type("1"); instructionService.update(inst); JSONObject feedjo = new JSONObject(); - feedjo.put("status","1"); - feedjo.put("device_code",device_code); - feedjo.put("vehicle_code",inst.getVehicle_code()); - feedjo.put("task_code",inst.getTask_code()); + feedjo.put("status", "1"); + feedjo.put("device_code", device_code); + feedjo.put("vehicle_code", inst.getVehicle_code()); + feedjo.put("task_code", inst.getTask_code()); JSONArray feedja = JSONArray.fromObject(feedjo); acsToWmsService.feedbackActionStatusToWms(feedja); } @@ -3527,15 +3601,15 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { flag = true; } - if(!inst.getTask_code().startsWith("-")){ + if (!inst.getTask_code().startsWith("-")) { //反馈wms系统动作完成 inst.setFinish_type("1"); instructionService.update(inst); JSONObject feedjo = new JSONObject(); - feedjo.put("status","2"); - feedjo.put("device_code",device_code); - feedjo.put("vehicle_code",inst.getVehicle_code()); - feedjo.put("task_code",inst.getTask_code()); + feedjo.put("status", "2"); + feedjo.put("device_code", device_code); + feedjo.put("vehicle_code", inst.getVehicle_code()); + feedjo.put("task_code", inst.getTask_code()); JSONArray feedja = JSONArray.fromObject(feedjo); acsToWmsService.feedbackActionStatusToWms(feedja); } @@ -3580,6 +3654,14 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + if (smartStandardAutodoorDeviceDriver.getAction() == 1) { + smartStandardAutodoorDeviceDriver.OpenOrClose("1"); + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof OumulongPlcDeviceDriver) { oumulongPlcDeviceDriver = (OumulongPlcDeviceDriver) device.getDeviceDriver(); oumulongPlcDeviceDriver.OpenOrClose("1"); @@ -3635,6 +3717,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable { data = AgvService.sendAgvOneModeInst(phase, index, 0); } } + if (device.getDeviceDriver() instanceof SmartStandardAutodoorDeviceDriver) { + smartStandardAutodoorDeviceDriver = (SmartStandardAutodoorDeviceDriver) device.getDeviceDriver(); + smartStandardAutodoorDeviceDriver.OpenOrClose("2"); + if (smartStandardAutodoorDeviceDriver.getAction() == 2) { + data = AgvService.sendAgvOneModeInst(phase, index, 0); + } + } if (device.getDeviceDriver() instanceof OumulongPlcDeviceDriver) { oumulongPlcDeviceDriver = (OumulongPlcDeviceDriver) device.getDeviceDriver(); oumulongPlcDeviceDriver.OpenOrClose("2"); diff --git a/hd/nladmin-system/src/main/resources/config/application.yml b/hd/nladmin-system/src/main/resources/config/application.yml index 1733121..2e814bc 100644 --- a/hd/nladmin-system/src/main/resources/config/application.yml +++ b/hd/nladmin-system/src/main/resources/config/application.yml @@ -2,7 +2,7 @@ spring: freemarker: check-template-location: false profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: diff --git a/qd/src/views/acs/device/config.vue b/qd/src/views/acs/device/config.vue index 1c2ceee..73d9b80 100644 --- a/qd/src/views/acs/device/config.vue +++ b/qd/src/views/acs/device/config.vue @@ -86,7 +86,8 @@ import special_ordinary_site from './driver/special_ordinary_site' import standard_storage from '@/views/acs/device/driver/standard_storage' import standard_scanner from '@/views/acs/device/driver/standard_scanner' import standard_conveyor_control_with_scanner from '@/views/acs/device/driver/standard_conveyor_control_with_scanner' -import standard_conveyor_control_with_plcscanner from '@/views/acs/device/driver/standard_conveyor_control_with_plcscanner' +import standard_conveyor_control_with_plcscanner +from '@/views/acs/device/driver/standard_conveyor_control_with_plcscanner' import standard_conveyor_control from '@/views/acs/device/driver/standard_conveyor_control' import standard_conveyor_monitor from '@/views/acs/device/driver/standard_conveyor_monitor' import non_line_manipulator_inspect_site from '@/views/acs/device/driver/non_line_manipulator_inspect_site' @@ -113,16 +114,53 @@ import agv_site from '@/views/acs/device/driver/agv_site' import whxr_weighing from '@/views/acs/device/driver/whxr/whxr_weighing' import jmagv from '@/views/acs/device/driver/jmagv' import yzja_special from '@/views/acs/device/driver/yzja_special' +import smart_standard_autodoor from '@/views/acs/device/driver/smart_standard_autodoor' export default { name: 'DeviceConfig', - components: { standard_ordinary_site, standard_inspect_site, standard_autodoor, - standard_emptypallet_site, standard_manipulator_inspect_site, standard_special_inspect_site, - lamp_three_color, standard_storage, special_ordinary_site, standard_scanner, standard_conveyor_control_with_scanner, - standard_conveyor_control_with_plcscanner, standard_conveyor_control, standard_conveyor_monitor, weighing_site, machines_site, non_line_manipulator_inspect_site, - non_line_inspect_site, manipulator_inspect_site_NDC, feedback_agv_status_site, standard_manipulator_stacking_site, - standard_photoelectric_inspect_site, ndxy_special, hailiang_labeling, ndxy_special_two, whxr_storage_conveyor, whxr_ball_mill, whxr_spary_tower, whxr_weight, - electric_fence, oumulong_plc, traffic_light, standard_rgv, ykbk_special, ssj_cache_site, magic3, agv_site, whxr_weighing, jmagv, yzja_special }, + components: { + standard_ordinary_site, + standard_inspect_site, + standard_autodoor, + smart_standard_autodoor, + standard_emptypallet_site, + standard_manipulator_inspect_site, + standard_special_inspect_site, + lamp_three_color, + standard_storage, + special_ordinary_site, + standard_scanner, + standard_conveyor_control_with_scanner, + standard_conveyor_control_with_plcscanner, + standard_conveyor_control, + standard_conveyor_monitor, + weighing_site, + machines_site, + non_line_manipulator_inspect_site, + non_line_inspect_site, + manipulator_inspect_site_NDC, + feedback_agv_status_site, + standard_manipulator_stacking_site, + standard_photoelectric_inspect_site, + ndxy_special, + hailiang_labeling, + ndxy_special_two, + whxr_storage_conveyor, + whxr_ball_mill, + whxr_spary_tower, + whxr_weight, + electric_fence, + oumulong_plc, + traffic_light, + standard_rgv, + ykbk_special, + ssj_cache_site, + magic3, + agv_site, + whxr_weighing, + jmagv, + yzja_special + }, dicts: ['device_type'], mixins: [crud], data() { diff --git a/qd/src/views/acs/device/driver/smart_standard_autodoor.vue b/qd/src/views/acs/device/driver/smart_standard_autodoor.vue new file mode 100644 index 0000000..41e2f46 --- /dev/null +++ b/qd/src/views/acs/device/driver/smart_standard_autodoor.vue @@ -0,0 +1,352 @@ + + + + +