From d1c4d6cce989c5e3ecf53296981444680ebe2b3a Mon Sep 17 00:00:00 2001 From: "USER-20220102CG\\noblelift" <546428999@qq.com> Date: Mon, 18 Jul 2022 14:56:07 +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 --- .../HailiangSmartplcTestDeviceDriver.java | 14 +++++++++ .../hailiang_smart_plc_test/ItemProtocol.java | 2 +- .../hailiang_special_device/ItemProtocol.java | 14 ++++++++- .../org/nl/acs/log/service/LogServer.java | 2 ++ .../acs/log/service/impl/LogServerImpl.java | 31 +++++++++++++++++++ .../impl/ProduceshiftorderServiceImpl.java | 12 +++++++ 6 files changed, 73 insertions(+), 2 deletions(-) diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/HailiangSmartplcTestDeviceDriver.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/HailiangSmartplcTestDeviceDriver.java index 8da1e836..2a8ed647 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/HailiangSmartplcTestDeviceDriver.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/HailiangSmartplcTestDeviceDriver.java @@ -1,5 +1,7 @@ package org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_smart_plc_test; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import lombok.Data; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -19,6 +21,7 @@ import org.nl.acs.log.service.LogServer; import org.nl.acs.opc.Device; import org.nl.acs.opc.DeviceAppService; import org.nl.acs.order.service.ProduceshiftorderService; +import org.nl.acs.order.service.dto.ProduceshiftorderDto; import org.nl.acs.route.service.RouteLineService; import org.nl.acs.task.service.TaskService; import org.nl.utils.SpringContextHolder; @@ -223,6 +226,17 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); } + + if (finish != last_finish) { + logServer.deviceLog(this.device_code,"finish" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号finish:" + last_finish + "->" + finish); + if(finish == 1){ + ProduceshiftorderDto deviceInfo = produceshiftorderService.findOrderByDeviceCode(this.device_code); + deviceInfo.setOrder_status("2"); + produceshiftorderService.updateByOrderCode(deviceInfo); + } + } + last_finish = finish; } public boolean exe_error() { diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/ItemProtocol.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/ItemProtocol.java index 5200e184..ecc8e3d3 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/ItemProtocol.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_smart_plc_test/ItemProtocol.java @@ -143,7 +143,7 @@ public class ItemProtocol { } public int getItem_finish() { - return this.getOpcIntegerValue(item_mode); + return this.getOpcIntegerValue(item_finish); } public int getItem_task() { diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/ItemProtocol.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/ItemProtocol.java index a26366a8..aae58ebe 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/ItemProtocol.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/hailiang_one/hailiang_special_device/ItemProtocol.java @@ -196,6 +196,19 @@ public class ItemProtocol { } + public static String getField_desc(String item){ + String field_desc = ""; + List readlist = getReadableItemDtos(); + List writelist = getWriteableItemDtos(); + for(int i=0;i getReadableItemDtos() { ArrayList list = new ArrayList(); @@ -203,7 +216,6 @@ public class ItemProtocol { list.add(new ItemDto(item_mode, "手自动状态", "DB1.B1.7", Boolean.valueOf(true))); list.add(new ItemDto(item_is_open, "线体是否启动", "DB1.B0.1")); list.add(new ItemDto(item_running, "是否运行", "DB1.B0.6")); - list.add(new ItemDto(item_finish, "订单完成", "DB1.B1.2")); list.add(new ItemDto(item_all_ready, "所有设备就绪", "DB1.B1.6")); list.add(new ItemDto(item_error, "报警信号", "DB1.W4")); list.add(new ItemDto(item_order_compel_finish, "订单强制完成", "DB1.B2.0")); diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java index 88f34672..7f7701bf 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java @@ -39,6 +39,8 @@ public interface LogServer { * @param key plc信号 * @param value plc信号值 */ + void deviceLog(String device_code, String key, String value,String field_desc); + void deviceLog(String device_code, String key, String value); /** diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java index 4d8cd12a..e515c3d2 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java @@ -90,6 +90,37 @@ public class LogServerImpl implements LogServer { mongoTemplate.save(logDto,"interface_log"); } + @Override + public void deviceLog(String device_code,String key, String value, String field_desc) { + String now = DateUtil.now(); + + DeviceLogDto dto; + Query query = new Query(Criteria + .where("device_code").is(device_code) + .and("key").is(key) + ); + List deviceList = mongoTemplate.find(query, DeviceLogDto.class,"device_log"); + if (ObjectUtil.isEmpty(deviceList)) { + JSONObject json = new JSONObject(); + json.put("device_code",device_code); + json.put("key",key); + json.put("value",value); + json.put("update_time",now); + json.put("field_desc",field_desc); + mongoTemplate.save(json,"device_log"); + } else { + for (int i = 0; i < deviceList.size(); i++) { + dto = deviceList.get(i); + Update update = new Update(); + update.set("device_code",dto.getDevice_code()); + update.set("key",dto.getKey()); + update.set("value",value); + update.set("update_time",now); + mongoTemplate.upsert(query, update, "device_log"); + } + } + } + @Override public void deviceLog(String device_code,String key, String value) { String now = DateUtil.now(); diff --git a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java index dca88952..4093cb03 100644 --- a/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java +++ b/wcs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java @@ -9,6 +9,7 @@ import org.nl.acs.config.AcsConfig; import org.nl.acs.device.service.DeviceExtraService; import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_engraving_machine.HailiangEngravingMachineDeviceDriver; import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_packer_station.HailiangPackerStationDeviceDriver; +import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_smart_plc_test.HailiangSmartplcTestDeviceDriver; import org.nl.acs.device_driver.basedriver.hailiang_one.hailiang_special_device.HailiangSpecialDeviceDriver; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.instruction.service.dto.Instruction; @@ -145,6 +146,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A HailiangEngravingMachineDeviceDriver hailiangEngravingMachineDeviceDriver; //包装机 HailiangPackerStationDeviceDriver hailiangPackerStationDeviceDriver; + //smart200 + HailiangSmartplcTestDeviceDriver hailiangSmartplcTestDeviceDriver; if (device.getDeviceDriver() instanceof HailiangSpecialDeviceDriver) { hailiangSpecialDeviceDriver = (HailiangSpecialDeviceDriver) device.getDeviceDriver(); //专机下发工单信号:倒料数量(-99999) 当前产量清零(1) 订单生产总量 每箱接料数量 工单号 @@ -192,6 +195,15 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A hailiangPackerStationDeviceDriver.writing("to_order", dto.getOrder_code()); } + if (device.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { + hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) device.getDeviceDriver(); + hailiangSmartplcTestDeviceDriver.writing("to_clear", "1"); + hailiangSmartplcTestDeviceDriver.writing("to_qty", dto.getQty().toString()); + hailiangSmartplcTestDeviceDriver.writing("to_task", dto.getOrder_code()); + hailiangSmartplcTestDeviceDriver.writing("to_material", dto.getMaterial_code()); + hailiangSmartplcTestDeviceDriver.writing("to_pause","0"); + } + JSONObject json = (JSONObject) JSONObject.toJSON(dto); wo.insert(json); order.add(dto);