From 358191d905e28e69ea79300d1c3a1b2b1e715435 Mon Sep 17 00:00:00 2001 From: psh Date: Tue, 22 Aug 2023 16:08:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApplicationAutoInitialExecuter.java | 5 +- .../nl/acs/auto/run/AutoRunServiceImpl.java | 16 +- .../service/impl/DeviceServiceImpl.java | 3 - .../standard_autodoor/ItemProtocol.java | 18 +- .../StandardAutodoorDeviceDriver.java | 11 +- .../standard_inspect_site/ItemProtocol.java | 27 ++- .../StandardInspectSiteDeviceDriver.java | 8 + .../service/impl/InstructionServiceImpl.java | 3 - .../org/nl/acs/opc/DeviceAppServiceImpl.java | 6 +- .../nl/acs/opc/DeviceManageServiceImpl.java | 3 - .../org/nl/acs/opc/OpcServerServiceImpl.java | 212 +++++++++--------- .../service/impl/RouteLineServiceImpl.java | 4 - .../task/service/impl/TaskServiceImpl.java | 4 - 13 files changed, 161 insertions(+), 159 deletions(-) diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java index f596e49..61011f4 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/initial/ApplicationAutoInitialExecuter.java @@ -10,9 +10,6 @@ import java.util.List; @Component public class ApplicationAutoInitialExecuter { - /** - * 获取所有实现ApplicationAutoInitial接口的bean对象 - */ @Autowired(required = false) List applicationAutoInitial; //是否启动 @@ -28,7 +25,7 @@ public class ApplicationAutoInitialExecuter { while (it.hasNext()) { ApplicationAutoInitial service = (ApplicationAutoInitial) it.next(); - service.autoInitial(); // 执行实现的autoInitial方法 + service.autoInitial(); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java index 27cae1f..9ef5d6c 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/AutoRunServiceImpl.java @@ -13,18 +13,15 @@ import org.springframework.stereotype.Service; import java.util.*; -/** - * 初始化启动线程 - */ @Service @Slf4j public class AutoRunServiceImpl implements AutoRunService, ApplicationAutoInitial { @Autowired(required = false) private List abstractAutoRunnableList; - private List thread_autoRun = new ArrayList(); // 线程类 - private List autoRun_code_index = new ArrayList(); // key - private List threads = new ArrayList(); // 运行线程 - private List thread_code_index = new ArrayList(); // key + private List autoRun_code_index = new ArrayList(); + private List threads = new ArrayList(); + private List thread_autoRun = new ArrayList(); + private List thread_code_index = new ArrayList(); @Override public synchronized void startThread(String threadCode) { @@ -175,13 +172,8 @@ public class AutoRunServiceImpl implements AutoRunService, ApplicationAutoInitia : new LinkedList(); } - /** - * 自动初始化线程 - * @throws Exception - */ @Override public void autoInitial() throws Exception { - // 获取所有的类型为AbstractAutoRunnable的bean List list = this.getAllAutoThread(); Iterator it = list.iterator(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java index 8c77122..26cbfaf 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device/service/impl/DeviceServiceImpl.java @@ -1776,9 +1776,6 @@ public class DeviceServiceImpl extends CommonServiceImpl i this.reload(); } - /** - * 加载货位信息 - */ @Override public void reload() { this.storageCells = queryAllStorageCell(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java index 6303cd7..c3cb409 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/ItemProtocol.java @@ -10,9 +10,11 @@ import java.util.List; public class ItemProtocol { public static String item_heartbeat = "heartbeat"; public static String item_mode = "mode"; + public static String item_state = "state"; public static String item_action = "action"; public static String item_error = "error"; public static String item_to_command = "to_command"; + public static String item_to_state ="to_state"; private StandardAutodoorDeviceDriver driver; @@ -41,6 +43,10 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_command); } + public int getToState() { + return this.getOpcIntegerValue(item_to_state); + } + public int getOpcIntegerValue(String protocol) { Integer value = this.driver.getIntegeregerValue(protocol); @@ -55,16 +61,18 @@ public class ItemProtocol { public static List getReadableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_heartbeat, "心跳", "DB51.B0")); - list.add(new ItemDto(item_mode, "工作状态", "DB51.B1", Boolean.valueOf(true))); - list.add(new ItemDto(item_action, "动作信号", "DB51.B2")); - list.add(new ItemDto(item_error, "报警信号", "DB51.B4")); + list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0")); + list.add(new ItemDto(item_mode, "工作模式", "DB600.B1", Boolean.valueOf(true))); + list.add(new ItemDto(item_state, "工作状态", "DB600.B2")); + list.add(new ItemDto(item_action, "动作信号", "DB600.B3")); + list.add(new ItemDto(item_error, "报警信号", "DB600.B4")); return list; } public static List getWriteableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_to_command, "作业命令", "DB52.W2", Boolean.valueOf(true))); + list.add(new ItemDto(item_to_command, "作业命令", "DB601.W2", Boolean.valueOf(true))); + list.add(new ItemDto(item_to_state, "下发状态", "DB601.W3", Boolean.valueOf(true))); return list; } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java index 2d429a8..789fd76 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDeviceDriver.java @@ -53,6 +53,8 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem int move = 0; int task = 0; + int state = 0; + int last_state = 0; int last_action = 0; int last_mode = 0; int last_error = 0; @@ -135,9 +137,8 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem } - 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; + public void writing(String param,int command) { + String to_command = String.format("%s.%s.%s.%s", this.getDevice().getOpc_server_code(), this.getDevice().getOpc_plc_code(), this.getDevice().getDevice_code(), param); String opcservcerid = this.getDevice().getOpc_server_id(); Server server = ReadUtil.getServer(opcservcerid); @@ -153,9 +154,9 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem //开门 if ("1".equals(type)) { - writeing(1); + writing(ItemProtocol.item_to_command,1); } else { - writeing(2); + writing(ItemProtocol.item_to_command,2); } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/ItemProtocol.java index bffee16..3c5aca3 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/ItemProtocol.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/ItemProtocol.java @@ -15,12 +15,15 @@ public class ItemProtocol { public static String item_mode = "mode"; public static String item_move = "move"; public static String item_action = "action"; + public static String item_io_action = "io_action"; public static String item_error = "error"; public static String item_task = "task"; public static String item_to_command = "to_command"; public static String item_to_target = "to_target"; public static String item_to_task = "to_task"; public static String item_weight = "weight"; + public static String item_material_type = "material_type"; + public static String item_barcode = "barcode"; private StandardInspectSiteDeviceDriver driver; @@ -44,6 +47,10 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_action); } + public int getIoAction() { + return this.getOpcIntegerValue(item_io_action); + } + public int getError() { return this.getOpcIntegerValue(item_error); } @@ -52,6 +59,13 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_task); } + public int getMaterialType() { + return this.getOpcIntegerValue(item_material_type); + } + public int getBarcode() { + return this.getOpcIntegerValue(item_barcode); + } + public int getToCommand() { return this.getOpcIntegerValue(item_to_command); } @@ -87,11 +101,14 @@ public class ItemProtocol { public static List getReadableItemDtos() { ArrayList list = new ArrayList(); list.add(new ItemDto(item_heartbeat, "心跳", "DB600.B0")); - list.add(new ItemDto(item_mode, "工作状态", "DB600.B1", Boolean.valueOf(true))); - list.add(new ItemDto(item_move, "光电开关信号", "DB600.B2")); - list.add(new ItemDto(item_move, "动作信号", "DB600.B3")); - list.add(new ItemDto(item_error, "报警信号", "DB600.B6")); - list.add(new ItemDto(item_task, "任务号", "DB600.D8")); + list.add(new ItemDto(item_mode, "工作状态", "DB600.B2", Boolean.valueOf(true))); + list.add(new ItemDto(item_move, "光电开关信号", "DB600.B3")); + list.add(new ItemDto(item_action, "取放信号", "DB600.B4")); + list.add(new ItemDto(item_io_action, "进出信号", "DB600.B5")); + list.add(new ItemDto(item_task, "任务号", "DB600.D6")); + list.add(new ItemDto(item_material_type, "任务号", "DB600.D6")); + list.add(new ItemDto(item_error, "报警信号", "DB600.B7")); + list.add(new ItemDto(item_barcode, "条码", "DB600.D8")); return list; } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/StandardInspectSiteDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/StandardInspectSiteDeviceDriver.java index 871c9a7..bc4d7ff 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/StandardInspectSiteDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_inspect_site/StandardInspectSiteDeviceDriver.java @@ -78,6 +78,13 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp String message = null; Boolean iserror = false; + int io_action = 0; + int last_io_action = 0; + int material_type = 0; + int last_material_type = 0; + int barcode = 0; + int last_barcode =0; + boolean hasVehicle = false; boolean isReady = false; @@ -141,6 +148,7 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp task = this.itemProtocol.getTask(); hasGoods = this.itemProtocol.getMove(); action = this.itemProtocol.getAction(); + io_action = this.itemProtocol.getIoAction(); if (mode != last_mode) { this.setRequireSucess(false); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index 450fb52..2198412 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -159,9 +159,6 @@ public class InstructionServiceImpl extends CommonServiceImpl devices = new ArrayList(); // 所有设备链表 - private List code_indexs = new ArrayList(); // 设备对应的下表 + private List devices = new ArrayList(); + private List code_indexs = new ArrayList(); @Autowired private DeviceManageService deviceManageService; @Autowired @@ -315,7 +315,7 @@ public class DeviceAppServiceImpl implements DeviceAppService, ApplicationAutoIn } public synchronized void reload() { - List deviceManageDtos = deviceManageService.queryAllWithExtra(); + List deviceManageDtos = this.deviceManageService.queryAllWithExtra(); this.devices = new ArrayList(); Collections.synchronizedList(this.devices); this.code_indexs = new ArrayList(); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java index 4505b3d..3d40ba7 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/DeviceManageServiceImpl.java @@ -42,16 +42,13 @@ public class DeviceManageServiceImpl implements DeviceManageService { @Override public List queryAllWithExtra() { // JSONArray arr = WQLObject.getWQLObject("acs_device").query().getResultJSONArray(0); - // 获取所有的设备 List deviceList= new LambdaQueryChainWrapper<>(deviceMapper).list(); JSONArray arr = JSONArray.parseArray(JSON.toJSONString(deviceList)); - // 获取列表扩展 // JSONArray extArr = WQLObject.getWQLObject("acs_device_extra").query().getResultJSONArray(0); List deviceExtraList= new LambdaQueryChainWrapper<>(deviceExtraMapper).list(); JSONArray extArr = JSONArray.parseArray(JSON.toJSONString(deviceExtraList)); - // 设备+扩展DTO List extras = extArr.toJavaList(DeviceExtraManageDto.class); // WQLObject runpointTab = WQLObject.getWQLObject("acs_device_runpoint"); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java index 8695fbe..f9875aa 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/opc/OpcServerServiceImpl.java @@ -30,131 +30,127 @@ import java.util.Map; @Service public class OpcServerServiceImpl implements OpcServerService, ApplicationAutoInitial { - private static final Logger log = LoggerFactory.getLogger(OpcServerServiceImpl.class); - @Autowired - OpcServerManageService opcServerManageService; - Map opcServerManageDtos = new HashMap(); - Map servers = Collections.synchronizedMap(new HashMap()); - Map groups = Collections.synchronizedMap(new HashMap()); - - public OpcServerServiceImpl() { + private static final Logger log = LoggerFactory.getLogger(OpcServerServiceImpl.class); + @Autowired OpcServerManageService opcServerManageService; + Map opcServerManageDtos = new HashMap(); + Map servers = Collections.synchronizedMap(new HashMap()); + Map groups = Collections.synchronizedMap(new HashMap()); + + public OpcServerServiceImpl() {} + + public void autoInitial() throws Exception { + this.reload(); + if (OpcConfig.auto_start_opc) { + Thread t = + new Thread() { + public void run() { + Iterator var1 = OpcServerServiceImpl.this.opcServerManageDtos.values().iterator(); + + while (var1.hasNext()) { + OpcServerManageDto dto = (OpcServerManageDto) var1.next(); + + try { + OpcServerServiceImpl.this.getServer(dto.getOpc_code()); + OpcServerServiceImpl.log.info("加载opc server {}", dto.getOpc_code()); + } catch (Exception var4) { + OpcServerServiceImpl.log.warn("启动无法载入servers", var4); + } + } + } + }; + t.start(); } - - /** - * 加载opc服务,启动opc线程 - * @throws Exception - */ - public void autoInitial() throws Exception { - this.reload(); // 加载opc服务 - if (OpcConfig.auto_start_opc) { - Thread t = - new Thread(() -> { - Iterator var1 = OpcServerServiceImpl.this.opcServerManageDtos.values().iterator(); - - while (var1.hasNext()) { - OpcServerManageDto dto = (OpcServerManageDto) var1.next(); - - try { - OpcServerServiceImpl.this.getServer(dto.getOpc_code()); - OpcServerServiceImpl.log.info("加载opc server {}", dto.getOpc_code()); - } catch (Exception var4) { - OpcServerServiceImpl.log.warn("启动无法载入servers", var4); - } - } - }); - t.start(); + } + + public synchronized void reload() { + this.opcServerManageDtos = this.opcServerManageService.queryAllServerMap(); + this.opcServerManageDtos = Collections.synchronizedMap(this.opcServerManageDtos); + } + + public synchronized Group getServer(String code) { + Group group = null; + group = (Group) this.groups.get(code); + if (group != null) { + try { + if (group.isActive()) { + return group; } + } catch (JIException var9) { + var9.printStackTrace(); + } } - public synchronized void reload() { - this.opcServerManageDtos = this.opcServerManageService.queryAllServerMap(); - this.opcServerManageDtos = Collections.synchronizedMap(this.opcServerManageDtos); + Server server = (Server) this.servers.get(code); + boolean needcreate = false; + if (server == null) { + needcreate = true; + } else { + try { + group = server.findGroup(OpcConfig.opc_server_default_group); + } catch (UnknownHostException + | JIException + | UnknownGroupException + | NotConnectedException + | IllegalArgumentException var8) { + var8.printStackTrace(); + needcreate = true; + } } - public synchronized Group getServer(String code) { - Group group = null; - group = (Group) this.groups.get(code); - if (group != null) { - try { - if (group.isActive()) { - return group; - } - } catch (JIException var9) { - var9.printStackTrace(); - } - } + if (needcreate) { + OpcServerManageDto dto = (OpcServerManageDto) this.opcServerManageDtos.get(code); + if (dto == null) { + throw new BadRequestException("code 不存在"); + } - Server server = (Server) this.servers.get(code); - boolean needcreate = false; - if (server == null) { - needcreate = true; - } else { - try { - group = server.findGroup(OpcConfig.opc_server_default_group); - } catch (UnknownHostException - | JIException - | UnknownGroupException - | NotConnectedException - | IllegalArgumentException var8) { - var8.printStackTrace(); - needcreate = true; - } - } - - if (needcreate) { - OpcServerManageDto dto = (OpcServerManageDto) this.opcServerManageDtos.get(code); - if (dto == null) { - throw new BadRequestException("code 不存在"); - } - - server = OpcServerUtl.getServerWithOutException( - dto.getOpc_host(), - dto.getCls_id(), - dto.getUser(), - dto.getPassword(), - dto.getDomain()); + server = OpcServerUtl.getServerWithOutException( + dto.getOpc_host(), + dto.getCls_id(), + dto.getUser(), + dto.getPassword(), + dto.getDomain()); // server = OpcServerUtl.getServerWithOutException(this.OpcServer.getOpc_host(), this.OpcServer.getCls_id(), this.OpcServer.getUser(), this.OpcServer.getPassword(), this.OpcServer.getDomain()); - try { - group = server.addGroup(OpcConfig.opc_server_default_group); - } catch (Exception var7) { - throw new BadRequestException(var7.toString()); - } - - this.servers.put(code, server); - this.groups.put(code, group); - } + try { + group = server.addGroup(OpcConfig.opc_server_default_group); + } catch (Exception var7) { + throw new BadRequestException(var7.toString()); + } - return group; + this.servers.put(code, server); + this.groups.put(code, group); } - public synchronized void clearServer(String code) { - try { - Server server = (Server) this.servers.get(code); - if (server != null) { - server.disconnect(); - } + return group; + } - } catch (Exception e) { - e.printStackTrace(); - log.error("清理server异常,", e.getMessage()); - } + public synchronized void clearServer(String code) { + try { + Server server = (Server) this.servers.get(code); + if (server!=null){ + server.disconnect(); + } - this.servers.remove(code); - this.groups.remove(code); + } catch (Exception e) { + e.printStackTrace(); + log.error("清理server异常,",e.getMessage()); } - public void writeInteger(String code, ItemValue... values) { - try { - Group group = this.getServer(code); - OpcUtl.writeValue(group, values); - } catch (Exception var4) { - this.clearServer(code); - log.warn("写入出错opc server {} 重新加载", code, var4); - ThreadUtl.sleep(5000L); - throw var4; - } + this.servers.remove(code); + this.groups.remove(code); + } + + public void writeInteger(String code, ItemValue... values) { + try { + Group group = this.getServer(code); + OpcUtl.writeValue(group, values); + } catch (Exception var4) { + this.clearServer(code); + log.warn("写入出错opc server {} 重新加载", code, var4); + ThreadUtl.sleep(5000L); + throw var4; } + } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java index 5ae3c19..7a9b601 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/impl/RouteLineServiceImpl.java @@ -514,10 +514,6 @@ public class RouteLineServiceImpl extends CommonServiceImpl impleme FileUtil.downloadExcel(list, response); }*/ - /** - * 获取未完成任务 - * @throws Exception - */ @Override public void autoInitial() throws Exception { Class var1 = TaskInstructionLock.class;