diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java index e3eb1fc..184229c 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java @@ -85,7 +85,7 @@ public enum DriverTypeEnum { LNSH_PRESS(38, "lnsh_press", "晟华-压力机", "station"), - LNSH_PALLETIZING_MANIPULATOR(39, "lnsh_palletizing_manipulator", "晟华-码垛机械手", "station"), + LNSH_PALLETIZING_MANIPULATOR(39, "lnsh_palletizing_manipulator", "嘉耐-码垛机械手", "station"), LNSH_KILN_TRUSS(40, "lnsh_kiln_truss", "晟华-入出窑桁架", "station"), @@ -97,24 +97,27 @@ public enum DriverTypeEnum { LNSH_PALLET_STORAGE(44, "lnsh_pallet_storage", "晟华-托盘存储线", "station"), - LNSH_PACKAGE_PALLET_MANIPULATOR(45, "lnsh_package_pallet_manipulator", "晟华-包装码垛机械手", "station"), + LNSH_PACKAGE_PALLET_MANIPULATOR(45, "lnsh_package_pallet_manipulator", "嘉耐-包装码垛机械手", "station"), LNSH_LABELING_MACHINE(46, "lnsh_labeling_machine", "晟华-贴标机", "station"), - LNSH_SPLIT_MANIPULATOR(47, "lnsh_split_manipulator", "晟华-拆垛机械手", "station"), + LNSH_SPLIT_MANIPULATOR(47, "lnsh_split_manipulator", "嘉耐-拆垛机械手", "station"), - LNSH_RGV(48, "lnsh_rgv", "晟华-RGV", "rgv"), + LNSH_RGV(48, "lnsh_rgv", "嘉耐双工位RGV", "rgv"), LNSH_PACKAGE_LINE(49, "lnsh_package_line", "晟华-包装机", "station"), - LNSH_STATION(50, "lnsh_station", "晟华-工位(交互模板)", "station"), + LNSH_STATION(50, "lnsh_station", "嘉耐-工位(交互模板)", "station"), - LNSH_LAMINATING_MACHINE(51, "lnsh_Laminating_machine", "晟华-缓存货架", "station"), + LNSH_LAMINATING_MACHINE(51, "lnsh_Laminating_machine", "嘉耐-缓存货架", "station"), - LNSH_PACKAGE_SITE(52, "lnsh_package_site", "晟华-包装线工位", "station"), + LNSH_PACKAGE_SITE(52, "lnsh_package_site", "嘉耐-包装线工位", "station"), - LNSH_PACKAGE_PALLETSPLIT_MANIPULATOR(53, "lnsh_package_palletSplit_manipulator", "荣力嘉耐-包装码拆垛机械手", "station"); + LNSH_PACKAGE_PALLETSPLIT_MANIPULATOR(53, "lnsh_package_palletSplit_manipulator", "嘉耐-包装码拆垛机械手", "station"), + LNSH_PALLETIZING_MANIPULATOR_SITE(54, "lnsh_palletizing_manipulator_site", "嘉耐-码垛机械手工位", "station"), + + LNSH_ONE_RGV(55, "lnsh_one_rgv", "嘉耐单工位RGV", "rgv"); //驱动索引 private int index; diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDefination.java index 2b8378f..22e2933 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDefination.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; /** - * 晟华-缓存货架 + * 嘉耐-缓存货架 * */ @Service @@ -24,12 +24,12 @@ public class LnshLaminatingMachineDefination implements OpcDeviceDriverDefinatio @Override public String getDriverName() { - return "晟华-缓存货架"; + return "嘉耐-缓存货架"; } @Override public String getDriverDescription() { - return "晟华-缓存货架"; + return "嘉耐-缓存货架"; } @Override diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDeviceDriver.java index ca76654..757690f 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_Laminating_machine/LnshLaminatingMachineDeviceDriver.java @@ -38,7 +38,7 @@ import java.util.List; import java.util.Map; /** - * 晟华-缓存货架 + * 嘉耐-缓存货架 */ @Slf4j @Data diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/ItemProtocol.java index 87d1169..55d3503 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/ItemProtocol.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/ItemProtocol.java @@ -1,5 +1,6 @@ package org.nl.acs.device_driver.lnsh.lnsh_kiln_lane; +import cn.hutool.core.util.StrUtil; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.device_driver.standard_inspect.ItemDto; @@ -20,6 +21,19 @@ public class ItemProtocol { public static String item_car_sum = "car_sum"; public static String item_nullCar_qty = "nullCar_qty"; public static String item_burning_car_qty = "burning_car_qty"; + public static String item_container_sum = "container_sum"; + public static String item_batch = "batch"; + public static String item_specifications = "specifications"; + public static String item_material = "material"; + public static String item_inSpecifications = "inSpecifications"; + public static String item_inDay_material = "inDay_material"; + public static String item_inDay_batch = "inDay_batch"; + public static String item_inDay_qty = "inDay_qty"; + public static String item_outSpecifications = "outSpecifications"; + public static String item_outDay_material = "outDay_material"; + public static String item_outDay_batch = "outDay_batch"; + public static String item_outDay_qty = "outDay_qty"; + public static String item_barcode = "barcode"; public static String item_to_command = "to_command"; public static String item_to_material_code = "to_material_code"; Boolean isonline; @@ -70,6 +84,58 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_burning_car_qty); } + public int getContainer_sum() { + return this.getOpcIntegerValue(item_container_sum); + } + + public int getBatch() { + return this.getOpcIntegerValue(item_batch); + } + + public String getSpecifications() { + return this.getOpcStringValue(item_specifications); + } + + public String getMaterial() { + return this.getOpcStringValue(item_material); + } + + public String getInSpecifications() { + return this.getOpcStringValue(item_inSpecifications); + } + + public String getInDay_material() { + return this.getOpcStringValue(item_inDay_material); + } + + public int getInDay_batch() { + return this.getOpcIntegerValue(item_inDay_batch); + } + + public int getInDay_qty() { + return this.getOpcIntegerValue(item_inDay_qty); + } + + public String getOutSpecifications() { + return this.getOpcStringValue(item_outSpecifications); + } + + public String getOutDay_material() { + return this.getOpcStringValue(item_outDay_material); + } + + public int getOutDay_batch() { + return this.getOpcIntegerValue(item_outDay_batch); + } + + public int getOutDay_qty() { + return this.getOpcIntegerValue(item_outDay_qty); + } + + public String getBarcode() { + return this.getOpcStringValue(item_barcode); + } + public int getToCommand() { return this.getOpcIntegerValue(item_to_command); } @@ -94,28 +160,50 @@ public class ItemProtocol { return value; } return 0; + } + public String getOpcStringValue(String protocol) { + String value = this.driver.getStringValue(protocol); + if (StrUtil.isEmpty(value)) { + log.error("读取错误!"); + } else { + return value; + } + return "0"; } public static List getReadableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_heartbeat, "心跳", "DB3.B0")); - list.add(new ItemDto(item_mode, "工作状态", "DB3.B1", Boolean.valueOf(true))); - list.add(new ItemDto(item_status, "设备状态", "DB3.B2")); - list.add(new ItemDto(item_open_time, "开机时间", "DB3.D4")); - list.add(new ItemDto(item_standby_time, "待机时间", "DB3.D8")); - list.add(new ItemDto(item_production_time, "生产时间", "DB3.D12")); - list.add(new ItemDto(item_error_time, "故障时间", "DB3.D16")); - list.add(new ItemDto(item_car_sum, "窑车总数", "DB3.D20")); - list.add(new ItemDto(item_nullCar_qty, "空窑车数", "DB3.D24")); - list.add(new ItemDto(item_burning_car_qty, "在烧窑车数", "DB3.D28")); + list.add(new ItemDto(item_heartbeat, "心跳", "DB1.B0")); + list.add(new ItemDto(item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); + list.add(new ItemDto(item_status, "设备状态", "DB1.B2")); + list.add(new ItemDto(item_open_time, "开机时间", "DB1.D4")); + list.add(new ItemDto(item_standby_time, "待机时间", "DB1.D8")); + list.add(new ItemDto(item_production_time, "生产时间", "DB1.D12")); + list.add(new ItemDto(item_error_time, "故障时间", "DB1.D16")); + list.add(new ItemDto(item_car_sum, "窑车总数", "DB1.D20")); + list.add(new ItemDto(item_nullCar_qty, "空窑车数", "DB1.D24")); + list.add(new ItemDto(item_burning_car_qty, "在烧窑车数", "DB1.D28")); + list.add(new ItemDto(item_container_sum, "托盘数量", "DB1.D32")); + list.add(new ItemDto(item_batch, "批次", "DB1.D36")); + list.add(new ItemDto(item_specifications, "规格", "DB1.S40")); + list.add(new ItemDto(item_material, "物料", "DB1.S296")); + list.add(new ItemDto(item_inSpecifications, "当天入窑规格", "DB1.S552")); + list.add(new ItemDto(item_inDay_material, "当天入窑物料", "DB1.S808")); + list.add(new ItemDto(item_inDay_batch, "当天入窑批次", "DB1.D1064")); + list.add(new ItemDto(item_inDay_qty, "当天入窑数量", "DB1.D1068")); + list.add(new ItemDto(item_outSpecifications, "当天出窑规格", "DB1.S1072")); + list.add(new ItemDto(item_outDay_material, "当天出窑物料", "DB1.S1328")); + list.add(new ItemDto(item_outDay_batch, "当天出窑批次", "DB1.D1584")); + list.add(new ItemDto(item_outDay_qty, "当天出窑数量", "DB1.D1588")); + list.add(new ItemDto(item_barcode, "条码", "DB1.D1592")); return list; } public static List getWriteableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_to_command, "下发命令", "DB4.W0", Boolean.valueOf(true))); - list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB4.D2")); + list.add(new ItemDto(item_to_command, "下发命令", "DB2.W0", Boolean.valueOf(true))); + list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB2.D2")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDefination.java index a39a4f1..7fb9304 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDefination.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; /** - * 晟华窑车道 + * 嘉耐窑车道 */ @Service public class LnshKilnLaneDefination implements OpcDeviceDriverDefination { @@ -23,12 +23,12 @@ public class LnshKilnLaneDefination implements OpcDeviceDriverDefination { @Override public String getDriverName() { - return "晟华-窑车道"; + return "嘉耐-窑车道"; } @Override public String getDriverDescription() { - return "晟华-窑车道"; + return "嘉耐-窑车道"; } @Override @@ -55,16 +55,29 @@ public class LnshKilnLaneDefination implements OpcDeviceDriverDefination { public static List getReadableItemDtos2() { List list = new ArrayList(); - list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB3.B0")); - list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB3.B1", Boolean.valueOf(true))); - list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB3.B2")); - list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB3.D4")); - list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB3.D8")); - list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB3.D12")); - list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB3.D16")); - list.add(new ItemDto(ItemProtocol.item_car_sum, "窑车总数", "DB3.D20")); - list.add(new ItemDto(ItemProtocol.item_nullCar_qty, "空窑车数", "DB3.D24")); - list.add(new ItemDto(ItemProtocol.item_burning_car_qty, "在烧窑车数", "DB3.D28")); + list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB1.B0")); + list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); + list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB1.B2")); + list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB1.D4")); + list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D8")); + list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D12")); + list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D16")); + list.add(new ItemDto(ItemProtocol.item_car_sum, "窑车总数", "DB1.D20")); + list.add(new ItemDto(ItemProtocol.item_nullCar_qty, "空窑车数", "DB1.D24")); + list.add(new ItemDto(ItemProtocol.item_burning_car_qty, "在烧窑车数", "DB1.D28")); + list.add(new ItemDto(ItemProtocol.item_container_sum, "托盘数量", "DB1.D32")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D36")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S40")); + list.add(new ItemDto(ItemProtocol.item_material, "物料", "DB1.S296")); + list.add(new ItemDto(ItemProtocol.item_inSpecifications, "当天入窑规格", "DB1.S552")); + list.add(new ItemDto(ItemProtocol.item_inDay_material, "当天入窑物料", "DB1.S808")); + list.add(new ItemDto(ItemProtocol.item_inDay_batch, "当天入窑批次", "DB1.D1064")); + list.add(new ItemDto(ItemProtocol.item_inDay_qty, "当天入窑数量", "DB1.D1068")); + list.add(new ItemDto(ItemProtocol.item_outSpecifications, "当天出窑规格", "DB1.S1072")); + list.add(new ItemDto(ItemProtocol.item_outDay_material, "当天出窑物料", "DB1.S1328")); + list.add(new ItemDto(ItemProtocol.item_outDay_batch, "当天出窑批次", "DB1.D1584")); + list.add(new ItemDto(ItemProtocol.item_outDay_qty, "当天出窑数量", "DB1.D1588")); + list.add(new ItemDto(ItemProtocol.item_barcode, "条码", "DB1.D1592")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDeviceDriver.java index d8022ea..43cdfa6 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_kiln_lane/LnshKilnLaneDeviceDriver.java @@ -31,7 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.*; /** - * 晟华窑车道 + * 嘉耐窑车道 */ @Slf4j @Data @@ -93,6 +93,45 @@ public class LnshKilnLaneDeviceDriver extends AbstractOpcDeviceDriver implements int burning_car_qty = 0; int last_burning_car_qty = 0; + int container_sum = 0; + int last_container_sum = 0; + + int batch = 0; + int last_batch = 0; + + String specifications = ""; + String last_specifications = ""; + + String material = ""; + String last_material = ""; + + String inSpecifications = ""; + String last_inSpecifications = ""; + + String inDay_material = ""; + String last_inDay_material = ""; + + int inDay_batch = 0; + int last_inDay_batch = 0; + + int inDay_qty = 0; + int last_inDay_qty = 0; + + String outSpecifications = ""; + String last_outSpecifications = ""; + + String outDay_material = ""; + String last_outDay_material = ""; + + int outDay_batch = 0; + int last_outDay_batch = 0; + + int outDay_qty = 0; + int last_outDay_qty = 0; + + String barcode = ""; + String last_barcode = ""; + @Override public Device getDevice() { return this.device; @@ -113,6 +152,19 @@ public class LnshKilnLaneDeviceDriver extends AbstractOpcDeviceDriver implements car_sum = this.itemProtocol.getCar_sum(); nullCar_qty = this.itemProtocol.getNullCar_qty(); burning_car_qty = this.itemProtocol.getBurning_car_qty(); + container_sum = this.itemProtocol.getContainer_sum(); + batch = this.itemProtocol.getBatch(); + specifications = this.itemProtocol.getSpecifications(); + material = this.itemProtocol.getMaterial(); + inSpecifications = this.itemProtocol.getInSpecifications(); + inDay_batch = this.itemProtocol.getInDay_batch(); + inDay_material = this.itemProtocol.getInDay_material(); + inDay_qty = this.itemProtocol.getInDay_batch(); + outSpecifications = this.itemProtocol.getOutSpecifications(); + outDay_material = this.itemProtocol.getOutDay_material(); + outDay_batch = this.itemProtocol.getOutDay_batch(); + outDay_qty = this.itemProtocol.getOutDay_qty(); + barcode = this.itemProtocol.getBarcode(); if (mode != last_mode) { this.setRequireSucess(false); @@ -151,6 +203,58 @@ public class LnshKilnLaneDeviceDriver extends AbstractOpcDeviceDriver implements logServer.deviceLog(this.device_code,"burning_car_qty" ,String.valueOf(burning_car_qty)); logServer.deviceLogToacs(this.device_code,"","","信号burning_car_qty:" + last_burning_car_qty + "->" + burning_car_qty); } + if (container_sum != last_container_sum) { + logServer.deviceLog(this.device_code,"container_sum" ,String.valueOf(container_sum)); + logServer.deviceLogToacs(this.device_code,"","","信号container_sum:" + last_container_sum + "->" + container_sum); + } + if (batch != last_batch) { + logServer.deviceLog(this.device_code,"batch" ,String.valueOf(batch)); + logServer.deviceLogToacs(this.device_code,"","","信号batch:" + last_batch + "->" + batch); + } + if (!StrUtil.equals(specifications,last_specifications)) { + logServer.deviceLog(this.device_code,"specifications" ,specifications); + logServer.deviceLogToacs(this.device_code,"","","信号specifications:" + last_specifications + "->" + specifications); + } + if (!StrUtil.equals(material,last_material)) { + logServer.deviceLog(this.device_code,"material" ,material); + logServer.deviceLogToacs(this.device_code,"","","信号material:" + last_material + "->" + material); + } + if (!StrUtil.equals(inSpecifications,last_inSpecifications)) { + logServer.deviceLog(this.device_code,"inSpecifications" ,inSpecifications); + logServer.deviceLogToacs(this.device_code,"","","信号inSpecifications:" + last_inSpecifications + "->" + inSpecifications); + } + if (!StrUtil.equals(inDay_material,last_inDay_material)) { + logServer.deviceLog(this.device_code,"inDay_material" ,inDay_material); + logServer.deviceLogToacs(this.device_code,"","","信号inDay_material:" + last_inDay_material + "->" + inDay_material); + } + if (inDay_batch != last_inDay_batch) { + logServer.deviceLog(this.device_code,"inDay_batch" ,String.valueOf(inDay_batch)); + logServer.deviceLogToacs(this.device_code,"","","信号inDay_batch:" + last_inDay_batch + "->" + inDay_batch); + } + if (inDay_qty != last_inDay_qty) { + logServer.deviceLog(this.device_code,"inDay_qty" ,String.valueOf(inDay_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号inDay_qty:" + last_inDay_qty + "->" + inDay_qty); + } + if (!StrUtil.equals(outSpecifications,last_outSpecifications)) { + logServer.deviceLog(this.device_code,"outSpecifications" ,outSpecifications); + logServer.deviceLogToacs(this.device_code,"","","信号outSpecifications:" + last_outSpecifications + "->" + outSpecifications); + } + if (!StrUtil.equals(outDay_material,last_outDay_material)) { + logServer.deviceLog(this.device_code,"outDay_material" ,outDay_material); + logServer.deviceLogToacs(this.device_code,"","","信号outDay_material:" + last_outDay_material + "->" + outDay_material); + } + if (outDay_batch != last_outDay_batch) { + logServer.deviceLog(this.device_code,"outDay_batch" ,String.valueOf(outDay_batch)); + logServer.deviceLogToacs(this.device_code,"","","信号outDay_batch:" + last_outDay_batch + "->" + outDay_batch); + } + if (outDay_qty != last_outDay_qty) { + logServer.deviceLog(this.device_code,"outDay_qty" ,String.valueOf(outDay_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号outDay_qty:" + last_outDay_qty + "->" + outDay_qty); + } + if (!StrUtil.equals(barcode,last_barcode)) { + logServer.deviceLog(this.device_code,"barcode" ,barcode); + logServer.deviceLogToacs(this.device_code,"","","信号barcode:" + last_barcode + "->" + barcode); + } } catch (Exception var17) { return; @@ -205,6 +309,19 @@ public class LnshKilnLaneDeviceDriver extends AbstractOpcDeviceDriver implements last_car_sum = car_sum; last_nullCar_qty = nullCar_qty; last_burning_car_qty = burning_car_qty; + last_container_sum = container_sum; + last_batch = batch; + last_specifications = specifications; + last_material = material; + last_inSpecifications = inSpecifications; + last_inDay_material = inDay_material; + last_inDay_batch = inDay_batch; + last_inDay_qty = inDay_qty; + last_outSpecifications = outSpecifications; + last_outDay_material = outDay_material; + last_outDay_batch = outDay_batch; + last_outDay_qty = outDay_qty; + last_barcode = barcode; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/ItemProtocol.java new file mode 100644 index 0000000..541deaa --- /dev/null +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/ItemProtocol.java @@ -0,0 +1,165 @@ +package org.nl.acs.device_driver.lnsh.lnsh_one_rgv; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Data +public class ItemProtocol { + + public static String item_heartbeat = "heartbeat"; + public static String item_mode = "mode"; + public static String item_status = "status"; + public static String item_move_1 = "move_1"; + public static String item_action_1 = "action_1"; + public static String item_walk_y = "walk_y"; + public static String item_error = "error"; + public static String item_task1 = "task1"; + public static String item_task_qty = "task_qty"; + public static String item_finishTask_qty = "finishTask_qty"; + public static String item_batch = "batch"; + public static String item_specifications = "specifications"; + public static String item_qty = "qty"; + public static String item_to_command1 = "to_command1"; + public static String item_to_onset1 = "to_onset1"; + public static String item_to_target1 = "to_target1"; + public static String item_to_task1 = "to_task1"; + + private LnshOneRGVDeviceDriver driver; + + public ItemProtocol(LnshOneRGVDeviceDriver driver) { + this.driver = driver; + } + + public int getHeartbeat() { + return this.getOpcIntegerValue(item_heartbeat); + } + + public int getMode() { + return this.getOpcIntegerValue(item_mode); + } + + public int getStatus() { + return this.getOpcIntegerValue(item_status); + } + + public int getError() { + return this.getOpcIntegerValue(item_error); + } + + public int getMove_1() { + return this.getOpcIntegerValue(item_move_1); + } + + public int getAction_1() { + return this.getOpcIntegerValue(item_action_1); + } + + public int getWalk_y() { + return this.getOpcIntegerValue(item_walk_y); + } + + public int getTask1() { + return this.getOpcIntegerValue(item_task1); + } + + public int getTask_qty() { + return this.getOpcIntegerValue(item_task_qty); + } + + public int getFinishTask_qty() { + return this.getOpcIntegerValue(item_finishTask_qty); + } + + public int getBatch() { + return this.getOpcIntegerValue(item_batch); + } + + public String getSpecifications() { + return this.getOpcStringValue(item_specifications); + } + + public int getQty() { + return this.getOpcIntegerValue(item_qty); + } + + public int getTo_command1() { + return this.getOpcIntegerValue(item_to_command1); + } + + public int getTo_onset1() { + return this.getOpcIntegerValue(item_to_onset1); + } + + public int getTo_target1() { + return this.getOpcIntegerValue(item_to_target1); + } + + public int getTo_task1() { + return this.getOpcIntegerValue(item_to_task1); + } + + //是否有货 + public int hasGoods(int move) { + return move; + } + + Boolean isonline; + + public int getOpcIntegerValue(String protocol) { + Integer value = this.driver.getIntegeregerValue(protocol); + if (value == null) { + log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); + setIsonline(false); + } else { + setIsonline(true); + return value; + } + return 0; + + } + + public String getOpcStringValue(String protocol) { + String value = this.driver.getStringValue(protocol); + if (StrUtil.isEmpty(value)) { + log.error("读取错误!"); + } else { + return value; + } + return "0"; + } + + public static List getReadableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_heartbeat, "心跳", "DB1.B0")); + list.add(new ItemDto(item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); + list.add(new ItemDto(item_status, "设备状态", "DB1.B2")); + list.add(new ItemDto(item_move_1, "前工位光电信号", "DB1.B3")); + list.add(new ItemDto(item_action_1, "前工位动作信号", "DB1.B4")); + list.add(new ItemDto(item_walk_y, "行走列", "DB1.B5")); + list.add(new ItemDto(item_error, "车体报警", "DB1.B6")); + list.add(new ItemDto(item_task1, "前工位任务号", "DB1.D8")); + list.add(new ItemDto(item_task_qty, "当前任务数量", "DB1.D12")); + list.add(new ItemDto(item_finishTask_qty, "完成任务数量", "DB1.D16")); + list.add(new ItemDto(item_batch, "批次", "DB1.D20")); + list.add(new ItemDto(item_qty, "数量", "DB1.D24")); + list.add(new ItemDto(item_specifications, "规格", "DB1.S28")); + return list; + } + + public static List getWriteableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_to_command1, "前工位下发命令", "DB2.W0")); + list.add(new ItemDto(item_to_onset1, "下发起始站", "DB2.W2")); + list.add(new ItemDto(item_to_target1, "下发目标站", "DB2.W4")); + list.add(new ItemDto(item_to_task1, "下发任务号", "DB2.D6")); + return list; + } + +} + diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/LnshOneRGVDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/LnshOneRGVDefination.java new file mode 100644 index 0000000..dda9711 --- /dev/null +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/LnshOneRGVDefination.java @@ -0,0 +1,81 @@ +package org.nl.acs.device_driver.lnsh.lnsh_one_rgv; + +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; + +/** + * 嘉耐单工位RGV + * + */ +@Service +public class LnshOneRGVDefination implements OpcDeviceDriverDefination { + @Override + public String getDriverCode() { + return "lnsh_one_rgv"; + } + + @Override + public String getDriverName() { + return "嘉耐单工位RGV"; + } + + @Override + public String getDriverDescription() { + return "嘉耐单工位RGV"; + } + + @Override + public DeviceDriver getDriverInstance(Device device) { + return (new LnshOneRGVDeviceDriver()).setDevice(device).setDriverDefination(this); + + } + + @Override + public Class getDeviceDriverType() { + return LnshOneRGVDeviceDriver.class; + } + + @Override + public List getFitDeviceTypes() { + List types = new LinkedList(); + types.add(DeviceType.station); + return types; + } + + @Override + public List getReadableItemDtos() { + return getReadableItemDtos2(); + } + + public static List getReadableItemDtos2() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB1.B0")); + list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); + list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB1.B2")); + list.add(new ItemDto(ItemProtocol.item_move_1, "前工位光电信号", "DB1.B3")); + list.add(new ItemDto(ItemProtocol.item_action_1, "前工位动作信号", "DB1.B4")); + list.add(new ItemDto(ItemProtocol.item_walk_y, "行走列", "DB1.B5")); + list.add(new ItemDto(ItemProtocol.item_error, "车体报警", "DB1.B6")); + list.add(new ItemDto(ItemProtocol.item_task1, "前工位任务号", "DB1.D8")); + list.add(new ItemDto(ItemProtocol.item_task_qty, "当前任务数量", "DB1.D12")); + list.add(new ItemDto(ItemProtocol.item_finishTask_qty, "完成任务数量", "DB1.D16")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D20")); + list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB1.D24")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S28")); + return list; + } + + @Override + public List getWriteableItemDtos() { + return ItemProtocol.getWriteableItemDtos(); + } + +} diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/LnshOneRGVDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/LnshOneRGVDeviceDriver.java new file mode 100644 index 0000000..f98d7a5 --- /dev/null +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_one_rgv/LnshOneRGVDeviceDriver.java @@ -0,0 +1,272 @@ +package org.nl.acs.device_driver.lnsh.lnsh_one_rgv; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +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.RouteableDeviceDriver; +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.instruction.service.dto.Instruction; +import org.nl.acs.log.service.LogServer; +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.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 嘉耐单工位RGV + */ +@Slf4j +@Data +@RequiredArgsConstructor +public class LnshOneRGVDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver { + 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"); + @Autowired + LogServer logServer = SpringContextHolder.getBean("logServerImpl"); + + int mode = 0; + int error = 0; + int last_mode = 0; + int last_error = 0; + Boolean isonline = true; + Boolean requireSucess = false; + int hasGoods = 0; + String message = null; + Boolean iserror = false; + + int branchProtocol = 0; + + //暂定 0就绪 1请求取货 2取货完成 3请求放货 4放货完成 5取货完成离开 6放货完成离开 7请求进入区域 8请求离开区域 + int flag; + + String device_code; + int status = 0; + int last_status = 0; + int move_1 = 0; + int last_move_1 = 0; + int action_1 = 0; + int last_action_1 = 0; + int walk_y = 0; + int last_walk_y = 0; + int task1 = 0; + int last_task1 = 0; + //当前任务数量 + int task_qty = 0; + int last_task_qty = 0; + //完成任务数量 + int finishTask_qty = 0; + int last_finishTask_qty = 0; + + int batch = 0; + int last_batch = 0; + + int qty = 0; + int last_qty = 0; + + String specifications = ""; + String last_specifications = ""; + + @Override + public Device getDevice() { + return this.device; + } + + + @Override + public void execute() { + String message = null; + try { + device_code = this.getDeviceCode(); + mode = this.itemProtocol.getMode(); + status = this.itemProtocol.getStatus(); + move_1 = this.itemProtocol.getMove_1(); + action_1 = this.itemProtocol.getAction_1(); + walk_y = this.itemProtocol.getWalk_y(); + error = this.itemProtocol.getError(); + task1 = this.itemProtocol.getTask1(); + task_qty = this.itemProtocol.getTask_qty(); + finishTask_qty = this.itemProtocol.getFinishTask_qty(); + batch = this.itemProtocol.getBatch(); + specifications = this.itemProtocol.getSpecifications(); + qty = this.itemProtocol.getQty(); + + if (mode != last_mode) { + this.setRequireSucess(false); + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); + } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (status != last_status) { + logServer.deviceLog(this.device_code,"status" ,String.valueOf(status)); + logServer.deviceLogToacs(this.device_code,"","","信号status:" + last_status + "->" + status); + } + if (move_1 != last_move_1) { + logServer.deviceLog(this.device_code,"move_1" ,String.valueOf(move_1)); + logServer.deviceLogToacs(this.device_code,"","","信号move_1:" + last_move_1 + "->" + move_1); + } + if (action_1 != last_action_1) { + logServer.deviceLog(this.device_code,"action_1" ,String.valueOf(action_1)); + logServer.deviceLogToacs(this.device_code,"","","信号action_1:" + last_action_1 + "->" + action_1); + } + if (walk_y != last_walk_y) { + logServer.deviceLog(this.device_code,"walk_y" ,String.valueOf(walk_y)); + logServer.deviceLogToacs(this.device_code,"","","信号walk_y:" + last_walk_y + "->" + walk_y); + } + if (task1 != last_task1) { + logServer.deviceLog(this.device_code,"task1" ,String.valueOf(task1)); + logServer.deviceLogToacs(this.device_code,"","","信号task1:" + last_task1 + "->" + task1); + } + if (task_qty != last_task_qty) { + logServer.deviceLog(this.device_code,"task_qty" ,String.valueOf(task_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号task_qty:" + last_task_qty + "->" + task_qty); + } + if (finishTask_qty != last_finishTask_qty) { + logServer.deviceLog(this.device_code,"finishTask_qty" ,String.valueOf(finishTask_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号finishTask_qty:" + last_finishTask_qty + "->" + finishTask_qty); + } + if (batch != last_batch) { + logServer.deviceLog(this.device_code,"batch" ,String.valueOf(batch)); + logServer.deviceLogToacs(this.device_code,"","","信号batch:" + last_batch + "->" + batch); + } + if (qty != last_qty) { + logServer.deviceLog(this.device_code,"qty" ,String.valueOf(qty)); + logServer.deviceLogToacs(this.device_code,"","","信号qty:" + last_qty + "->" + qty); + } + if (!StrUtil.equals(specifications,last_specifications)) { + logServer.deviceLog(this.device_code,"specifications" ,specifications); + logServer.deviceLogToacs(this.device_code,"","","信号specifications:" + last_specifications + "->" + specifications); + } + + } catch (Exception var17) { + return; + } + + if (!this.itemProtocol.getIsonline()) { + this.setIsonline(false); + this.setIserror(true); + message = "信号量同步异常"; + //未联机 + } else if (mode == 0) { + this.setIsonline(false); + this.setIserror(true); + message = "未联机"; + //有报警 + } else if (error != 0) { + this.setIsonline(false); + this.setIserror(true); + message = "有报警"; + //无报警 + } else { + this.setIsonline(true); + this.setIserror(false); + message = ""; + Instruction instruction = null; + List toInstructions; + switch (mode) { + case 1: + log.debug("设备运转模式:等待工作"); + return; + case 2: + + break; + } + + switch (flag) { + //取货完成 + case 1: + writing1(2); + return; + //放货完成 + case 2: + writing1(3); + return; + + } + + } + last_mode = mode; + last_error = error; + last_status = status; + last_move_1 = move_1; + last_action_1 = action_1; + last_walk_y = walk_y; + last_task1 = task1; + last_task_qty = task_qty; + last_finishTask_qty = finishTask_qty; + last_specifications = specifications; + last_batch = batch; + last_qty = qty; + } + + + public boolean exe_error() { + if (this.error == 0) { + return true; + } else { + log.debug("设备报警"); + return false; + } + } + + public boolean exe_business() { + return true; + } + + protected void executing(Instruction instruction) { + this.executing(1, instruction, ""); + } + + public void executing(int command, Instruction instruction, String appendMessage) { + + String opcservcerid = this.getDevice().getOpc_server_id(); + Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + ReadUtil.write(itemMap, server); + + } + + public void executing(Server server, Map itemMap) { + ReadUtil.write(itemMap, server); + } + + public void writing1(int command) { + String to_command1 = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_command1; + + String opcservcerid = this.getDevice().getOpc_server_id(); + Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + itemMap.put(to_command1, command); + ReadUtil.write(itemMap, server); + + } + + public void writing(int type, int command) { + String opcservcerid = this.getDevice().getOpc_server_id(); + Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + ReadUtil.write(itemMap, server); + } +} diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java index 463336d..fd31856 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java @@ -17,9 +17,12 @@ public class ItemProtocol { public static String item_mode = "mode"; public static String item_status = "status"; public static String item_error = "error"; + public static String item_onoff_status = "onoff_status"; public static String item_putStation = "putStation"; public static String item_barcode = "barcode"; public static String item_material = "material"; + public static String item_specifications = "specifications"; + public static String item_batch = "batch"; public static String item_qty = "qty"; public static String item_open_time = "open_time"; public static String item_standby_time = "standby_time "; @@ -176,6 +179,18 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_error); } + public int getOnoff_status() { + return this.getOpcIntegerValue(item_onoff_status); + } + + public String getSpecifications() { + return this.getOpcStringValue(item_specifications); + } + + public int getBatch() { + return this.getOpcIntegerValue(item_batch); + } + public int getPutStation() { return this.getOpcIntegerValue(item_putStation); } @@ -244,80 +259,80 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_crib_category); } - public Float getPalletX1_line() { - return this.getOpcFloatValue(item_palletX1_line); + public int getPalletX1_line() { + return this.getOpcIntegerValue(item_palletX1_line); } - public Float getPalletY1_row() { - return this.getOpcFloatValue(item_palletY1_row); + public int getPalletY1_row() { + return this.getOpcIntegerValue(item_palletY1_row); } - public Float getPalletA1_angle() { - return this.getOpcFloatValue(item_palletA1_angle); + public int getPalletA1_angle() { + return this.getOpcIntegerValue(item_palletA1_angle); } - public Float getPalletX2_line() { - return this.getOpcFloatValue(item_palletX2_line); + public int getPalletX2_line() { + return this.getOpcIntegerValue(item_palletX2_line); } - public Float getPalletY2_row() { - return this.getOpcFloatValue(item_palletY2_row); + public int getPalletY2_row() { + return this.getOpcIntegerValue(item_palletY2_row); } - public Float getPalletA2_angle() { - return this.getOpcFloatValue(item_palletA2_angle); + public int getPalletA2_angle() { + return this.getOpcIntegerValue(item_palletA2_angle); } - public Float getPalletX3_line() { - return this.getOpcFloatValue(item_palletX3_line); + public int getPalletX3_line() { + return this.getOpcIntegerValue(item_palletX3_line); } - public Float getPalletY3_row() { - return this.getOpcFloatValue(item_palletY3_row); + public int getPalletY3_row() { + return this.getOpcIntegerValue(item_palletY3_row); } - public Float getPalletA3_angle() { - return this.getOpcFloatValue(item_palletA3_angle); + public int getPalletA3_angle() { + return this.getOpcIntegerValue(item_palletA3_angle); } - public Float getPressCribX1_line() { - return this.getOpcFloatValue(item_pressCribX1_line); + public int getPressCribX1_line() { + return this.getOpcIntegerValue(item_pressCribX1_line); } - public Float getPressCribY1_row() { - return this.getOpcFloatValue(item_pressCribY1_row); + public int getPressCribY1_row() { + return this.getOpcIntegerValue(item_pressCribY1_row); } - public Float getPressCribA1_angle() { - return this.getOpcFloatValue(item_pressCribA1_angle); + public int getPressCribA1_angle() { + return this.getOpcIntegerValue(item_pressCribA1_angle); } - public Float getPressCribX2_line() { - return this.getOpcFloatValue(item_pressCribX2_line); + public int getPressCribX2_line() { + return this.getOpcIntegerValue(item_pressCribX2_line); } - public Float getPressCribY2_row() { - return this.getOpcFloatValue(item_pressCribY2_row); + public int getPressCribY2_row() { + return this.getOpcIntegerValue(item_pressCribY2_row); } - public Float getPressCribA2_angle() { - return this.getOpcFloatValue(item_pressCribA2_angle); + public int getPressCribA2_angle() { + return this.getOpcIntegerValue(item_pressCribA2_angle); } - public Float getPressCribX3_line() { - return this.getOpcFloatValue(item_pressCribX3_line); + public int getPressCribX3_line() { + return this.getOpcIntegerValue(item_pressCribX3_line); } - public Float getPressCribY3_row() { - return this.getOpcFloatValue(item_pressCribY3_row); + public int getPressCribY3_row() { + return this.getOpcIntegerValue(item_pressCribY3_row); } - public Float getPressCribA3_angle() { - return this.getOpcFloatValue(item_pressCribA3_angle); + public int getPressCribA3_angle() { + return this.getOpcIntegerValue(item_pressCribA3_angle); } - public Float getZoffset() { - return this.getOpcFloatValue(item_Zoffset); + public int getZoffset() { + return this.getOpcIntegerValue(item_Zoffset); } public int getPallet_layerQty() { @@ -328,100 +343,100 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_pressCrib_layerQty); } - public Float getCodeLayerX1_interval() { - return this.getOpcFloatValue(item_codeLayerX1_interval); + public int getCodeLayerX1_interval() { + return this.getOpcIntegerValue(item_codeLayerX1_interval); } - public Float getCodeLayerY1_interval() { - return this.getOpcFloatValue(item_codeLayerY1_interval); + public int getCodeLayerY1_interval() { + return this.getOpcIntegerValue(item_codeLayerY1_interval); } - public Float getCodeLayerX2_interval() { - return this.getOpcFloatValue(item_codeLayerX2_interval); + public int getCodeLayerX2_interval() { + return this.getOpcIntegerValue(item_codeLayerX2_interval); } - public Float getCodeLayerY2_interval() { - return this.getOpcFloatValue(item_codeLayerY2_interval); + public int getCodeLayerY2_interval() { + return this.getOpcIntegerValue(item_codeLayerY2_interval); } - public Float getCodeLayerX3_interval() { - return this.getOpcFloatValue(item_codeLayerX3_interval); + public int getCodeLayerX3_interval() { + return this.getOpcIntegerValue(item_codeLayerX3_interval); } - public Float getcodeLayerY3_interval() { - return this.getOpcFloatValue(item_codeLayerY3_interval); + public int getcodeLayerY3_interval() { + return this.getOpcIntegerValue(item_codeLayerY3_interval); } - public Float getCodeLayerX1_offset() { - return this.getOpcFloatValue(item_codeLayerX1_offset); + public int getCodeLayerX1_offset() { + return this.getOpcIntegerValue(item_codeLayerX1_offset); } - public Float getCodeLayerY1_offset() { - return this.getOpcFloatValue(item_codeLayerY1_offset); + public int getCodeLayerY1_offset() { + return this.getOpcIntegerValue(item_codeLayerY1_offset); } - public Float getCodeLayerX2_offset() { - return this.getOpcFloatValue(item_codeLayerX2_offset); + public int getCodeLayerX2_offset() { + return this.getOpcIntegerValue(item_codeLayerX2_offset); } - public Float getCodeLayerY2_offset() { - return this.getOpcFloatValue(item_codeLayerY2_offset); + public int getCodeLayerY2_offset() { + return this.getOpcIntegerValue(item_codeLayerY2_offset); } - public Float getCodeLayerX3_offset() { - return this.getOpcFloatValue(item_codeLayerX3_offset); + public int getCodeLayerX3_offset() { + return this.getOpcIntegerValue(item_codeLayerX3_offset); } - public Float getCodeLayerY3_offset() { - return this.getOpcFloatValue(item_codeLayerY3_offset); + public int getCodeLayerY3_offset() { + return this.getOpcIntegerValue(item_codeLayerY3_offset); } - public Float getPressLayerX1_interval() { - return this.getOpcFloatValue(item_pressLayerX1_interval); + public int getPressLayerX1_interval() { + return this.getOpcIntegerValue(item_pressLayerX1_interval); } - public Float getPressLayerY1_interval() { - return this.getOpcFloatValue(item_pressLayerY1_interval); + public int getPressLayerY1_interval() { + return this.getOpcIntegerValue(item_pressLayerY1_interval); } - public Float getPressLayerX2_interval() { - return this.getOpcFloatValue(item_pressLayerX2_interval); + public int getPressLayerX2_interval() { + return this.getOpcIntegerValue(item_pressLayerX2_interval); } - public Float getPressLayerY2_interval() { - return this.getOpcFloatValue(item_pressLayerY2_interval); + public int getPressLayerY2_interval() { + return this.getOpcIntegerValue(item_pressLayerY2_interval); } - public Float getPressLayerX3_interval() { - return this.getOpcFloatValue(item_pressLayerX3_interval); + public int getPressLayerX3_interval() { + return this.getOpcIntegerValue(item_pressLayerX3_interval); } - public Float getPressLayerY3_interval() { - return this.getOpcFloatValue(item_pressLayerY3_interval); + public int getPressLayerY3_interval() { + return this.getOpcIntegerValue(item_pressLayerY3_interval); } - public Float getPressLayerX1_offset() { - return this.getOpcFloatValue(item_pressLayerX1_offset); + public int getPressLayerX1_offset() { + return this.getOpcIntegerValue(item_pressLayerX1_offset); } - public Float getPressLayerY1_offset() { - return this.getOpcFloatValue(item_pressLayerY1_offset); + public int getPressLayerY1_offset() { + return this.getOpcIntegerValue(item_pressLayerY1_offset); } - public Float getPressLayerX2_offset() { - return this.getOpcFloatValue(item_pressLayerX2_offset); + public int getPressLayerX2_offset() { + return this.getOpcIntegerValue(item_pressLayerX2_offset); } - public Float getPressLayerY2_offset() { - return this.getOpcFloatValue(item_pressLayerY2_offset); + public int getPressLayerY2_offset() { + return this.getOpcIntegerValue(item_pressLayerY2_offset); } - public Float getPressLayerX3_offset() { - return this.getOpcFloatValue(item_pressLayerX3_offset); + public int getPressLayerX3_offset() { + return this.getOpcIntegerValue(item_pressLayerX3_offset); } - public Float getPressLayerY3_offset() { - return this.getOpcFloatValue(item_pressLayerY3_offset); + public int getPressLayerY3_offset() { + return this.getOpcIntegerValue(item_pressLayerY3_offset); } public int getOne_cribTotal() { @@ -504,80 +519,80 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_crib_category); } - public Float getToPalletX1_line() { - return this.getOpcFloatValue(item_to_palletX1_line); + public int getToPalletX1_line() { + return this.getOpcIntegerValue(item_to_palletX1_line); } - public Float getToPalletY1_row() { - return this.getOpcFloatValue(item_to_palletY1_row); + public int getToPalletY1_row() { + return this.getOpcIntegerValue(item_to_palletY1_row); } - public Float getToPalletA1_angle() { - return this.getOpcFloatValue(item_to_palletA1_angle); + public int getToPalletA1_angle() { + return this.getOpcIntegerValue(item_to_palletA1_angle); } - public Float getToPalletX2_line() { - return this.getOpcFloatValue(item_to_palletX2_line); + public int getToPalletX2_line() { + return this.getOpcIntegerValue(item_to_palletX2_line); } - public Float getToPalletY2_row() { - return this.getOpcFloatValue(item_to_palletY2_row); + public int getToPalletY2_row() { + return this.getOpcIntegerValue(item_to_palletY2_row); } - public Float getToPalletA2_angle() { - return this.getOpcFloatValue(item_to_palletA2_angle); + public int getToPalletA2_angle() { + return this.getOpcIntegerValue(item_to_palletA2_angle); } - public Float getToPalletX3_line() { - return this.getOpcFloatValue(item_to_palletX3_line); + public int getToPalletX3_line() { + return this.getOpcIntegerValue(item_to_palletX3_line); } - public Float getToPalletY3_row() { - return this.getOpcFloatValue(item_to_palletY3_row); + public int getToPalletY3_row() { + return this.getOpcIntegerValue(item_to_palletY3_row); } - public Float getToPalletA3_angle() { - return this.getOpcFloatValue(item_to_palletA3_angle); + public int getToPalletA3_angle() { + return this.getOpcIntegerValue(item_to_palletA3_angle); } - public Float getToPressCribX1_line() { - return this.getOpcFloatValue(item_to_pressCribX1_line); + public int getToPressCribX1_line() { + return this.getOpcIntegerValue(item_to_pressCribX1_line); } - public Float getToPressCribY1_row() { - return this.getOpcFloatValue(item_to_pressCribY1_row); + public int getToPressCribY1_row() { + return this.getOpcIntegerValue(item_to_pressCribY1_row); } - public Float getToPressCribA1_angle() { - return this.getOpcFloatValue(item_to_pressCribA1_angle); + public int getToPressCribA1_angle() { + return this.getOpcIntegerValue(item_to_pressCribA1_angle); } - public Float getToPressCribX2_line() { - return this.getOpcFloatValue(item_to_pressCribX2_line); + public int getToPressCribX2_line() { + return this.getOpcIntegerValue(item_to_pressCribX2_line); } - public Float getToPressCribY2_row() { - return this.getOpcFloatValue(item_to_pressCribY2_row); + public int getToPressCribY2_row() { + return this.getOpcIntegerValue(item_to_pressCribY2_row); } - public Float getToPressCribA2_angle() { - return this.getOpcFloatValue(item_to_pressCribA2_angle); + public int getToPressCribA2_angle() { + return this.getOpcIntegerValue(item_to_pressCribA2_angle); } - public Float getToPressCribX3_line() { - return this.getOpcFloatValue(item_to_pressCribX3_line); + public int getToPressCribX3_line() { + return this.getOpcIntegerValue(item_to_pressCribX3_line); } - public Float getToPressCribY3_row() { - return this.getOpcFloatValue(item_to_pressCribY3_row); + public int getToPressCribY3_row() { + return this.getOpcIntegerValue(item_to_pressCribY3_row); } - public Float getToPressCribA3_angle() { - return this.getOpcFloatValue(item_to_pressCribA3_angle); + public int getToPressCribA3_angle() { + return this.getOpcIntegerValue(item_to_pressCribA3_angle); } - public Float getToZoffset() { - return this.getOpcFloatValue(item_to_Zoffset); + public int getToZoffset() { + return this.getOpcIntegerValue(item_to_Zoffset); } public int getToPallet_layerQty() { @@ -588,100 +603,100 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_pressCrib_layerQty); } - public Float getToCodeLayerX1_interval() { - return this.getOpcFloatValue(item_to_codeLayerX1_interval); + public int getToCodeLayerX1_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX1_interval); } - public Float getToCodeLayerY1_interval() { - return this.getOpcFloatValue(item_to_codeLayerY1_interval); + public int getToCodeLayerY1_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY1_interval); } - public Float getToCodeLayerX2_interval() { - return this.getOpcFloatValue(item_to_codeLayerX2_interval); + public int getToCodeLayerX2_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX2_interval); } - public Float getToCodeLayerY2_interval() { - return this.getOpcFloatValue(item_to_codeLayerY2_interval); + public int getToCodeLayerY2_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY2_interval); } - public Float getToCodeLayerX3_interval() { - return this.getOpcFloatValue(item_to_codeLayerX3_interval); + public int getToCodeLayerX3_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX3_interval); } - public Float getTocodeLayerY3_interval() { - return this.getOpcFloatValue(item_to_codeLayerY3_interval); + public int getTocodeLayerY3_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY3_interval); } - public Float getToCodeLayerX1_offset() { - return this.getOpcFloatValue(item_to_codeLayerX1_offset); + public int getToCodeLayerX1_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX1_offset); } - public Float getToCodeLayerY1_offset() { - return this.getOpcFloatValue(item_to_codeLayerY1_offset); + public int getToCodeLayerY1_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY1_offset); } - public Float getToCodeLayerX2_offset() { - return this.getOpcFloatValue(item_to_codeLayerX2_offset); + public int getToCodeLayerX2_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX2_offset); } - public Float getToCodeLayerY2_offset() { - return this.getOpcFloatValue(item_to_codeLayerY2_offset); + public int getToCodeLayerY2_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY2_offset); } - public Float getToCodeLayerX3_offset() { - return this.getOpcFloatValue(item_to_codeLayerX3_offset); + public int getToCodeLayerX3_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX3_offset); } - public Float getToCodeLayerY3_offset() { - return this.getOpcFloatValue(item_to_codeLayerY3_offset); + public int getToCodeLayerY3_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY3_offset); } - public Float getToPressLayerX1_interval() { - return this.getOpcFloatValue(item_to_pressLayerX1_interval); + public int getToPressLayerX1_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX1_interval); } - public Float getToPressLayerY1_interval() { - return this.getOpcFloatValue(item_to_pressLayerY1_interval); + public int getToPressLayerY1_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY1_interval); } - public Float getToPressLayerX2_interval() { - return this.getOpcFloatValue(item_to_pressLayerX2_interval); + public int getToPressLayerX2_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX2_interval); } - public Float getToPressLayerY2_interval() { - return this.getOpcFloatValue(item_to_pressLayerY2_interval); + public int getToPressLayerY2_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY2_interval); } - public Float getToPressLayerX3_interval() { - return this.getOpcFloatValue(item_to_pressLayerX3_interval); + public int getToPressLayerX3_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX3_interval); } - public Float getToPressLayerY3_interval() { - return this.getOpcFloatValue(item_to_pressLayerY3_interval); + public int getToPressLayerY3_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY3_interval); } - public Float getToPressLayerX1_offset() { - return this.getOpcFloatValue(item_to_pressLayerX1_offset); + public int getToPressLayerX1_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX1_offset); } - public Float getToPressLayerY1_offset() { - return this.getOpcFloatValue(item_to_pressLayerY1_offset); + public int getToPressLayerY1_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY1_offset); } - public Float getToPressLayerX2_offset() { - return this.getOpcFloatValue(item_to_pressLayerX2_offset); + public int getToPressLayerX2_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX2_offset); } - public Float getToPressLayerY2_offset() { - return this.getOpcFloatValue(item_to_pressLayerY2_offset); + public int getToPressLayerY2_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY2_offset); } - public Float getToPressLayerX3_offset() { - return this.getOpcFloatValue(item_to_pressLayerX3_offset); + public int getToPressLayerX3_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX3_offset); } - public Float getToPressLayerY3_offset() { - return this.getOpcFloatValue(item_to_pressLayerY3_offset); + public int getToPressLayerY3_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY3_offset); } public int getToOne_cribTotal() { @@ -750,74 +765,77 @@ public class ItemProtocol { list.add(new ItemDto(item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); list.add(new ItemDto(item_status, "设备状态", "DB1.B2")); list.add(new ItemDto(item_error, "故障代码", "DB1.B3")); - list.add(new ItemDto(item_putStation, "当前码盘工位", "DB1.D4")); - list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB1.S8")); - list.add(new ItemDto(item_material, "码盘工位当前物料", "DB1.S264")); - list.add(new ItemDto(item_qty, "数量", "DB1.D520")); - list.add(new ItemDto(item_open_time, "开机时间", "DB1.D524")); - list.add(new ItemDto(item_standby_time, "待机时间", "DB1.D528")); - list.add(new ItemDto(item_production_time, "生产时间", "DB1.D532")); - list.add(new ItemDto(item_error_time, "故障时间", "DB1.D536")); - list.add(new ItemDto(item_order_No, "工单号", "DB1.S540")); + list.add(new ItemDto(item_onoff_status, "开关机状态", "DB1.B4")); + list.add(new ItemDto(item_putStation, "当前码盘工位", "DB1.D6")); + list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB1.S10")); + list.add(new ItemDto(item_material, "码盘工位当前物料", "DB1.S266")); + list.add(new ItemDto(item_specifications, "规格", "DB1.S522")); + list.add(new ItemDto(item_batch, "批次", "DB1.D778")); + list.add(new ItemDto(item_qty, "数量", "DB1.D782")); + list.add(new ItemDto(item_open_time, "开机时间", "DB1.D786")); + list.add(new ItemDto(item_standby_time, "待机时间", "DB1.D790")); + list.add(new ItemDto(item_production_time, "生产时间", "DB1.D794")); + list.add(new ItemDto(item_error_time, "故障时间", "DB1.D798")); + list.add(new ItemDto(item_order_No, "工单号", "DB1.S802")); - list.add(new ItemDto(item_product_code, "产品编号", "DB1.D796")); - list.add(new ItemDto(item_AlongSide, "A长边", "DB1.D800")); - list.add(new ItemDto(item_BshortSide, "B短边", "DB1.D804")); - list.add(new ItemDto(item_Htrapezoidal, "H梯形高", "DB1.D808")); - list.add(new ItemDto(item_Wthickness, "W厚度", "DB1.D812")); - list.add(new ItemDto(item_tray_qty, "当前垛盘数", "DB1.D816")); - list.add(new ItemDto(item_tray_high, "垛盘高度", "DB1.D820")); - list.add(new ItemDto(item_crib_category, "垛型类别", "DB1.D824")); - list.add(new ItemDto(item_palletX1_line, "码垛X1行", "DB1.REAL828")); - list.add(new ItemDto(item_palletY1_row, "码垛Y1列", "DB1.REAL832")); - list.add(new ItemDto(item_palletA1_angle, "码垛A1角度", "DB1.REAL836")); - list.add(new ItemDto(item_palletX2_line, "码垛X2行", "DB1.REAL840")); - list.add(new ItemDto(item_palletY2_row, "码垛Y2列", "DB1.REAL844")); - list.add(new ItemDto(item_palletA2_angle, "码垛A2角度", "DB1.REAL848")); - list.add(new ItemDto(item_palletX3_line, "码垛X3行", "DB1.REAL852")); - list.add(new ItemDto(item_palletY3_row, "码垛Y3列", "DB1.REAL856")); - list.add(new ItemDto(item_palletA3_angle, "码垛A3角度", "DB1.REAL860")); - list.add(new ItemDto(item_pressCribX1_line, "压垛X1行", "DB1.REAL864")); - list.add(new ItemDto(item_pressCribY1_row, "压垛Y1列", "DB1.REAL868")); - list.add(new ItemDto(item_pressCribA1_angle, "压垛A1角度", "DB1.REAL872")); - list.add(new ItemDto(item_pressCribX2_line, "压垛X2行", "DB1.REAL876")); - list.add(new ItemDto(item_pressCribY2_row, "压垛Y2列", "DB1.REAL880")); - list.add(new ItemDto(item_pressCribA2_angle, "压垛A2角度", "DB1.REAL884")); - list.add(new ItemDto(item_pressCribX3_line, "压垛X3行", "DB1.REAL888")); - list.add(new ItemDto(item_pressCribY3_row, "压垛Y3列", "DB1.REAL892")); - list.add(new ItemDto(item_pressCribA3_angle, "压垛A3角度", "DB1.REAL896")); - list.add(new ItemDto(item_Zoffset, "Z轴偏移", "DB1.REAL900")); - list.add(new ItemDto(item_pallet_layerQty, "码垛层数", "DB1.D904")); - list.add(new ItemDto(item_pressCrib_layerQty, "压垛层数", "DB1.D908")); - list.add(new ItemDto(item_codeLayerX1_interval, "码层X1间隔", "DB1.REAL912")); - list.add(new ItemDto(item_codeLayerY1_interval, "码层Y1间隔", "DB1.REAL916")); - list.add(new ItemDto(item_codeLayerX2_interval, "码层X2间隔", "DB1.REAL920")); - list.add(new ItemDto(item_codeLayerY2_interval, "码层Y2间隔", "DB1.REAL924")); - list.add(new ItemDto(item_codeLayerX3_interval, "码层X3间隔", "DB1.REAL928")); - list.add(new ItemDto(item_codeLayerY3_interval, "码层Y3间隔", "DB1.REAL932")); - list.add(new ItemDto(item_codeLayerX1_offset, "码层X1偏移", "DB1.REAL936")); - list.add(new ItemDto(item_codeLayerY1_offset, "码层Y1偏移", "DB1.REAL940")); - list.add(new ItemDto(item_codeLayerX2_offset, "码层X2偏移", "DB1.REAL944")); - list.add(new ItemDto(item_codeLayerY2_offset, "码层Y2偏移", "DB1.REAL948")); - list.add(new ItemDto(item_codeLayerX3_offset, "码层X3偏移", "DB1.REAL952")); - list.add(new ItemDto(item_codeLayerY3_offset, "码层Y3偏移", "DB1.REAL956")); - list.add(new ItemDto(item_pressLayerX1_interval, "压层X1间隔", "DB1.REAL960")); - list.add(new ItemDto(item_pressLayerY1_interval, "压层Y1间隔", "DB1.REAL964")); - list.add(new ItemDto(item_pressLayerX2_interval, "压层X2间隔", "DB1.REAL968")); - list.add(new ItemDto(item_pressLayerY2_interval, "压层Y2间隔", "DB1.REAL972")); - list.add(new ItemDto(item_pressLayerX3_interval, "压层X3间隔", "DB1.REAL976")); - list.add(new ItemDto(item_pressLayerY3_interval, "压层Y3间隔", "DB1.REAL980")); - list.add(new ItemDto(item_pressLayerX1_offset, "压层X1偏移", "DB1.REAL984")); - list.add(new ItemDto(item_pressLayerY1_offset, "压层Y1偏移", "DB1.REAL988")); - list.add(new ItemDto(item_pressLayerX2_offset, "压层X2偏移", "DB1.REAL992")); - list.add(new ItemDto(item_pressLayerY2_offset, "压层Y2偏移", "DB1.REAL996")); - list.add(new ItemDto(item_pressLayerX3_offset, "压层X3偏移", "DB1.REAL1000")); - list.add(new ItemDto(item_pressLayerY3_offset, "压层Y3偏移", "DB1.REAL1004")); - list.add(new ItemDto(item_one_cribTotal, "1#垛总数", "DB1.D1008")); - list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB1.D1012")); - list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB1.D1016")); - list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB1.D1020")); - list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB1.D1024")); + list.add(new ItemDto(item_product_code, "产品编号", "DB1.W1058")); + list.add(new ItemDto(item_AlongSide, "A长边", "DB1.W1060")); + list.add(new ItemDto(item_BshortSide, "B短边", "DB1.W1062")); + list.add(new ItemDto(item_Htrapezoidal, "H梯形高", "DB1.W1064")); + list.add(new ItemDto(item_Wthickness, "W厚度", "DB1.W1066")); + list.add(new ItemDto(item_tray_qty, "当前垛盘数", "DB1.W1068")); + list.add(new ItemDto(item_tray_high, "垛盘高度", "DB1.W1070")); + list.add(new ItemDto(item_crib_category, "垛型类别", "DB1.W1072")); + list.add(new ItemDto(item_palletX1_line, "码垛X1行", "DB1.W1074")); + list.add(new ItemDto(item_palletY1_row, "码垛Y1列", "DB1.W1076")); + list.add(new ItemDto(item_palletA1_angle, "码垛A1角度", "DB1.W1078")); + list.add(new ItemDto(item_palletX2_line, "码垛X2行", "DB1.W1080")); + list.add(new ItemDto(item_palletY2_row, "码垛Y2列", "DB1.W1082")); + list.add(new ItemDto(item_palletA2_angle, "码垛A2角度", "DB1.W1084")); + list.add(new ItemDto(item_palletX3_line, "码垛X3行", "DB1.W1086")); + list.add(new ItemDto(item_palletY3_row, "码垛Y3列", "DB1.W1088")); + list.add(new ItemDto(item_palletA3_angle, "码垛A3角度", "DB1.W1090")); + list.add(new ItemDto(item_pressCribX1_line, "压垛X1行", "DB1.W1092")); + list.add(new ItemDto(item_pressCribY1_row, "压垛Y1列", "DB1.W1094")); + list.add(new ItemDto(item_pressCribA1_angle, "压垛A1角度", "DB1.W1096")); + list.add(new ItemDto(item_pressCribX2_line, "压垛X2行", "DB1.W1098")); + list.add(new ItemDto(item_pressCribY2_row, "压垛Y2列", "DB1.W1100")); + list.add(new ItemDto(item_pressCribA2_angle, "压垛A2角度", "DB1.W1102")); + list.add(new ItemDto(item_pressCribX3_line, "压垛X3行", "DB1.W1104")); + list.add(new ItemDto(item_pressCribY3_row, "压垛Y3列", "DB1.W1106")); + list.add(new ItemDto(item_pressCribA3_angle, "压垛A3角度", "DB1.W1108")); + list.add(new ItemDto(item_Zoffset, "Z轴偏移", "DB1.W1110")); + list.add(new ItemDto(item_pallet_layerQty, "码垛层数", "DB1.W1112")); + list.add(new ItemDto(item_pressCrib_layerQty, "压垛层数", "DB1.W1114")); + list.add(new ItemDto(item_codeLayerX1_interval, "码层X1间隔", "DB1.W1116")); + list.add(new ItemDto(item_codeLayerY1_interval, "码层Y1间隔", "DB1.W1118")); + list.add(new ItemDto(item_codeLayerX2_interval, "码层X2间隔", "DB1.W1120")); + list.add(new ItemDto(item_codeLayerY2_interval, "码层Y2间隔", "DB1.W1122")); + list.add(new ItemDto(item_codeLayerX3_interval, "码层X3间隔", "DB1.W1124")); + list.add(new ItemDto(item_codeLayerY3_interval, "码层Y3间隔", "DB1.W1126")); + list.add(new ItemDto(item_codeLayerX1_offset, "码层X1偏移", "DB1.W1128")); + list.add(new ItemDto(item_codeLayerY1_offset, "码层Y1偏移", "DB1.W1130")); + list.add(new ItemDto(item_codeLayerX2_offset, "码层X2偏移", "DB1.W1132")); + list.add(new ItemDto(item_codeLayerY2_offset, "码层Y2偏移", "DB1.W1134")); + list.add(new ItemDto(item_codeLayerX3_offset, "码层X3偏移", "DB1.W1136")); + list.add(new ItemDto(item_codeLayerY3_offset, "码层Y3偏移", "DB1.W1138")); + list.add(new ItemDto(item_pressLayerX1_interval, "压层X1间隔", "DB1.W1140")); + list.add(new ItemDto(item_pressLayerY1_interval, "压层Y1间隔", "DB1.W1142")); + list.add(new ItemDto(item_pressLayerX2_interval, "压层X2间隔", "DB1.W1144")); + list.add(new ItemDto(item_pressLayerY2_interval, "压层Y2间隔", "DB1.W1146")); + list.add(new ItemDto(item_pressLayerX3_interval, "压层X3间隔", "DB1.W1148")); + list.add(new ItemDto(item_pressLayerY3_interval, "压层Y3间隔", "DB1.W1150")); + list.add(new ItemDto(item_pressLayerX1_offset, "压层X1偏移", "DB1.W1152")); + list.add(new ItemDto(item_pressLayerY1_offset, "压层Y1偏移", "DB1.W1154")); + list.add(new ItemDto(item_pressLayerX2_offset, "压层X2偏移", "DB1.W1156")); + list.add(new ItemDto(item_pressLayerY2_offset, "压层Y2偏移", "DB1.W1158")); + list.add(new ItemDto(item_pressLayerX3_offset, "压层X3偏移", "DB1.W1160")); + list.add(new ItemDto(item_pressLayerY3_offset, "压层Y3偏移", "DB1.W1162")); + list.add(new ItemDto(item_one_cribTotal, "1#垛总数", "DB1.W1164")); + list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB1.W1166")); + list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB1.W1168")); + list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB1.W1170")); + list.add(new ItemDto(item_tool_coordinate, "工具坐标", "WB1.D1172")); return list; } @@ -831,64 +849,64 @@ public class ItemProtocol { list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB2.D10")); list.add(new ItemDto(item_to_order_No, "工单号", "DB2.S14")); - list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.D270")); - list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.D274")); - list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.D278")); - list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.D282")); - list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.D286")); - list.add(new ItemDto(item_to_tray_qty, "当前垛盘数", "DB2.D290")); - list.add(new ItemDto(item_to_tray_high, "垛盘高度", "DB2.D294")); - list.add(new ItemDto(item_to_crib_category, "垛型类别", "DB2.D298")); - list.add(new ItemDto(item_to_palletX1_line, "码垛X1行", "DB2.REAL302")); - list.add(new ItemDto(item_to_palletY1_row, "码垛Y1列", "DB2.REAL306")); - list.add(new ItemDto(item_to_palletA1_angle, "码垛A1角度", "DB2.REAL310")); - list.add(new ItemDto(item_to_palletX2_line, "码垛X2行", "DB2.REAL314")); - list.add(new ItemDto(item_to_palletY2_row, "码垛Y2列", "DB2.REAL318")); - list.add(new ItemDto(item_to_palletA2_angle, "码垛A2角度", "DB2.REAL322")); - list.add(new ItemDto(item_to_palletX3_line, "码垛X3行", "DB2.REAL326")); - list.add(new ItemDto(item_to_palletY3_row, "码垛Y3列", "DB2.REAL330")); - list.add(new ItemDto(item_to_palletA3_angle, "码垛A3角度", "DB2.REAL334")); - list.add(new ItemDto(item_to_pressCribX1_line, "压垛X1行", "DB2.REAL338")); - list.add(new ItemDto(item_to_pressCribY1_row, "压垛Y1列", "DB2.REAL342")); - list.add(new ItemDto(item_to_pressCribA1_angle, "压垛A1角度", "DB2.REAL346")); - list.add(new ItemDto(item_to_pressCribX2_line, "压垛X2行", "DB2.REAL350")); - list.add(new ItemDto(item_to_pressCribY2_row, "压垛Y2列", "DB2.REAL354")); - list.add(new ItemDto(item_to_pressCribA2_angle, "压垛A2角度", "DB2.REAL358")); - list.add(new ItemDto(item_to_pressCribX3_line, "压垛X3行", "DB2.REAL362")); - list.add(new ItemDto(item_to_pressCribY3_row, "压垛Y3列", "DB2.REAL366")); - list.add(new ItemDto(item_to_pressCribA3_angle, "压垛A3角度", "DB2.REAL370")); - list.add(new ItemDto(item_to_Zoffset, "Z轴偏移", "DB2.REAL374")); - list.add(new ItemDto(item_to_pallet_layerQty, "码垛层数", "DB2.D378")); - list.add(new ItemDto(item_to_pressCrib_layerQty, "压垛层数", "DB2.D382")); - list.add(new ItemDto(item_to_codeLayerX1_interval, "码层X1间隔", "DB2.REAL386")); - list.add(new ItemDto(item_to_codeLayerY1_interval, "码层Y1间隔", "DB2.REAL390")); - list.add(new ItemDto(item_to_codeLayerX2_interval, "码层X2间隔", "DB2.REAL394")); - list.add(new ItemDto(item_to_codeLayerY2_interval, "码层Y2间隔", "DB2.REAL398")); - list.add(new ItemDto(item_to_codeLayerX3_interval, "码层X3间隔", "DB2.REAL402")); - list.add(new ItemDto(item_to_codeLayerY3_interval, "码层Y3间隔", "DB2.REAL406")); - list.add(new ItemDto(item_to_codeLayerX1_offset, "码层X1偏移", "DB2.REAL410")); - list.add(new ItemDto(item_to_codeLayerY1_offset, "码层Y1偏移", "DB2.REAL414")); - list.add(new ItemDto(item_to_codeLayerX2_offset, "码层X2偏移", "DB2.REAL418")); - list.add(new ItemDto(item_to_codeLayerY2_offset, "码层Y2偏移", "DB2.REAL422")); - list.add(new ItemDto(item_to_codeLayerX3_offset, "码层X3偏移", "DB2.REAL426")); - list.add(new ItemDto(item_to_codeLayerY3_offset, "码层Y3偏移", "DB2.REAL430")); - list.add(new ItemDto(item_to_pressLayerX1_interval, "压层X1间隔", "DB2.REAL434")); - list.add(new ItemDto(item_to_pressLayerY1_interval, "压层Y1间隔", "DB2.REAL438")); - list.add(new ItemDto(item_to_pressLayerX2_interval, "压层X2间隔", "DB2.REAL442")); - list.add(new ItemDto(item_to_pressLayerY2_interval, "压层Y2间隔", "DB2.REAL446")); - list.add(new ItemDto(item_to_pressLayerX3_interval, "压层X3间隔", "DB2.REAL450")); - list.add(new ItemDto(item_to_pressLayerY3_interval, "压层Y3间隔", "DB2.REAL454")); - list.add(new ItemDto(item_to_pressLayerX1_offset, "压层X1偏移", "DB2.REAL458")); - list.add(new ItemDto(item_to_pressLayerY1_offset, "压层Y1偏移", "DB2.REAL462")); - list.add(new ItemDto(item_to_pressLayerX2_offset, "压层X2偏移", "DB2.REAL466")); - list.add(new ItemDto(item_to_pressLayerY2_offset, "压层Y2偏移", "DB2.REAL470")); - list.add(new ItemDto(item_to_pressLayerX3_offset, "压层X3偏移", "DB2.REAL474")); - list.add(new ItemDto(item_to_pressLayerY3_offset, "压层Y3偏移", "DB2.REAL478")); - list.add(new ItemDto(item_to_one_cribTotal, "1#垛总数", "DB2.D482")); - list.add(new ItemDto(item_to_two_cribTotal, "2#垛总数", "DB2.D486")); - list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB2.D490")); - list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB2.D494")); - list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB2. D498")); + list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.W270")); + list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.W272")); + list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.W274")); + list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.W276")); + list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.W278")); + list.add(new ItemDto(item_to_tray_qty, "当前垛盘数", "DB2.W280")); + list.add(new ItemDto(item_to_tray_high, "垛盘高度", "DB2.W282")); + list.add(new ItemDto(item_to_crib_category, "垛型类别", "DB2.W284")); + list.add(new ItemDto(item_to_palletX1_line, "码垛X1行", "DB2.W286")); + list.add(new ItemDto(item_to_palletY1_row, "码垛Y1列", "DB2.W288")); + list.add(new ItemDto(item_to_palletA1_angle, "码垛A1角度", "DB2.W290")); + list.add(new ItemDto(item_to_palletX2_line, "码垛X2行", "DB2.W292")); + list.add(new ItemDto(item_to_palletY2_row, "码垛Y2列", "DB2.W294")); + list.add(new ItemDto(item_to_palletA2_angle, "码垛A2角度", "DB2.W296")); + list.add(new ItemDto(item_to_palletX3_line, "码垛X3行", "DB2.W298")); + list.add(new ItemDto(item_to_palletY3_row, "码垛Y3列", "DB2.W300")); + list.add(new ItemDto(item_to_palletA3_angle, "码垛A3角度", "DB2.W302")); + list.add(new ItemDto(item_to_pressCribX1_line, "压垛X1行", "DB2.W304")); + list.add(new ItemDto(item_to_pressCribY1_row, "压垛Y1列", "DB2.W306")); + list.add(new ItemDto(item_to_pressCribA1_angle, "压垛A1角度", "DB2.W308")); + list.add(new ItemDto(item_to_pressCribX2_line, "压垛X2行", "DB2.W310")); + list.add(new ItemDto(item_to_pressCribY2_row, "压垛Y2列", "DB2.W312")); + list.add(new ItemDto(item_to_pressCribA2_angle, "压垛A2角度", "DB2.W314")); + list.add(new ItemDto(item_to_pressCribX3_line, "压垛X3行", "DB2.W316")); + list.add(new ItemDto(item_to_pressCribY3_row, "压垛Y3列", "DB2.W318")); + list.add(new ItemDto(item_to_pressCribA3_angle, "压垛A3角度", "DB2.W320")); + list.add(new ItemDto(item_to_Zoffset, "Z轴偏移", "DB2.W322")); + list.add(new ItemDto(item_to_pallet_layerQty, "码垛层数", "DB2.W324")); + list.add(new ItemDto(item_to_pressCrib_layerQty, "压垛层数", "DB2.W326")); + list.add(new ItemDto(item_to_codeLayerX1_interval, "码层X1间隔", "DB2.W328")); + list.add(new ItemDto(item_to_codeLayerY1_interval, "码层Y1间隔", "DB2.W330")); + list.add(new ItemDto(item_to_codeLayerX2_interval, "码层X2间隔", "DB2.W332")); + list.add(new ItemDto(item_to_codeLayerY2_interval, "码层Y2间隔", "DB2.W334")); + list.add(new ItemDto(item_to_codeLayerX3_interval, "码层X3间隔", "DB2.W336")); + list.add(new ItemDto(item_to_codeLayerY3_interval, "码层Y3间隔", "DB2.W338")); + list.add(new ItemDto(item_to_codeLayerX1_offset, "码层X1偏移", "DB2.W340")); + list.add(new ItemDto(item_to_codeLayerY1_offset, "码层Y1偏移", "DB2.W342")); + list.add(new ItemDto(item_to_codeLayerX2_offset, "码层X2偏移", "DB2.W344")); + list.add(new ItemDto(item_to_codeLayerY2_offset, "码层Y2偏移", "DB2.W346")); + list.add(new ItemDto(item_to_codeLayerX3_offset, "码层X3偏移", "DB2.W348")); + list.add(new ItemDto(item_to_codeLayerY3_offset, "码层Y3偏移", "DB2.W350")); + list.add(new ItemDto(item_to_pressLayerX1_interval, "压层X1间隔", "DB2.W352")); + list.add(new ItemDto(item_to_pressLayerY1_interval, "压层Y1间隔", "DB2.W354")); + list.add(new ItemDto(item_to_pressLayerX2_interval, "压层X2间隔", "DB2.W356")); + list.add(new ItemDto(item_to_pressLayerY2_interval, "压层Y2间隔", "DB2.W358")); + list.add(new ItemDto(item_to_pressLayerX3_interval, "压层X3间隔", "DB2.W360")); + list.add(new ItemDto(item_to_pressLayerY3_interval, "压层Y3间隔", "DB2.W362")); + list.add(new ItemDto(item_to_pressLayerX1_offset, "压层X1偏移", "DB2.W364")); + list.add(new ItemDto(item_to_pressLayerY1_offset, "压层Y1偏移", "DB2.W366")); + list.add(new ItemDto(item_to_pressLayerX2_offset, "压层X2偏移", "DB2.W368")); + list.add(new ItemDto(item_to_pressLayerY2_offset, "压层Y2偏移", "DB2.W370")); + list.add(new ItemDto(item_to_pressLayerX3_offset, "压层X3偏移", "DB2.W372")); + list.add(new ItemDto(item_to_pressLayerY3_offset, "压层Y3偏移", "DB2.W374")); + list.add(new ItemDto(item_to_one_cribTotal, "1#垛总数", "DB2.W376")); + list.add(new ItemDto(item_to_two_cribTotal, "2#垛总数", "DB2.W378")); + list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB2.W380")); + list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB2.W382")); + list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB2. W384")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java index 922e038..cc4b67d 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java @@ -24,12 +24,12 @@ public class LnshPackagePalletManipulatorDefination implements OpcDeviceDriverDe @Override public String getDriverName() { - return "晟华-包装码垛机械手"; + return "嘉耐-包装码垛机械手"; } @Override public String getDriverDescription() { - return "晟华-包装码垛机械手"; + return "嘉耐-包装码垛机械手"; } @Override @@ -61,74 +61,77 @@ public class LnshPackagePalletManipulatorDefination implements OpcDeviceDriverDe list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB1.B2")); list.add(new ItemDto(ItemProtocol.item_error, "故障代码", "DB1.B3")); - list.add(new ItemDto(ItemProtocol.item_putStation, "当前码盘工位", "DB1.D4")); - list.add(new ItemDto(ItemProtocol.item_barcode, "当前码盘工位条码", "DB1.S8")); - list.add(new ItemDto(ItemProtocol.item_material, "码盘工位当前物料", "DB1.S264")); - list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB1.D520")); - list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB1.D524")); - list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D528")); - list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D532")); - list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D536")); - list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB1.S540")); + list.add(new ItemDto(ItemProtocol.item_onoff_status, "开关机状态", "DB1.B4")); + list.add(new ItemDto(ItemProtocol.item_putStation, "当前码盘工位", "DB1.D6")); + list.add(new ItemDto(ItemProtocol.item_barcode, "当前码盘工位条码", "DB1.S10")); + list.add(new ItemDto(ItemProtocol.item_material, "码盘工位当前物料", "DB1.S266")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S522")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D778")); + list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB1.D782")); + list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB1.D786")); + list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D790")); + list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D794")); + list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D798")); + list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB1.S802")); - list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB1.D796")); - list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB1.D800")); - list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB1.D804")); - list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB1.D808")); - list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB1.D812")); - list.add(new ItemDto(ItemProtocol.item_tray_qty, "当前垛盘数", "DB1.D816")); - list.add(new ItemDto(ItemProtocol.item_tray_high, "垛盘高度", "DB1.D820")); - list.add(new ItemDto(ItemProtocol.item_crib_category, "垛型类别", "DB1.D824")); - list.add(new ItemDto(ItemProtocol.item_palletX1_line, "码垛X1行", "DB1.REAL828")); - list.add(new ItemDto(ItemProtocol.item_palletY1_row, "码垛Y1列", "DB1.REAL832")); - list.add(new ItemDto(ItemProtocol.item_palletA1_angle, "码垛A1角度", "DB1.REAL836")); - list.add(new ItemDto(ItemProtocol.item_palletX2_line, "码垛X2行", "DB1.REAL840")); - list.add(new ItemDto(ItemProtocol.item_palletY2_row, "码垛Y2列", "DB1.REAL844")); - list.add(new ItemDto(ItemProtocol.item_palletA2_angle, "码垛A2角度", "DB1.REAL848")); - list.add(new ItemDto(ItemProtocol.item_palletX3_line, "码垛X3行", "DB1.REAL852")); - list.add(new ItemDto(ItemProtocol.item_palletY3_row, "码垛Y3列", "DB1.REAL856")); - list.add(new ItemDto(ItemProtocol.item_palletA3_angle, "码垛A3角度", "DB1.REAL860")); - list.add(new ItemDto(ItemProtocol.item_pressCribX1_line, "压垛X1行", "DB1.REAL864")); - list.add(new ItemDto(ItemProtocol.item_pressCribY1_row, "压垛Y1列", "DB1.REAL868")); - list.add(new ItemDto(ItemProtocol.item_pressCribA1_angle, "压垛A1角度", "DB1.REAL872")); - list.add(new ItemDto(ItemProtocol.item_pressCribX2_line, "压垛X2行", "DB1.REAL876")); - list.add(new ItemDto(ItemProtocol.item_pressCribY2_row, "压垛Y2列", "DB1.REAL880")); - list.add(new ItemDto(ItemProtocol.item_pressCribA2_angle, "压垛A2角度", "DB1.REAL884")); - list.add(new ItemDto(ItemProtocol.item_pressCribX3_line, "压垛X3行", "DB1.REAL888")); - list.add(new ItemDto(ItemProtocol.item_pressCribY3_row, "压垛Y3列", "DB1.REAL892")); - list.add(new ItemDto(ItemProtocol.item_pressCribA3_angle, "压垛A3角度", "DB1.REAL896")); - list.add(new ItemDto(ItemProtocol.item_Zoffset, "Z轴偏移", "DB1.REAL900")); - list.add(new ItemDto(ItemProtocol.item_pallet_layerQty, "码垛层数", "DB1.D904")); - list.add(new ItemDto(ItemProtocol.item_pressCrib_layerQty, "压垛层数", "DB1.D908")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX1_interval, "码层X1间隔", "DB1.REAL912")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY1_interval, "码层Y1间隔", "DB1.REAL916")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX2_interval, "码层X2间隔", "DB1.REAL920")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY2_interval, "码层Y2间隔", "DB1.REAL924")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX3_interval, "码层X3间隔", "DB1.REAL928")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY3_interval, "码层Y3间隔", "DB1.REAL932")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX1_offset, "码层X1偏移", "DB1.REAL936")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY1_offset, "码层Y1偏移", "DB1.REAL940")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX2_offset, "码层X2偏移", "DB1.REAL944")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY2_offset, "码层Y2偏移", "DB1.REAL948")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX3_offset, "码层X3偏移", "DB1.REAL952")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY3_offset, "码层Y3偏移", "DB1.REAL956")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX1_interval, "压层X1间隔", "DB1.REAL960")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY1_interval, "压层Y1间隔", "DB1.REAL964")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX2_interval, "压层X2间隔", "DB1.REAL968")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY2_interval, "压层Y2间隔", "DB1.REAL972")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX3_interval, "压层X3间隔", "DB1.REAL976")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY3_interval, "压层Y3间隔", "DB1.REAL980")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX1_offset, "压层X1偏移", "DB1.REAL984")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY1_offset, "压层Y1偏移", "DB1.REAL988")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX2_offset, "压层X2偏移", "DB1.REAL992")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY2_offset, "压层Y2偏移", "DB1.REAL996")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX3_offset, "压层X3偏移", "DB1.REAL1000")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY3_offset, "压层Y3偏移", "DB1.REAL1004")); - list.add(new ItemDto(ItemProtocol.item_one_cribTotal, "1#垛总数", "DB1.D1008")); - list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB1.D1012")); - list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB1.D1016")); - list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB1.D1020")); - list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB1.D1024")); + list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB1.W1058")); + list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB1.W1060")); + list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB1.W1062")); + list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB1.W1064")); + list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB1.W1066")); + list.add(new ItemDto(ItemProtocol.item_tray_qty, "当前垛盘数", "DB1.W1068")); + list.add(new ItemDto(ItemProtocol.item_tray_high, "垛盘高度", "DB1.W1070")); + list.add(new ItemDto(ItemProtocol.item_crib_category, "垛型类别", "DB1.W1072")); + list.add(new ItemDto(ItemProtocol.item_palletX1_line, "码垛X1行", "DB1.W1074")); + list.add(new ItemDto(ItemProtocol.item_palletY1_row, "码垛Y1列", "DB1.W1076")); + list.add(new ItemDto(ItemProtocol.item_palletA1_angle, "码垛A1角度", "DB1.W1078")); + list.add(new ItemDto(ItemProtocol.item_palletX2_line, "码垛X2行", "DB1.W1080")); + list.add(new ItemDto(ItemProtocol.item_palletY2_row, "码垛Y2列", "DB1.W1082")); + list.add(new ItemDto(ItemProtocol.item_palletA2_angle, "码垛A2角度", "DB1.W1084")); + list.add(new ItemDto(ItemProtocol.item_palletX3_line, "码垛X3行", "DB1.W1086")); + list.add(new ItemDto(ItemProtocol.item_palletY3_row, "码垛Y3列", "DB1.W1088")); + list.add(new ItemDto(ItemProtocol.item_palletA3_angle, "码垛A3角度", "DB1.W1090")); + list.add(new ItemDto(ItemProtocol.item_pressCribX1_line, "压垛X1行", "DB1.W1092")); + list.add(new ItemDto(ItemProtocol.item_pressCribY1_row, "压垛Y1列", "DB1.W1094")); + list.add(new ItemDto(ItemProtocol.item_pressCribA1_angle, "压垛A1角度", "DB1.W1096")); + list.add(new ItemDto(ItemProtocol.item_pressCribX2_line, "压垛X2行", "DB1.W1098")); + list.add(new ItemDto(ItemProtocol.item_pressCribY2_row, "压垛Y2列", "DB1.W1100")); + list.add(new ItemDto(ItemProtocol.item_pressCribA2_angle, "压垛A2角度", "DB1.W1102")); + list.add(new ItemDto(ItemProtocol.item_pressCribX3_line, "压垛X3行", "DB1.W1104")); + list.add(new ItemDto(ItemProtocol.item_pressCribY3_row, "压垛Y3列", "DB1.W1106")); + list.add(new ItemDto(ItemProtocol.item_pressCribA3_angle, "压垛A3角度", "DB1.W1108")); + list.add(new ItemDto(ItemProtocol.item_Zoffset, "Z轴偏移", "DB1.W1110")); + list.add(new ItemDto(ItemProtocol.item_pallet_layerQty, "码垛层数", "DB1.W1112")); + list.add(new ItemDto(ItemProtocol.item_pressCrib_layerQty, "压垛层数", "DB1.W1114")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_interval, "码层X1间隔", "DB1.W1116")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_interval, "码层Y1间隔", "DB1.W1118")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_interval, "码层X2间隔", "DB1.W1120")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_interval, "码层Y2间隔", "DB1.W1122")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_interval, "码层X3间隔", "DB1.W1124")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_interval, "码层Y3间隔", "DB1.W1126")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_offset, "码层X1偏移", "DB1.W1128")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_offset, "码层Y1偏移", "DB1.W1130")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_offset, "码层X2偏移", "DB1.W1132")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_offset, "码层Y2偏移", "DB1.W1134")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_offset, "码层X3偏移", "DB1.W1136")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_offset, "码层Y3偏移", "DB1.W1138")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_interval, "压层X1间隔", "DB1.W1140")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_interval, "压层Y1间隔", "DB1.W1142")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_interval, "压层X2间隔", "DB1.W1144")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_interval, "压层Y2间隔", "DB1.W1146")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_interval, "压层X3间隔", "DB1.W1148")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_interval, "压层Y3间隔", "DB1.W1150")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_offset, "压层X1偏移", "DB1.W1152")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_offset, "压层Y1偏移", "DB1.W1154")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_offset, "压层X2偏移", "DB1.W1156")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_offset, "压层Y2偏移", "DB1.W1158")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_offset, "压层X3偏移", "DB1.W1160")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_offset, "压层Y3偏移", "DB1.W1162")); + list.add(new ItemDto(ItemProtocol.item_one_cribTotal, "1#垛总数", "DB1.W1164")); + list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB1.W1166")); + list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB1.W1168")); + list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB1.W1170")); + list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "WB1.D1172")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDeviceDriver.java index 5b13bda..b480466 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDeviceDriver.java @@ -40,7 +40,7 @@ import java.util.List; import java.util.Map; /** - * 晟华-包装码垛机械手 + * 嘉耐-包装码垛机械手 */ @Slf4j @Data @@ -90,6 +90,15 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD int flag; String device_code; + int onoff_status = 0; + int last_onoff_status = 0; + + String specifications = ""; + String last_specifications = ""; + + int batch = 0; + int last_batch = 0; + int status = 0; int last_status = 0; //开机时间 @@ -124,51 +133,51 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD int tray_qty = 0; int tray_high = 0; int crib_category = 0; - float palletX1_line = 0f; - float palletY1_row = 0f; - float palletA1_angle = 0f; - float palletX2_line = 0f; - float palletY2_row = 0f; - float palletA2_angle = 0f; - float palletX3_line = 0f; - float palletY3_row = 0f; - float palletA3_angle = 0f; - float pressCribX1_line = 0f; - float pressCribY1_row = 0f; - float pressCribA1_angle = 0f; - float pressCribX2_line = 0f; - float pressCribY2_row = 0f; - float pressCribA2_angle = 0f; - float pressCribX3_line = 0f; - float pressCribY3_row = 0f; - float pressCribA3_angle = 0f; - float Zoffset = 0f; + int palletX1_line = 0; + int palletY1_row = 0; + int palletA1_angle = 0; + int palletX2_line = 0; + int palletY2_row = 0; + int palletA2_angle = 0; + int palletX3_line = 0; + int palletY3_row = 0; + int palletA3_angle = 0; + int pressCribX1_line = 0; + int pressCribY1_row = 0; + int pressCribA1_angle = 0; + int pressCribX2_line = 0; + int pressCribY2_row = 0; + int pressCribA2_angle = 0; + int pressCribX3_line = 0; + int pressCribY3_row = 0; + int pressCribA3_angle = 0; + int Zoffset = 0; int pallet_layerQty = 0; int pressCrib_layerQty = 0; - float codeLayerX1_interval = 0f; - float codeLayerY1_interval = 0f; - float codeLayerX2_interval = 0f; - float codeLayerY2_interval = 0f; - float codeLayerX3_interval = 0f; - float codeLayerY3_interval = 0f; - float codeLayerX1_offset = 0f; - float codeLayerY1_offset = 0f; - float codeLayerX2_offset = 0f; - float codeLayerY2_offset = 0f; - float codeLayerX3_offset = 0f; - float codeLayerY3_offset = 0f; - float pressLayerX1_interval = 0f; - float pressLayerY1_interval = 0f; - float pressLayerX2_interval = 0f; - float pressLayerY2_interval = 0f; - float pressLayerX3_interval = 0f; - float pressLayerY3_interval = 0f; - float pressLayerX1_offset = 0f; - float pressLayerY1_offset = 0f; - float pressLayerX2_offset = 0f; - float pressLayerY2_offset = 0f; - float pressLayerX3_offset = 0f; - float pressLayerY3_offset = 0f; + int codeLayerX1_interval = 0; + int codeLayerY1_interval = 0; + int codeLayerX2_interval = 0; + int codeLayerY2_interval = 0; + int codeLayerX3_interval = 0; + int codeLayerY3_interval = 0; + int codeLayerX1_offset = 0; + int codeLayerY1_offset = 0; + int codeLayerX2_offset = 0; + int codeLayerY2_offset = 0; + int codeLayerX3_offset = 0; + int codeLayerY3_offset = 0; + int pressLayerX1_interval = 0; + int pressLayerY1_interval = 0; + int pressLayerX2_interval = 0; + int pressLayerY2_interval = 0; + int pressLayerX3_interval = 0; + int pressLayerY3_interval = 0; + int pressLayerX1_offset = 0; + int pressLayerY1_offset = 0; + int pressLayerX2_offset = 0; + int pressLayerY2_offset = 0; + int pressLayerX3_offset = 0; + int pressLayerY3_offset = 0; int one_cribTotal = 0; int two_cribTotal = 0; int one_qty = 0; @@ -183,51 +192,51 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD int last_tray_qty = 0; int last_tray_high = 0; int last_crib_category = 0; - float last_palletX1_line = 0f; - float last_palletY1_row = 0f; - float last_palletA1_angle = 0f; - float last_palletX2_line = 0f; - float last_palletY2_row = 0f; - float last_palletA2_angle = 0f; - float last_palletX3_line = 0f; - float last_palletY3_row = 0f; - float last_palletA3_angle = 0f; - float last_pressCribX1_line = 0f; - float last_pressCribY1_row = 0f; - float last_pressCribA1_angle = 0f; - float last_pressCribX2_line = 0f; - float last_pressCribY2_row = 0f; - float last_pressCribA2_angle = 0f; - float last_pressCribX3_line = 0f; - float last_pressCribY3_row = 0f; - float last_pressCribA3_angle = 0f; - float last_Zoffset = 0f; + int last_palletX1_line = 0; + int last_palletY1_row = 0; + int last_palletA1_angle = 0; + int last_palletX2_line = 0; + int last_palletY2_row = 0; + int last_palletA2_angle = 0; + int last_palletX3_line = 0; + int last_palletY3_row = 0; + int last_palletA3_angle = 0; + int last_pressCribX1_line = 0; + int last_pressCribY1_row = 0; + int last_pressCribA1_angle = 0; + int last_pressCribX2_line = 0; + int last_pressCribY2_row = 0; + int last_pressCribA2_angle = 0; + int last_pressCribX3_line = 0; + int last_pressCribY3_row = 0; + int last_pressCribA3_angle = 0; + int last_Zoffset = 0; int last_pallet_layerQty = 0; int last_pressCrib_layerQty = 0; - float last_codeLayerX1_interval = 0f; - float last_codeLayerY1_interval = 0f; - float last_codeLayerX2_interval = 0f; - float last_codeLayerY2_interval = 0f; - float last_codeLayerX3_interval = 0f; - float last_codeLayerY3_interval = 0f; - float last_codeLayerX1_offset = 0f; - float last_codeLayerY1_offset = 0f; - float last_codeLayerX2_offset = 0f; - float last_codeLayerY2_offset = 0f; - float last_codeLayerX3_offset = 0f; - float last_codeLayerY3_offset = 0f; - float last_pressLayerX1_interval = 0f; - float last_pressLayerY1_interval = 0f; - float last_pressLayerX2_interval = 0f; - float last_pressLayerY2_interval = 0f; - float last_pressLayerX3_interval = 0f; - float last_pressLayerY3_interval = 0f; - float last_pressLayerX1_offset = 0f; - float last_pressLayerY1_offset = 0f; - float last_pressLayerX2_offset = 0f; - float last_pressLayerY2_offset = 0f; - float last_pressLayerX3_offset = 0f; - float last_pressLayerY3_offset = 0f; + int last_codeLayerX1_interval = 0; + int last_codeLayerY1_interval = 0; + int last_codeLayerX2_interval = 0; + int last_codeLayerY2_interval = 0; + int last_codeLayerX3_interval = 0; + int last_codeLayerY3_interval = 0; + int last_codeLayerX1_offset = 0; + int last_codeLayerY1_offset = 0; + int last_codeLayerX2_offset = 0; + int last_codeLayerY2_offset = 0; + int last_codeLayerX3_offset = 0; + int last_codeLayerY3_offset = 0; + int last_pressLayerX1_interval = 0; + int last_pressLayerY1_interval = 0; + int last_pressLayerX2_interval = 0; + int last_pressLayerY2_interval = 0; + int last_pressLayerX3_interval = 0; + int last_pressLayerY3_interval = 0; + int last_pressLayerX1_offset = 0; + int last_pressLayerY1_offset = 0; + int last_pressLayerX2_offset = 0; + int last_pressLayerY2_offset = 0; + int last_pressLayerX3_offset = 0; + int last_pressLayerY3_offset = 0; int last_one_cribTotal = 0; int last_two_cribTotal = 0; int last_one_qty = 0; @@ -257,6 +266,9 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD error_time = this.itemProtocol.getError_time(); order_No = this.itemProtocol.getOrder_No(); qty = this.itemProtocol.getQty(); + onoff_status = this.itemProtocol.getOnoff_status(); + specifications = this.itemProtocol.getSpecifications(); + batch = this.itemProtocol.getBatch(); product_code = this.itemProtocol.getProduct_code(); AlongSide = this.itemProtocol.getAlongSide(); @@ -362,6 +374,18 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD logServer.deviceLog(this.device_code,"qty" ,String.valueOf(qty)); logServer.deviceLogToacs(this.device_code,"","","信号qty:" + last_qty + "->" + qty); } + if (onoff_status != last_onoff_status) { + logServer.deviceLog(this.device_code,"onoff_status" ,String.valueOf(onoff_status)); + logServer.deviceLogToacs(this.device_code,"","","信号onoff_status:" + last_onoff_status + "->" + onoff_status); + } + if (batch != last_batch) { + logServer.deviceLog(this.device_code,"batch" ,String.valueOf(batch)); + logServer.deviceLogToacs(this.device_code,"","","信号batch:" + last_batch + "->" + batch); + } + if (!StrUtil.equals(specifications,last_specifications)) { + logServer.deviceLog(this.device_code,"specifications", specifications); + logServer.deviceLogToacs(this.device_code,"","","信号specifications:" + last_specifications + "->" + specifications); + } if (!StrUtil.equals(order_No,last_order_No)) { logServer.deviceLog(this.device_code,"order_No" ,order_No); logServer.deviceLogToacs(this.device_code,"","","信号order_No:" + last_order_No + "->" + order_No); @@ -697,6 +721,9 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD last_barcode = barcode; last_material = material; last_qty = qty; + last_onoff_status = onoff_status; + last_specifications = specifications; + last_batch = batch; last_open_time = open_time; last_standby_time = standby_time; last_production_time = production_time; diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/ItemProtocol.java index 1137090..6ab055b 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/ItemProtocol.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/ItemProtocol.java @@ -124,10 +124,10 @@ public class ItemProtocol { list.add(new ItemDto(item_action, "动作", "DB1.B3")); list.add(new ItemDto(item_error, "故障代码", "DB1.B4")); list.add(new ItemDto(item_put_station, "当前码盘工位", "DB1.B5")); - list.add(new ItemDto(item_material, "码盘工位当前物料", "DB1.S262")); + list.add(new ItemDto(item_material, "码盘工位当前物料", "DB1.S6")); + list.add(new ItemDto(item_specifications, "规格", "DB1.S262")); list.add(new ItemDto(item_encoder_qty, "码盘位当前码盘数量", "DB1.D518")); list.add(new ItemDto(item_batch, "批次", "DB1.D522")); - list.add(new ItemDto(item_specifications, "规格", "DB1.D526")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDefination.java index a2c57be..9b2df14 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDefination.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; /** - * 晟华码垛机械手 + * 嘉耐码垛机械手 * */ @Service @@ -24,12 +24,12 @@ public class LnshPalletizingManipulatorDefination implements OpcDeviceDriverDefi @Override public String getDriverName() { - return "晟华-码垛机械手"; + return "嘉耐-码垛机械手"; } @Override public String getDriverDescription() { - return "晟华-码垛机械手"; + return "嘉耐-码垛机械手"; } @Override @@ -63,10 +63,10 @@ public class LnshPalletizingManipulatorDefination implements OpcDeviceDriverDefi list.add(new ItemDto(ItemProtocol.item_action, "动作", "DB1.B3")); list.add(new ItemDto(ItemProtocol.item_error, "故障代码", "DB1.B4")); list.add(new ItemDto(ItemProtocol.item_put_station, "当前码盘工位", "DB1.B5")); - list.add(new ItemDto(ItemProtocol.item_material, "码盘工位当前物料", "DB1.S262")); + list.add(new ItemDto(ItemProtocol.item_material, "码盘工位当前物料", "DB1.S6")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S262")); list.add(new ItemDto(ItemProtocol.item_encoder_qty, "码盘位当前码盘数量", "DB1.D518")); list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D522")); - list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.D526")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java index 9e23962..c5d1ebb 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator/LnshPalletizingManipulatorDeviceDriver.java @@ -37,7 +37,7 @@ import java.util.List; import java.util.Map; /** - * 晟华码垛机械手 + * 嘉耐码垛机械手 */ @Slf4j @Data diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/ItemProtocol.java new file mode 100644 index 0000000..63279f0 --- /dev/null +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/ItemProtocol.java @@ -0,0 +1,190 @@ +package org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator_site; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.nl.acs.device.device_driver.standard_inspect.ItemDto; + +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Data +public class ItemProtocol { + + public static String item_heartbeat = "heartbeat"; + public static String item_mode = "mode"; + public static String item_move = "move"; + public static String item_action = "action"; + public static String item_ioaction = "ioaction"; + public static String item_error = "error"; + public static String item_task = "task"; + public static String item_weight = "weight"; + public static String item_material = "material"; + public static String item_barcode = "barcode"; + public static String item_specifications = "specifications"; + public static String item_batch = "batch"; + public static String item_container_type = "container_type"; + public static String item_AlongSide = "AlongSide"; + public static String item_BshortSide = "BshortSide"; + public static String item_Htrapezoidal = "Htrapezoidal"; + public static String item_Wthickness = "Wthickness"; + + 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_to_barcode = "to_barcode"; + + + Boolean isonline; + + private LnshPalletizingManipulatorSiteDeviceDriver driver; + + public ItemProtocol(LnshPalletizingManipulatorSiteDeviceDriver driver) { + this.driver = driver; + } + + public int getHeartbeat() { + return this.getOpcIntegerValue(item_heartbeat); + } + + public int getMode() { + return this.getOpcIntegerValue(item_mode); + } + + public int getMove() { + return this.getOpcIntegerValue(item_move); + } + + public int getAction() { + return this.getOpcIntegerValue(item_action); + } + + public int getIoAction() { + return this.getOpcIntegerValue(item_ioaction); + } + + public int getError() { + return this.getOpcIntegerValue(item_error); + } + + public int getTask() { + return this.getOpcIntegerValue(item_task); + } + + public int getWeight() { + return this.getOpcIntegerValue(item_weight); + } + + public String getMaterial() { + return this.getOpcStringValue(item_material); + } + + public String getBarcode() { + return this.getOpcStringValue(item_barcode); + } + + public String getSpecifications() { + return this.getOpcStringValue(item_specifications); + } + + public int getBatch() { + return this.getOpcIntegerValue(item_batch); + } + + public int getContainer_type() { + return this.getOpcIntegerValue(item_container_type); + } + + public int getAlongSide() { + return this.getOpcIntegerValue(item_AlongSide); + } + + public int getBshortSide() { + return this.getOpcIntegerValue(item_BshortSide); + } + + public int getHtrapezoidal() { + return this.getOpcIntegerValue(item_Htrapezoidal); + } + + public int getWthickness() { + return this.getOpcIntegerValue(item_Wthickness); + } + + public int getToCommand() { + return this.getOpcIntegerValue(item_to_command); + } + + public int getToTarget() { + return this.getOpcIntegerValue(item_to_target); + } + + public int getToTask() { + return this.getOpcIntegerValue(item_to_task); + } + + public int getTo_barcode() { + return this.getOpcIntegerValue(item_to_barcode); + } + + //是否有货 + public int hasGoods(int move) { + return move; + } + + + public int getOpcIntegerValue(String protocol) { + Integer value = this.driver.getIntegeregerValue(protocol); + if (value == null) { + log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!"); + setIsonline(false); + } else { + setIsonline(true); + return value; + } + return 0; + } + public String getOpcStringValue(String protocol) { + String value = this.driver.getStringValue(protocol); + if (StrUtil.isEmpty(value)) { + log.error("读取错误!"); + } else { + return value; + } + return "0"; + } + + public static List getReadableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_heartbeat, "心跳", "DB4.B0")); + list.add(new ItemDto(item_mode, "工作状态", "DB4.B1", Boolean.valueOf(true))); + list.add(new ItemDto(item_move, "光电开关信号", "DB4.B2")); + list.add(new ItemDto(item_action, "取放信号", "DB4.B3")); + list.add(new ItemDto(item_ioaction, "进出信号", "DB4.B4")); + list.add(new ItemDto(item_error, "报警信号", "DB4.B5")); + list.add(new ItemDto(item_task, "任务号", "DB4.D6")); + list.add(new ItemDto(item_weight, "重量", "DB4.D10")); + list.add(new ItemDto(item_batch, "批次", "DB4.D14")); + list.add(new ItemDto(item_specifications, "规格", "DB4.S18")); + list.add(new ItemDto(item_material, "物料", "DB4.S274")); + list.add(new ItemDto(item_barcode, "条码", "DB4.S530")); + list.add(new ItemDto(item_container_type, "托盘类型", "DB4.B786")); + list.add(new ItemDto(item_AlongSide, "A长边", "DB4.W788")); + list.add(new ItemDto(item_BshortSide, "B短边", "DB4.W790")); + list.add(new ItemDto(item_Htrapezoidal, "H梯形高", "DB4.W792")); + list.add(new ItemDto(item_Wthickness, "W厚度", "DB4.W794")); + return list; + } + + public static List getWriteableItemDtos() { + ArrayList list = new ArrayList(); + list.add(new ItemDto(item_to_command, "作业命令", "DB5.W0", Boolean.valueOf(true))); + list.add(new ItemDto(item_to_target, "目标站", "DB5.W2")); + list.add(new ItemDto(item_to_task, "任务号", "DB5.D4")); + list.add(new ItemDto(item_to_barcode, "条码", "DB5.S8")); + return list; + } + +} + diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDefination.java new file mode 100644 index 0000000..c6ef447 --- /dev/null +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDefination.java @@ -0,0 +1,85 @@ +package org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator_site; + +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 LnshPalletizingManipulatorSiteDefination implements OpcDeviceDriverDefination { + @Override + public String getDriverCode() { + return "lnsh_palletizing_manipulator_site"; + } + + @Override + public String getDriverName() { + return "嘉耐-码垛机械手工位"; + } + + @Override + public String getDriverDescription() { + return "嘉耐-码垛机械手工位"; + } + + @Override + public DeviceDriver getDriverInstance(Device device) { + return (new LnshPalletizingManipulatorSiteDeviceDriver()).setDevice(device).setDriverDefination(this); + + } + + @Override + public Class getDeviceDriverType() { + return LnshPalletizingManipulatorSiteDeviceDriver.class; + } + + @Override + public List getFitDeviceTypes() { + List types = new LinkedList(); + types.add(DeviceType.station); + return types; + } + + @Override + public List getReadableItemDtos() { + return getReadableItemDtos2(); + } + + public static List getReadableItemDtos2() { + List list = new ArrayList(); + list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB4.B0")); + list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB4.B1", Boolean.valueOf(true))); + list.add(new ItemDto(ItemProtocol.item_move, "光电开关信号", "DB4.B2")); + list.add(new ItemDto(ItemProtocol.item_action, "取放信号", "DB4.B3")); + list.add(new ItemDto(ItemProtocol.item_ioaction, "进出信号", "DB4.B4")); + list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB4.B5")); + list.add(new ItemDto(ItemProtocol.item_task, "任务号", "DB4.D6")); + list.add(new ItemDto(ItemProtocol.item_weight, "重量", "DB4.D10")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB4.D14")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB4.S18")); + list.add(new ItemDto(ItemProtocol.item_material, "物料", "DB4.S274")); + list.add(new ItemDto(ItemProtocol.item_barcode, "条码", "DB4.S530")); + list.add(new ItemDto(ItemProtocol.item_container_type, "托盘类型", "DB4.S786")); + list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB4.W788")); + list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB4.W790")); + list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB4.W792")); + list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB4.W794")); + return list; + } + + @Override + public List getWriteableItemDtos() { + return ItemProtocol.getWriteableItemDtos(); + } + +} diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java new file mode 100644 index 0000000..ba0a76b --- /dev/null +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_palletizing_manipulator_site/LnshPalletizingManipulatorSiteDeviceDriver.java @@ -0,0 +1,475 @@ +package org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator_site; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpResponse; +import com.alibaba.fastjson.JSONObject; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.checkerframework.checker.units.qual.A; +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.RouteableDeviceDriver; +import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver; +import org.nl.acs.device_driver.driver.ExecutableDeviceDriver; +import org.nl.acs.ext.wms.service.AcsToWmsService; +import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.instruction.service.dto.Instruction; +import org.nl.acs.log.service.LogServer; +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.List; +import java.util.Map; + +/** + * 嘉耐-码垛机械手工位 + */ +@Slf4j +@Data +@RequiredArgsConstructor +public class LnshPalletizingManipulatorSiteDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver, RouteableDeviceDriver { + 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"); + @Autowired + LogServer logServer = SpringContextHolder.getBean("logServerImpl"); + @Autowired + AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl"); + + String device_code; + int mode = 0; + int error = 0; + int move = 0; + int action; + int io_action; + int task = 0; + int last_mode = 0; + int last_error = 0; + int last_move = 0; + int last_task = 0; + int last_action = 0; + int last_ioaction = 0; + Boolean isonline = true; + int hasGoods = 0; + Boolean iserror = false; + + protected int instruction_num = 0; + protected int instruction_num_truth = 0; + Integer heartbeat_tag; + private Date instruction_require_time = new Date(); + private Date instruction_finished_time = new Date(); + + private int instruction_require_time_out = 3000; + boolean requireSucess = false; + + private int instruction_finished_time_out; + + int heartbeat; + int last_heartbeat; + private Date checkHeartbeattime = new Date(); + private Date last_checkHeartbeattime = new Date(); + + + int branchProtocol = 0; + //当前指令 + Instruction inst = null; + //上次指令 + Instruction last_inst = null; + + //触摸屏手动触发任务 + private Boolean is_has_task = false; + + //暂定 0就绪 1请求取货 2取货完成 3请求放货 4放货完成 5取货完成离开 6放货完成离开 7请求进入区域 8请求离开区域 + int flag; + + String message; + int weight = 0; + int last_weight = 0; + String material; + String last_material; + String barcode; + String last_barcode; + String specifications = ""; + String last_specifications = ""; + int AlongSide = 0; + int last_AlongSide = 0; + int BshortSide = 0; + int last_BshortSide = 0; + int Htrapezoidal = 0; + int last_Htrapezoidal = 0; + int Wthickness = 0; + int last_Wthickness = 0; + int batch = 0; + int last_batch = 0; + + @Override + public Device getDevice() { + return this.device; + } + + + @Override + public void execute() { + String message = null; + try { + device_code = this.getDeviceCode(); + + mode = this.itemProtocol.getMode(); + error = this.itemProtocol.getError(); + move = this.itemProtocol.getMove(); + task = this.itemProtocol.getTask(); + hasGoods = this.itemProtocol.getMove(); + io_action = this.itemProtocol.getIoAction(); + action = this.itemProtocol.getAction(); + weight = this.itemProtocol.getWeight(); + material = this.itemProtocol.getMaterial(); + barcode = this.itemProtocol.getBarcode(); + batch = this.itemProtocol.getBatch(); + specifications = this.itemProtocol.getSpecifications(); + AlongSide = this.itemProtocol.getAlongSide(); + BshortSide = this.itemProtocol.getBshortSide(); + Htrapezoidal = this.itemProtocol.getHtrapezoidal(); + Wthickness = this.itemProtocol.getWthickness(); + + if (mode != last_mode) { + this.setRequireSucess(false); + logServer.deviceLog(this.device_code,"mode" ,String.valueOf(mode)); + logServer.deviceLogToacs(this.device_code,"","","信号mode:" + last_mode + "->" + mode); + } + if (move != last_move) { + logServer.deviceLog(this.device_code,"move" ,String.valueOf(move)); + logServer.deviceLogToacs(this.device_code,"","","信号move:" + last_move + "->" + move); + } + if (error != last_error) { + logServer.deviceLog(this.device_code,"error" ,String.valueOf(error)); + logServer.deviceLogToacs(this.device_code,"","","信号error:" + last_error + "->" + error); + } + if (task != last_task) { + logServer.deviceLog(this.device_code,"task",String.valueOf(task)); + logServer.deviceLogToacs(this.device_code,"","","信号task:" + last_task + "->" + task); + } + if (action != last_action) { + logServer.deviceLog(this.device_code,"action",String.valueOf(action)); + logServer.deviceLogToacs(this.device_code,"","","信号action:" + last_action + "->" + action); + } + if (io_action != last_ioaction) { + logServer.deviceLog(this.device_code,"io_action",String.valueOf(io_action)); + logServer.deviceLogToacs(this.device_code,"","","信号io_action: " + last_ioaction + "->" + io_action); + } + if (weight != last_weight) { + logServer.deviceLog(this.device_code,"weight",String.valueOf(weight)); + logServer.deviceLogToacs(this.device_code,"","","信号weight: " + last_weight + "->" + weight); + } + if (batch != last_batch) { + logServer.deviceLog(this.device_code,"batch",String.valueOf(batch)); + logServer.deviceLogToacs(this.device_code,"","","信号batch: " + last_batch + "->" + batch); + } + if (!StrUtil.equals(material,last_material)) { + logServer.deviceLog(this.device_code,"material", material); + logServer.deviceLogToacs(this.device_code,"","","信号material:" + last_material + "->" + material); + } + if (!StrUtil.equals(barcode,last_barcode)) { + logServer.deviceLog(this.device_code,"barcode", barcode); + logServer.deviceLogToacs(this.device_code,"","","信号barcode:" + last_barcode + "->" + barcode); + } + if (!StrUtil.equals(specifications,last_specifications)) { + logServer.deviceLog(this.device_code,"specifications", specifications); + logServer.deviceLogToacs(this.device_code,"","","信号specifications:" + last_specifications + "->" + specifications); + } + if (AlongSide != last_AlongSide) { + logServer.deviceLog(this.device_code,"AlongSide",String.valueOf(AlongSide)); + logServer.deviceLogToacs(this.device_code,"","","信号AlongSide: " + last_AlongSide + "->" + AlongSide); + } + if (BshortSide != last_BshortSide) { + logServer.deviceLog(this.device_code,"BshortSide",String.valueOf(BshortSide)); + logServer.deviceLogToacs(this.device_code,"","","信号BshortSide: " + last_BshortSide + "->" + BshortSide); + } + if (Htrapezoidal != last_Htrapezoidal) { + logServer.deviceLog(this.device_code,"Htrapezoidal",String.valueOf(Htrapezoidal)); + logServer.deviceLogToacs(this.device_code,"","","信号Htrapezoidal: " + last_Htrapezoidal + "->" + Htrapezoidal); + } + if (Wthickness != last_Wthickness) { + logServer.deviceLog(this.device_code,"Wthickness",String.valueOf(Wthickness)); + logServer.deviceLogToacs(this.device_code,"","","信号Wthickness: " + last_Wthickness + "->" + Wthickness); + } + + } catch (Exception var17) { + return; + } + + //急停 + if (this.isStop()) { + + //未在线无心跳 + } else if (!this.itemProtocol.getIsonline()) { + this.setIsonline(false); + this.setIserror(true); + message = "信号量同步异常"; + //未联机 + } else if (mode == 0) { + this.setIsonline(false); + this.setIserror(true); + message = "未联机"; + //有报警 + } else if (error != 0) { + this.setIsonline(false); + this.setIserror(true); + message = "有报警"; + //无报警 + } else { + this.setIsonline(true); + this.setIserror(false); + message = ""; + Instruction instruction = null; + List toInstructions; + switch (mode) { + case 1: + log.debug("设备运转模式:等待工作"); + break; + case 2: + break; + case 4: + //叫料 + if (!requireSucess && this.move == 0) { + callMaterial(); + } + break; + case 5: + //申请空盘 + if (!requireSucess && this.move == 0) { + applyEmpty(); + } + break; + case 6: + //申请入库 + if (!requireSucess && this.move != 0) { + putStorage(); + } + break; + } + + switch (flag) { + //取货完成 + case 2: + writing(2); + return; + //放货完成 + case 4: + writing(3); + return; + } + } + + last_mode = mode; + last_error = error; + last_move = move; + last_task = task; + last_action = action; + last_ioaction = io_action; + last_weight = weight; + last_material = material; + last_barcode = barcode; + last_specifications = specifications; + last_batch = batch; + last_AlongSide = AlongSide; + last_BshortSide = BshortSide; + last_Htrapezoidal = Htrapezoidal; + last_Wthickness = Wthickness; + } + + + /** + * 申请空盘 + * + * @param + */ + public synchronized boolean applyEmpty() { + 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 false; + } else { + this.instruction_require_time = date; + JSONObject json = new JSONObject(); + json.put("device_code",this.device_code); + json.put("type","4"); + json.put("vehicle_code",barcode); + HttpResponse result = acsToWmsService.lnshApplyTaskToWms(json); + if (ObjectUtil.isNotEmpty(result)) { + JSONObject jsonObject = JSONObject.parseObject(result.body()); + if (result.getStatus() == 200 && jsonObject.get("status").equals("200")) { + this.writing(1); + } + } + this.setRequireSucess(true); + return true; + } + } + + /** + * 叫料 + * + * @param + */ + public synchronized boolean callMaterial() { + 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 false; + } else { + this.instruction_require_time = date; + JSONObject json = new JSONObject(); + json.put("device_code",this.device_code); + json.put("type","2"); + json.put("pcsn",batch); + json.put("vehicle_code",barcode); + json.put("is_full","0"); + HttpResponse result = acsToWmsService.lnshApplyTaskToWms(json); + if (ObjectUtil.isNotEmpty(result)) { + JSONObject jsonObject = JSONObject.parseObject(result.body()); + if (result.getStatus() == 200 && jsonObject.get("status").equals("200")) { + this.writing(1); + } + } + this.setRequireSucess(true); + return true; + } + } + + /** + * 申请入库 + * + * @param + */ + public synchronized boolean putStorage() { + 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 false; + } else { + this.instruction_require_time = date; + JSONObject json = new JSONObject(); + json.put("device_code",this.device_code); + json.put("type","1"); + json.put("material",material); + json.put("vehicle_code",barcode); + json.put("is_full","1"); + HttpResponse result = acsToWmsService.lnshApplyTaskToWms(json); + if (ObjectUtil.isNotEmpty(result)) { + JSONObject jsonObject = JSONObject.parseObject(result.body()); + if (result.getStatus() == 200 && jsonObject.get("status").equals("200")) { + this.writing(1); + } + } + this.setRequireSucess(true); + return true; + } + } + + + public boolean exe_error() { + if (this.error == 0) { + return true; + } else { + log.debug("设备报警"); + return false; + } + } + + public boolean exe_business() { + return true; + } + + protected void executing(Instruction instruction) { + this.executing(1, instruction, ""); + } + + public void executing(int command, Instruction instruction, String appendMessage) { + String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_command; + String to_target = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_target; + String to_task = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_task; + if (appendMessage == null) { + appendMessage = ""; + } + if (instruction != null) { + instruction_num = Integer.parseInt(instruction.getInstruction_code()); + } + String opcservcerid = this.getDevice().getOpc_server_id(); + Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + itemMap.put(to_command, 1); + itemMap.put(to_task, instruction_num); + ReadUtil.write(itemMap, server); + + } + + public void executing(Server server, Map itemMap) { + ReadUtil.write(itemMap, server); + } + + public void writing(int type, int command) { + String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_command; + String to_target = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_target; + String to_task = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_task; + String opcservcerid = this.getDevice().getOpc_server_id(); + Server server = ReadUtil.getServer(opcservcerid); + Map itemMap = new HashMap(); + if (type == 1) { + itemMap.put(to_command, command); + } else if (type == 2) { + itemMap.put(to_target, command); + + } else if (type == 3) { + itemMap.put(to_task, command); + } + ReadUtil.write(itemMap, server); + + } + + public void writing(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); + } + + public synchronized void OpenOrClose(String type) { + + //进入区域 + if ("1".equals(type)) { + writing(5); + } else { + //离开区域 + writing(6); + } + } + + public String toString() { + return ""; + } + +} diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/ItemProtocol.java index ff7c8e2..827f407 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/ItemProtocol.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/ItemProtocol.java @@ -1,5 +1,6 @@ package org.nl.acs.device_driver.lnsh.lnsh_rgv; +import cn.hutool.core.util.StrUtil; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.nl.acs.device.device_driver.standard_inspect.ItemDto; @@ -26,6 +27,11 @@ public class ItemProtocol { public static String item_standby_time = "standby_time "; public static String item_production_time = "production_time"; public static String item_error_time = "error_time"; + public static String item_task_qty = "task_qty"; + public static String item_finishTask_qty = "finishTask_qty"; + public static String item_batch = "batch"; + public static String item_specifications = "specifications"; + public static String item_qty = "qty"; public static String item_to_command1 = "to_command1"; public static String item_to_onset1 = "to_onset1"; public static String item_to_target1 = "to_target1"; @@ -101,6 +107,26 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_task2); } + public int getTask_qty() { + return this.getOpcIntegerValue(item_task_qty); + } + + public int getFinishTask_qty() { + return this.getOpcIntegerValue(item_finishTask_qty); + } + + public int getBatch() { + return this.getOpcIntegerValue(item_batch); + } + + public String getSpecifications() { + return this.getOpcStringValue(item_specifications); + } + + public int getQty() { + return this.getOpcIntegerValue(item_qty); + } + public int getTo_command1() { return this.getOpcIntegerValue(item_to_command1); } @@ -153,6 +179,16 @@ public class ItemProtocol { } + public String getOpcStringValue(String protocol) { + String value = this.driver.getStringValue(protocol); + if (StrUtil.isEmpty(value)) { + log.error("读取错误!"); + } else { + return value; + } + return "0"; + } + public static List getReadableItemDtos() { ArrayList list = new ArrayList(); list.add(new ItemDto(item_heartbeat, "心跳", "DB1.B0")); @@ -170,6 +206,11 @@ public class ItemProtocol { list.add(new ItemDto(item_standby_time, "待机时间", "DB1.D22")); list.add(new ItemDto(item_production_time, "生产时间", "DB1.D26")); list.add(new ItemDto(item_error_time, "故障时间", "DB1.D30")); + list.add(new ItemDto(item_task_qty, "当前任务数量", "DB1.D34")); + list.add(new ItemDto(item_finishTask_qty, "完成任务数量", "DB1.D38")); + list.add(new ItemDto(item_batch, "批次", "DB1.D42")); + list.add(new ItemDto(item_qty, "数量", "DB1.D46")); + list.add(new ItemDto(item_specifications, "规格", "DB1.S50")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDefination.java index f019ec2..880afc7 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDefination.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; /** - * 晟华RGV + * 嘉耐双工位RGV * */ @Service @@ -24,12 +24,12 @@ public class LnshRGVDefination implements OpcDeviceDriverDefination { @Override public String getDriverName() { - return "晟华-RGV"; + return "嘉耐双工位RGV"; } @Override public String getDriverDescription() { - return "晟华-RGV"; + return "嘉耐双工位RGV"; } @Override @@ -72,6 +72,11 @@ public class LnshRGVDefination implements OpcDeviceDriverDefination { list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D22")); list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D26")); list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D30")); + list.add(new ItemDto(ItemProtocol.item_task_qty, "当前任务数量", "DB1.D34")); + list.add(new ItemDto(ItemProtocol.item_finishTask_qty, "完成任务数量", "DB1.D38")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D42")); + list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB1.D46")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S50")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDeviceDriver.java index 6dd14a4..e01bbbf 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_rgv/LnshRGVDeviceDriver.java @@ -35,7 +35,7 @@ import java.util.List; import java.util.Map; /** - * 晟华RGV + * 嘉耐双工位RGV */ @Slf4j @Data @@ -97,6 +97,21 @@ public class LnshRGVDeviceDriver extends AbstractOpcDeviceDriver implements Devi //故障时间 int error_time = 0; int last_error_time = 0; + //当前任务数量 + int task_qty = 0; + int last_task_qty = 0; + //完成任务数量 + int finishTask_qty = 0; + int last_finishTask_qty = 0; + + int batch = 0; + int last_batch = 0; + + int qty = 0; + int last_qty = 0; + + String specifications = ""; + String last_specifications = ""; @Override public Device getDevice() { @@ -123,6 +138,11 @@ public class LnshRGVDeviceDriver extends AbstractOpcDeviceDriver implements Devi standby_time = this.itemProtocol.getStandby_time(); production_time = this.itemProtocol.getProduction_time(); error_time = this.itemProtocol.getError_time(); + task_qty = this.itemProtocol.getTask_qty(); + finishTask_qty = this.itemProtocol.getFinishTask_qty(); + batch = this.itemProtocol.getBatch(); + specifications = this.itemProtocol.getSpecifications(); + qty = this.itemProtocol.getQty(); if (mode != last_mode) { this.setRequireSucess(false); @@ -181,6 +201,26 @@ public class LnshRGVDeviceDriver extends AbstractOpcDeviceDriver implements Devi logServer.deviceLog(this.device_code,"error_time" ,String.valueOf(error_time)); logServer.deviceLogToacs(this.device_code,"","","信号error_time:" + last_error_time + "->" + error_time); } + if (task_qty != last_task_qty) { + logServer.deviceLog(this.device_code,"task_qty" ,String.valueOf(task_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号task_qty:" + last_task_qty + "->" + task_qty); + } + if (finishTask_qty != last_finishTask_qty) { + logServer.deviceLog(this.device_code,"finishTask_qty" ,String.valueOf(finishTask_qty)); + logServer.deviceLogToacs(this.device_code,"","","信号finishTask_qty:" + last_finishTask_qty + "->" + finishTask_qty); + } + if (batch != last_batch) { + logServer.deviceLog(this.device_code,"batch" ,String.valueOf(batch)); + logServer.deviceLogToacs(this.device_code,"","","信号batch:" + last_batch + "->" + batch); + } + if (qty != last_qty) { + logServer.deviceLog(this.device_code,"qty" ,String.valueOf(qty)); + logServer.deviceLogToacs(this.device_code,"","","信号qty:" + last_qty + "->" + qty); + } + if (!StrUtil.equals(specifications,last_specifications)) { + logServer.deviceLog(this.device_code,"specifications" ,specifications); + logServer.deviceLogToacs(this.device_code,"","","信号specifications:" + last_specifications + "->" + specifications); + } } catch (Exception var17) { return; @@ -243,6 +283,11 @@ public class LnshRGVDeviceDriver extends AbstractOpcDeviceDriver implements Devi last_standby_time = standby_time; last_production_time = production_time; last_error_time = error_time; + last_task_qty = task_qty; + last_finishTask_qty = finishTask_qty; + last_specifications = specifications; + last_batch = batch; + last_qty = qty; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/ItemProtocol.java index b7555fd..3d3eb7e 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/ItemProtocol.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/ItemProtocol.java @@ -18,6 +18,7 @@ public class ItemProtocol { public static String item_error = "error"; public static String item_getStation = "getStation"; public static String item_barcode = "barcode"; + public static String item_qty = "qty"; public static String item_open_time = "open_time"; public static String item_standby_time = "standby_time "; public static String item_production_time = "production_time"; @@ -28,10 +29,128 @@ public class ItemProtocol { public static String item_specifications = "specifications"; public static String item_onoff_status = "onoff_status"; + public static String item_product_code = "product_code"; + public static String item_AlongSide = "AlongSide"; + public static String item_BshortSide = "BshortSide"; + public static String item_Htrapezoidal = "Htrapezoidal"; + public static String item_Wthickness = "Wthickness"; + public static String item_tray_qty = "tray_qty"; + public static String item_tray_high = "tray_high"; + public static String item_crib_category = "crib_category"; + public static String item_palletX1_line = "palletX1_line"; + public static String item_palletY1_row = "palletY1_row"; + public static String item_palletA1_angle = "palletA1_angle"; + public static String item_palletX2_line = "palletX2_line"; + public static String item_palletY2_row = "palletY2_row"; + public static String item_palletA2_angle = "palletA2_angle"; + public static String item_palletX3_line = "palletX3_line"; + public static String item_palletY3_row = "palletY3_row"; + public static String item_palletA3_angle = "palletA3_angle"; + public static String item_pressCribX1_line = "pressCribX1_line"; + public static String item_pressCribY1_row = "pressCribY1_row"; + public static String item_pressCribA1_angle = "pressCribA1_angle"; + public static String item_pressCribX2_line = "pressCribX2_line"; + public static String item_pressCribY2_row = "pressCribY2_row"; + public static String item_pressCribA2_angle = "pressCribA2_angle"; + public static String item_pressCribX3_line = "pressCribX3_line"; + public static String item_pressCribY3_row = "pressCribY3_row"; + public static String item_pressCribA3_angle = "pressCribA3_angle"; + public static String item_Zoffset = "Zoffset"; + public static String item_pallet_layerQty = "pallet_layerQty"; + public static String item_pressCrib_layerQty = "pressCrib_layerQty"; + public static String item_codeLayerX1_interval = "codeLayerX1_interval"; + public static String item_codeLayerY1_interval = "codeLayerY1_interval"; + public static String item_codeLayerX2_interval = "codeLayerX2_interval"; + public static String item_codeLayerY2_interval = "codeLayerY2_interval"; + public static String item_codeLayerX3_interval = "codeLayerX3_interval"; + public static String item_codeLayerY3_interval = "codeLayerY3_interval"; + public static String item_codeLayerX1_offset = "codeLayerX1_offset"; + public static String item_codeLayerY1_offset = "codeLayerY1_offset"; + public static String item_codeLayerX2_offset = "codeLayerX2_offset"; + public static String item_codeLayerY2_offset = "codeLayerY2_offset"; + public static String item_codeLayerX3_offset = "codeLayerX3_offset"; + public static String item_codeLayerY3_offset = "codeLayerY3_offset"; + public static String item_pressLayerX1_interval = "pressLayerX1_interval"; + public static String item_pressLayerY1_interval = "pressLayerY1_interval"; + public static String item_pressLayerX2_interval = "pressLayerX2_interval"; + public static String item_pressLayerY2_interval = "pressLayerY2_interval"; + public static String item_pressLayerX3_interval = "pressLayerX3_interval"; + public static String item_pressLayerY3_interval = "pressLayerY3_interval"; + public static String item_pressLayerX1_offset = "pressLayerX1_offset"; + public static String item_pressLayerY1_offset = "pressLayerY1_offset"; + public static String item_pressLayerX2_offset = "pressLayerX2_offset"; + public static String item_pressLayerY2_offset = "pressLayerY2_offset"; + public static String item_pressLayerX3_offset = "pressLayerX3_offset"; + public static String item_pressLayerY3_offset = "pressLayerY3_offset"; + public static String item_one_cribTotal = "one_cribTotal"; + public static String item_two_cribTotal = "two_cribTotal"; + public static String item_one_qty = "one_qty"; + public static String item_two_qty = "two_qty"; + public static String item_tool_coordinate = "tool_coordinate"; + public static String item_to_feedback = "to_feedback"; public static String item_to_error = "to_error"; public static String item_to_material = "to_material"; + public static String item_to_product_code = "to_product_code"; + public static String item_to_AlongSide = "to_AlongSide"; + public static String item_to_BshortSide = "to_BshortSide"; + public static String item_to_Htrapezoidal = "to_Htrapezoidal"; + public static String item_to_Wthickness = "to_Wthickness"; + public static String item_to_tray_qty = "to_tray_qty"; + public static String item_to_tray_high = "to_tray_high"; + public static String item_to_crib_category = "to_crib_category"; + public static String item_to_palletX1_line = "to_palletX1_line"; + public static String item_to_palletY1_row = "to_palletY1_row"; + public static String item_to_palletA1_angle = "to_palletA1_angle"; + public static String item_to_palletX2_line = "to_palletX2_line"; + public static String item_to_palletY2_row = "to_palletY2_row"; + public static String item_to_palletA2_angle = "to_palletA2_angle"; + public static String item_to_palletX3_line = "to_palletX3_line"; + public static String item_to_palletY3_row = "to_palletY3_row"; + public static String item_to_palletA3_angle = "to_palletA3_angle"; + public static String item_to_pressCribX1_line = "to_pressCribX1_line"; + public static String item_to_pressCribY1_row = "to_pressCribY1_row"; + public static String item_to_pressCribA1_angle = "to_pressCribA1_angle"; + public static String item_to_pressCribX2_line = "to_pressCribX2_line"; + public static String item_to_pressCribY2_row = "to_pressCribY2_row"; + public static String item_to_pressCribA2_angle = "to_pressCribA2_angle"; + public static String item_to_pressCribX3_line = "to_pressCribX3_line"; + public static String item_to_pressCribY3_row = "to_pressCribY3_row"; + public static String item_to_pressCribA3_angle = "to_pressCribA3_angle"; + public static String item_to_Zoffset = "to_Zoffset"; + public static String item_to_pallet_layerQty = "to_pallet_layerQty"; + public static String item_to_pressCrib_layerQty = "to_pressCrib_layerQty"; + public static String item_to_codeLayerX1_interval = "to_codeLayerX1_interval"; + public static String item_to_codeLayerY1_interval = "to_codeLayerY1_interval"; + public static String item_to_codeLayerX2_interval = "to_codeLayerX2_interval"; + public static String item_to_codeLayerY2_interval = "to_codeLayerY2_interval"; + public static String item_to_codeLayerX3_interval = "to_codeLayerX3_interval"; + public static String item_to_codeLayerY3_interval = "to_codeLayerY3_interval"; + public static String item_to_codeLayerX1_offset = "to_codeLayerX1_offset"; + public static String item_to_codeLayerY1_offset = "to_codeLayerY1_offset"; + public static String item_to_codeLayerX2_offset = "to_codeLayerX2_offset"; + public static String item_to_codeLayerY2_offset = "to_codeLayerY2_offset"; + public static String item_to_codeLayerX3_offset = "to_codeLayerX3_offset"; + public static String item_to_codeLayerY3_offset = "to_codeLayerY3_offset"; + public static String item_to_pressLayerX1_interval = "to_pressLayerX1_interval"; + public static String item_to_pressLayerY1_interval = "to_pressLayerY1_interval"; + public static String item_to_pressLayerX2_interval = "to_pressLayerX2_interval"; + public static String item_to_pressLayerY2_interval = "to_pressLayerY2_interval"; + public static String item_to_pressLayerX3_interval = "to_pressLayerX3_interval"; + public static String item_to_pressLayerY3_interval = "to_pressLayerY3_interval"; + public static String item_to_pressLayerX1_offset = "to_pressLayerX1_offset"; + public static String item_to_pressLayerY1_offset = "to_pressLayerY1_offset"; + public static String item_to_pressLayerX2_offset = "to_pressLayerX2_offset"; + public static String item_to_pressLayerY2_offset = "to_pressLayerY2_offset"; + public static String item_to_pressLayerX3_offset = "to_pressLayerX3_offset"; + public static String item_to_pressLayerY3_offset = "to_pressLayerY3_offset"; + public static String item_to_one_cribTotal = "to_one_cribTotal"; + public static String item_to_two_cribTotal = "to_two_cribTotal"; + public static String item_to_one_qty = "to_one_qty"; + public static String item_to_two_qty = "to_two_qty"; + public static String item_to_tool_coordinate = "to_tool_coordinate"; + private LnshSplitManipulatorDeviceDriver driver; public ItemProtocol(LnshSplitManipulatorDeviceDriver driver) { @@ -54,6 +173,10 @@ public class ItemProtocol { return this.getOpcStringValue(item_barcode); } + public int getQty() { + return this.getOpcIntegerValue(item_qty); + } + public int getOpen_time() { return this.getOpcIntegerValue(item_open_time); } @@ -94,6 +217,238 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_onoff_status); } + public int getProduct_code() { + return this.getOpcIntegerValue(item_product_code); + } + + public int getAlongSide() { + return this.getOpcIntegerValue(item_AlongSide); + } + + public int getBshortSide() { + return this.getOpcIntegerValue(item_BshortSide); + } + + public int getHtrapezoidal() { + return this.getOpcIntegerValue(item_Htrapezoidal); + } + + public int getWthickness() { + return this.getOpcIntegerValue(item_Wthickness); + } + + public int getTray_qty() { + return this.getOpcIntegerValue(item_tray_qty); + } + + public int getTray_high() { + return this.getOpcIntegerValue(item_tray_high); + } + + public int getCrib_category() { + return this.getOpcIntegerValue(item_crib_category); + } + + public int getPalletX1_line() { + return this.getOpcIntegerValue(item_palletX1_line); + } + + public int getPalletY1_row() { + return this.getOpcIntegerValue(item_palletY1_row); + } + + public int getPalletA1_angle() { + return this.getOpcIntegerValue(item_palletA1_angle); + } + + public int getPalletX2_line() { + return this.getOpcIntegerValue(item_palletX2_line); + } + + public int getPalletY2_row() { + return this.getOpcIntegerValue(item_palletY2_row); + } + + public int getPalletA2_angle() { + return this.getOpcIntegerValue(item_palletA2_angle); + } + + public int getPalletX3_line() { + return this.getOpcIntegerValue(item_palletX3_line); + } + + public int getPalletY3_row() { + return this.getOpcIntegerValue(item_palletY3_row); + } + + public int getPalletA3_angle() { + return this.getOpcIntegerValue(item_palletA3_angle); + } + + public int getPressCribX1_line() { + return this.getOpcIntegerValue(item_pressCribX1_line); + } + + public int getPressCribY1_row() { + return this.getOpcIntegerValue(item_pressCribY1_row); + } + + public int getPressCribA1_angle() { + return this.getOpcIntegerValue(item_pressCribA1_angle); + } + + public int getPressCribX2_line() { + return this.getOpcIntegerValue(item_pressCribX2_line); + } + + public int getPressCribY2_row() { + return this.getOpcIntegerValue(item_pressCribY2_row); + } + + public int getPressCribA2_angle() { + return this.getOpcIntegerValue(item_pressCribA2_angle); + } + + public int getPressCribX3_line() { + return this.getOpcIntegerValue(item_pressCribX3_line); + } + + public int getPressCribY3_row() { + return this.getOpcIntegerValue(item_pressCribY3_row); + } + + public int getPressCribA3_angle() { + return this.getOpcIntegerValue(item_pressCribA3_angle); + } + + public int getZoffset() { + return this.getOpcIntegerValue(item_Zoffset); + } + + public int getPallet_layerQty() { + return this.getOpcIntegerValue(item_pallet_layerQty); + } + + public int getPressCrib_layerQty() { + return this.getOpcIntegerValue(item_pressCrib_layerQty); + } + + public int getCodeLayerX1_interval() { + return this.getOpcIntegerValue(item_codeLayerX1_interval); + } + + public int getCodeLayerY1_interval() { + return this.getOpcIntegerValue(item_codeLayerY1_interval); + } + + public int getCodeLayerX2_interval() { + return this.getOpcIntegerValue(item_codeLayerX2_interval); + } + + public int getCodeLayerY2_interval() { + return this.getOpcIntegerValue(item_codeLayerY2_interval); + } + + public int getCodeLayerX3_interval() { + return this.getOpcIntegerValue(item_codeLayerX3_interval); + } + + public int getcodeLayerY3_interval() { + return this.getOpcIntegerValue(item_codeLayerY3_interval); + } + + public int getCodeLayerX1_offset() { + return this.getOpcIntegerValue(item_codeLayerX1_offset); + } + + public int getCodeLayerY1_offset() { + return this.getOpcIntegerValue(item_codeLayerY1_offset); + } + + public int getCodeLayerX2_offset() { + return this.getOpcIntegerValue(item_codeLayerX2_offset); + } + + public int getCodeLayerY2_offset() { + return this.getOpcIntegerValue(item_codeLayerY2_offset); + } + + public int getCodeLayerX3_offset() { + return this.getOpcIntegerValue(item_codeLayerX3_offset); + } + + public int getCodeLayerY3_offset() { + return this.getOpcIntegerValue(item_codeLayerY3_offset); + } + + public int getPressLayerX1_interval() { + return this.getOpcIntegerValue(item_pressLayerX1_interval); + } + + public int getPressLayerY1_interval() { + return this.getOpcIntegerValue(item_pressLayerY1_interval); + } + + public int getPressLayerX2_interval() { + return this.getOpcIntegerValue(item_pressLayerX2_interval); + } + + public int getPressLayerY2_interval() { + return this.getOpcIntegerValue(item_pressLayerY2_interval); + } + + public int getPressLayerX3_interval() { + return this.getOpcIntegerValue(item_pressLayerX3_interval); + } + + public int getPressLayerY3_interval() { + return this.getOpcIntegerValue(item_pressLayerY3_interval); + } + + public int getPressLayerX1_offset() { + return this.getOpcIntegerValue(item_pressLayerX1_offset); + } + + public int getPressLayerY1_offset() { + return this.getOpcIntegerValue(item_pressLayerY1_offset); + } + + public int getPressLayerX2_offset() { + return this.getOpcIntegerValue(item_pressLayerX2_offset); + } + + public int getPressLayerY2_offset() { + return this.getOpcIntegerValue(item_pressLayerY2_offset); + } + + public int getPressLayerX3_offset() { + return this.getOpcIntegerValue(item_pressLayerX3_offset); + } + + public int getPressLayerY3_offset() { + return this.getOpcIntegerValue(item_pressLayerY3_offset); + } + + public int getOne_cribTotal() { + return this.getOpcIntegerValue(item_one_cribTotal); + } + + public int getTwo_cribTotal() { + return this.getOpcIntegerValue(item_two_cribTotal); + } + + public int getOne_qty() { + return this.getOpcIntegerValue(item_one_qty); + } + + public int getTwo_qty() { + return this.getOpcIntegerValue(item_two_qty); + } + + public int getTool_coordinate() { + return this.getOpcIntegerValue(item_tool_coordinate); + } + public int getTo_feedback() { return this.getOpcIntegerValue(item_to_feedback); } @@ -106,6 +461,238 @@ public class ItemProtocol { return this.getOpcStringValue(item_to_material); } + public int getToProduct_code() { + return this.getOpcIntegerValue(item_to_product_code); + } + + public int getToAlongSide() { + return this.getOpcIntegerValue(item_to_AlongSide); + } + + public int getToBshortSide() { + return this.getOpcIntegerValue(item_to_BshortSide); + } + + public int getToHtrapezoidal() { + return this.getOpcIntegerValue(item_to_Htrapezoidal); + } + + public int getToWthickness() { + return this.getOpcIntegerValue(item_to_Wthickness); + } + + public int getToTray_qty() { + return this.getOpcIntegerValue(item_to_tray_qty); + } + + public int getToTray_high() { + return this.getOpcIntegerValue(item_to_tray_high); + } + + public int getToCrib_category() { + return this.getOpcIntegerValue(item_to_crib_category); + } + + public int getToPalletX1_line() { + return this.getOpcIntegerValue(item_to_palletX1_line); + } + + public int getToPalletY1_row() { + return this.getOpcIntegerValue(item_to_palletY1_row); + } + + public int getToPalletA1_angle() { + return this.getOpcIntegerValue(item_to_palletA1_angle); + } + + public int getToPalletX2_line() { + return this.getOpcIntegerValue(item_to_palletX2_line); + } + + public int getToPalletY2_row() { + return this.getOpcIntegerValue(item_to_palletY2_row); + } + + public int getToPalletA2_angle() { + return this.getOpcIntegerValue(item_to_palletA2_angle); + } + + public int getToPalletX3_line() { + return this.getOpcIntegerValue(item_to_palletX3_line); + } + + public int getToPalletY3_row() { + return this.getOpcIntegerValue(item_to_palletY3_row); + } + + public int getToPalletA3_angle() { + return this.getOpcIntegerValue(item_to_palletA3_angle); + } + + public int getToPressCribX1_line() { + return this.getOpcIntegerValue(item_to_pressCribX1_line); + } + + public int getToPressCribY1_row() { + return this.getOpcIntegerValue(item_to_pressCribY1_row); + } + + public int getToPressCribA1_angle() { + return this.getOpcIntegerValue(item_to_pressCribA1_angle); + } + + public int getToPressCribX2_line() { + return this.getOpcIntegerValue(item_to_pressCribX2_line); + } + + public int getToPressCribY2_row() { + return this.getOpcIntegerValue(item_to_pressCribY2_row); + } + + public int getToPressCribA2_angle() { + return this.getOpcIntegerValue(item_to_pressCribA2_angle); + } + + public int getToPressCribX3_line() { + return this.getOpcIntegerValue(item_to_pressCribX3_line); + } + + public int getToPressCribY3_row() { + return this.getOpcIntegerValue(item_to_pressCribY3_row); + } + + public int getToPressCribA3_angle() { + return this.getOpcIntegerValue(item_to_pressCribA3_angle); + } + + public int getToZoffset() { + return this.getOpcIntegerValue(item_to_Zoffset); + } + + public int getToPallet_layerQty() { + return this.getOpcIntegerValue(item_to_pallet_layerQty); + } + + public int getToPressCrib_layerQty() { + return this.getOpcIntegerValue(item_to_pressCrib_layerQty); + } + + public int getToCodeLayerX1_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX1_interval); + } + + public int getToCodeLayerY1_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY1_interval); + } + + public int getToCodeLayerX2_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX2_interval); + } + + public int getToCodeLayerY2_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY2_interval); + } + + public int getToCodeLayerX3_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX3_interval); + } + + public int getTocodeLayerY3_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY3_interval); + } + + public int getToCodeLayerX1_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX1_offset); + } + + public int getToCodeLayerY1_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY1_offset); + } + + public int getToCodeLayerX2_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX2_offset); + } + + public int getToCodeLayerY2_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY2_offset); + } + + public int getToCodeLayerX3_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX3_offset); + } + + public int getToCodeLayerY3_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY3_offset); + } + + public int getToPressLayerX1_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX1_interval); + } + + public int getToPressLayerY1_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY1_interval); + } + + public int getToPressLayerX2_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX2_interval); + } + + public int getToPressLayerY2_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY2_interval); + } + + public int getToPressLayerX3_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX3_interval); + } + + public int getToPressLayerY3_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY3_interval); + } + + public int getToPressLayerX1_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX1_offset); + } + + public int getToPressLayerY1_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY1_offset); + } + + public int getToPressLayerX2_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX2_offset); + } + + public int getToPressLayerY2_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY2_offset); + } + + public int getToPressLayerX3_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX3_offset); + } + + public int getToPressLayerY3_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY3_offset); + } + + public int getToOne_cribTotal() { + return this.getOpcIntegerValue(item_to_one_cribTotal); + } + + public int getToTwo_cribTotal() { + return this.getOpcIntegerValue(item_to_two_cribTotal); + } + + public int getToOne_qty() { + return this.getOpcIntegerValue(item_to_one_qty); + } + + public int getToTwo_qty() { + return this.getOpcIntegerValue(item_to_two_qty); + } + + public int getToTool_coordinate() { + return this.getOpcIntegerValue(item_to_tool_coordinate); + } + //是否有货 public int hasGoods(int move) { return move; @@ -150,26 +737,145 @@ public class ItemProtocol { ArrayList list = new ArrayList(); list.add(new ItemDto(item_heartbeat, "心跳", "DB7.B0")); list.add(new ItemDto(item_mode, "工作状态", "DB7.B1", Boolean.valueOf(true))); - list.add(new ItemDto(item_error, "故障", "DB7.B3")); - list.add(new ItemDto(item_onoff_status, "开关机状态", "DB7.B4")); - list.add(new ItemDto(item_getStation, "当前抓取工位", "DB7.D5")); - list.add(new ItemDto(item_barcode, "条码", "DB7.S9")); - list.add(new ItemDto(item_open_time, "开机时间", "DB7.D265")); - list.add(new ItemDto(item_standby_time, "待机时间", "DB7.D521")); - list.add(new ItemDto(item_production_time, "生产时间", "DB7.D525")); - list.add(new ItemDto(item_error_time, "故障时间", "DB7.D529")); - list.add(new ItemDto(item_material, "物料", "DB7.D533")); - list.add(new ItemDto(item_total_split, "累计拆垛数量", "DB7.D537")); - list.add(new ItemDto(item_batch, "批次", "DB7.D541")); - list.add(new ItemDto(item_specifications, "规格", "DB7.S545")); + list.add(new ItemDto(item_error, "故障", "DB7.B2")); + list.add(new ItemDto(item_onoff_status, "开关机状态", "DB7.B3")); + list.add(new ItemDto(item_getStation, "当前抓取工位", "DB7.D4")); + list.add(new ItemDto(item_barcode, "条码", "DB7.S8")); + list.add(new ItemDto(item_material, "物料", "DB7.S264")); + list.add(new ItemDto(item_qty, "数量", "DB7.D520")); + list.add(new ItemDto(item_open_time, "开机时间", "DB7.D524")); + list.add(new ItemDto(item_standby_time, "待机时间", "DB7.D528")); + list.add(new ItemDto(item_production_time, "生产时间", "DB7.D532")); + list.add(new ItemDto(item_error_time, "故障时间", "DB7.D536")); + list.add(new ItemDto(item_total_split, "累计拆垛数量", "DB7.D540")); + list.add(new ItemDto(item_batch, "批次", "DB7.D544")); + list.add(new ItemDto(item_specifications, "规格", "DB7.S548")); + + list.add(new ItemDto(item_product_code, "产品编号", "DB1.W804")); + list.add(new ItemDto(item_AlongSide, "A长边", "DB1.W806")); + list.add(new ItemDto(item_BshortSide, "B短边", "DB1.W808")); + list.add(new ItemDto(item_Htrapezoidal, "H梯形高", "DB1.W810")); + list.add(new ItemDto(item_Wthickness, "W厚度", "DB1.W812")); + list.add(new ItemDto(item_tray_qty, "当前垛盘数", "DB1.W814")); + list.add(new ItemDto(item_tray_high, "垛盘高度", "DB1.W816")); + list.add(new ItemDto(item_crib_category, "垛型类别", "DB1.W818")); + list.add(new ItemDto(item_palletX1_line, "码垛X1行", "DB1.W820")); + list.add(new ItemDto(item_palletY1_row, "码垛Y1列", "DB1.W822")); + list.add(new ItemDto(item_palletA1_angle, "码垛A1角度", "DB1.W824")); + list.add(new ItemDto(item_palletX2_line, "码垛X2行", "DB1.W826")); + list.add(new ItemDto(item_palletY2_row, "码垛Y2列", "DB1.W828")); + list.add(new ItemDto(item_palletA2_angle, "码垛A2角度", "DB1.W830")); + list.add(new ItemDto(item_palletX3_line, "码垛X3行", "DB1.W832")); + list.add(new ItemDto(item_palletY3_row, "码垛Y3列", "DB1.W834")); + list.add(new ItemDto(item_palletA3_angle, "码垛A3角度", "DB1.W836")); + list.add(new ItemDto(item_pressCribX1_line, "压垛X1行", "DB1.W838")); + list.add(new ItemDto(item_pressCribY1_row, "压垛Y1列", "DB1.W840")); + list.add(new ItemDto(item_pressCribA1_angle, "压垛A1角度", "DB1.W842")); + list.add(new ItemDto(item_pressCribX2_line, "压垛X2行", "DB1.W844")); + list.add(new ItemDto(item_pressCribY2_row, "压垛Y2列", "DB1.W846")); + list.add(new ItemDto(item_pressCribA2_angle, "压垛A2角度", "DB1.W848")); + list.add(new ItemDto(item_pressCribX3_line, "压垛X3行", "DB1.W850")); + list.add(new ItemDto(item_pressCribY3_row, "压垛Y3列", "DB1.W852")); + list.add(new ItemDto(item_pressCribA3_angle, "压垛A3角度", "DB1.W854")); + list.add(new ItemDto(item_Zoffset, "Z轴偏移", "DB1.W856")); + list.add(new ItemDto(item_pallet_layerQty, "码垛层数", "DB1.W858")); + list.add(new ItemDto(item_pressCrib_layerQty, "压垛层数", "DB1.W860")); + list.add(new ItemDto(item_codeLayerX1_interval, "码层X1间隔", "DB1.W862")); + list.add(new ItemDto(item_codeLayerY1_interval, "码层Y1间隔", "DB1.W864")); + list.add(new ItemDto(item_codeLayerX2_interval, "码层X2间隔", "DB1.W866")); + list.add(new ItemDto(item_codeLayerY2_interval, "码层Y2间隔", "DB1.W868")); + list.add(new ItemDto(item_codeLayerX3_interval, "码层X3间隔", "DB1.W870")); + list.add(new ItemDto(item_codeLayerY3_interval, "码层Y3间隔", "DB1.W872")); + list.add(new ItemDto(item_codeLayerX1_offset, "码层X1偏移", "DB1.W874")); + list.add(new ItemDto(item_codeLayerY1_offset, "码层Y1偏移", "DB1.W876")); + list.add(new ItemDto(item_codeLayerX2_offset, "码层X2偏移", "DB1.W878")); + list.add(new ItemDto(item_codeLayerY2_offset, "码层Y2偏移", "DB1.W880")); + list.add(new ItemDto(item_codeLayerX3_offset, "码层X3偏移", "DB1.W882")); + list.add(new ItemDto(item_codeLayerY3_offset, "码层Y3偏移", "DB1.W884")); + list.add(new ItemDto(item_pressLayerX1_interval, "压层X1间隔", "DB1.W886")); + list.add(new ItemDto(item_pressLayerY1_interval, "压层Y1间隔", "DB1.W888")); + list.add(new ItemDto(item_pressLayerX2_interval, "压层X2间隔", "DB1.W890")); + list.add(new ItemDto(item_pressLayerY2_interval, "压层Y2间隔", "DB1.W892")); + list.add(new ItemDto(item_pressLayerX3_interval, "压层X3间隔", "DB1.W894")); + list.add(new ItemDto(item_pressLayerY3_interval, "压层Y3间隔", "DB1.W896")); + list.add(new ItemDto(item_pressLayerX1_offset, "压层X1偏移", "DB1.W898")); + list.add(new ItemDto(item_pressLayerY1_offset, "压层Y1偏移", "DB1.W900")); + list.add(new ItemDto(item_pressLayerX2_offset, "压层X2偏移", "DB1.W902")); + list.add(new ItemDto(item_pressLayerY2_offset, "压层Y2偏移", "DB1.W904")); + list.add(new ItemDto(item_pressLayerX3_offset, "压层X3偏移", "DB1.W906")); + list.add(new ItemDto(item_pressLayerY3_offset, "压层Y3偏移", "DB1.W908")); + list.add(new ItemDto(item_one_cribTotal, "1#垛总数", "DB1.W910")); + list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB1.W912")); + list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB1.W914")); + list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB1.W916")); + list.add(new ItemDto(item_tool_coordinate, "工具坐标", "WB1.D918")); return list; } public static List getWriteableItemDtos() { ArrayList list = new ArrayList(); list.add(new ItemDto(item_to_feedback, "机器人动作反馈", "DB8.W0")); - list.add(new ItemDto(item_to_error, "故障代码", "DB8.W1")); - list.add(new ItemDto(item_to_material, "物料", "DB8.S2")); + list.add(new ItemDto(item_to_error, "故障代码", "DB8.W2")); + list.add(new ItemDto(item_to_material, "物料", "DB8.S4")); + + list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.W260")); + list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.W262")); + list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.W264")); + list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.W266")); + list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.W268")); + list.add(new ItemDto(item_to_tray_qty, "当前垛盘数", "DB2.W270")); + list.add(new ItemDto(item_to_tray_high, "垛盘高度", "DB2.W272")); + list.add(new ItemDto(item_to_crib_category, "垛型类别", "DB2.W274")); + list.add(new ItemDto(item_to_palletX1_line, "码垛X1行", "DB2.W276")); + list.add(new ItemDto(item_to_palletY1_row, "码垛Y1列", "DB2.W278")); + list.add(new ItemDto(item_to_palletA1_angle, "码垛A1角度", "DB2.W280")); + list.add(new ItemDto(item_to_palletX2_line, "码垛X2行", "DB2.W282")); + list.add(new ItemDto(item_to_palletY2_row, "码垛Y2列", "DB2.W284")); + list.add(new ItemDto(item_to_palletA2_angle, "码垛A2角度", "DB2.W286")); + list.add(new ItemDto(item_to_palletX3_line, "码垛X3行", "DB2.W288")); + list.add(new ItemDto(item_to_palletY3_row, "码垛Y3列", "DB2.W290")); + list.add(new ItemDto(item_to_palletA3_angle, "码垛A3角度", "DB2.W292")); + list.add(new ItemDto(item_to_pressCribX1_line, "压垛X1行", "DB2.W294")); + list.add(new ItemDto(item_to_pressCribY1_row, "压垛Y1列", "DB2.W296")); + list.add(new ItemDto(item_to_pressCribA1_angle, "压垛A1角度", "DB2.W298")); + list.add(new ItemDto(item_to_pressCribX2_line, "压垛X2行", "DB2.W300")); + list.add(new ItemDto(item_to_pressCribY2_row, "压垛Y2列", "DB2.W302")); + list.add(new ItemDto(item_to_pressCribA2_angle, "压垛A2角度", "DB2.W304")); + list.add(new ItemDto(item_to_pressCribX3_line, "压垛X3行", "DB2.W306")); + list.add(new ItemDto(item_to_pressCribY3_row, "压垛Y3列", "DB2.W308")); + list.add(new ItemDto(item_to_pressCribA3_angle, "压垛A3角度", "DB2.W310")); + list.add(new ItemDto(item_to_Zoffset, "Z轴偏移", "DB2.W312")); + list.add(new ItemDto(item_to_pallet_layerQty, "码垛层数", "DB2.W314")); + list.add(new ItemDto(item_to_pressCrib_layerQty, "压垛层数", "DB2.W316")); + list.add(new ItemDto(item_to_codeLayerX1_interval, "码层X1间隔", "DB2.W318")); + list.add(new ItemDto(item_to_codeLayerY1_interval, "码层Y1间隔", "DB2.W320")); + list.add(new ItemDto(item_to_codeLayerX2_interval, "码层X2间隔", "DB2.W322")); + list.add(new ItemDto(item_to_codeLayerY2_interval, "码层Y2间隔", "DB2.W324")); + list.add(new ItemDto(item_to_codeLayerX3_interval, "码层X3间隔", "DB2.W326")); + list.add(new ItemDto(item_to_codeLayerY3_interval, "码层Y3间隔", "DB2.W328")); + list.add(new ItemDto(item_to_codeLayerX1_offset, "码层X1偏移", "DB2.W330")); + list.add(new ItemDto(item_to_codeLayerY1_offset, "码层Y1偏移", "DB2.W332")); + list.add(new ItemDto(item_to_codeLayerX2_offset, "码层X2偏移", "DB2.W334")); + list.add(new ItemDto(item_to_codeLayerY2_offset, "码层Y2偏移", "DB2.W336")); + list.add(new ItemDto(item_to_codeLayerX3_offset, "码层X3偏移", "DB2.W338")); + list.add(new ItemDto(item_to_codeLayerY3_offset, "码层Y3偏移", "DB2.W340")); + list.add(new ItemDto(item_to_pressLayerX1_interval, "压层X1间隔", "DB2.W342")); + list.add(new ItemDto(item_to_pressLayerY1_interval, "压层Y1间隔", "DB2.W344")); + list.add(new ItemDto(item_to_pressLayerX2_interval, "压层X2间隔", "DB2.W346")); + list.add(new ItemDto(item_to_pressLayerY2_interval, "压层Y2间隔", "DB2.W348")); + list.add(new ItemDto(item_to_pressLayerX3_interval, "压层X3间隔", "DB2.W350")); + list.add(new ItemDto(item_to_pressLayerY3_interval, "压层Y3间隔", "DB2.W352")); + list.add(new ItemDto(item_to_pressLayerX1_offset, "压层X1偏移", "DB2.W354")); + list.add(new ItemDto(item_to_pressLayerY1_offset, "压层Y1偏移", "DB2.W356")); + list.add(new ItemDto(item_to_pressLayerX2_offset, "压层X2偏移", "DB2.W358")); + list.add(new ItemDto(item_to_pressLayerY2_offset, "压层Y2偏移", "DB2.W360")); + list.add(new ItemDto(item_to_pressLayerX3_offset, "压层X3偏移", "DB2.W362")); + list.add(new ItemDto(item_to_pressLayerY3_offset, "压层Y3偏移", "DB2.W364")); + list.add(new ItemDto(item_to_one_cribTotal, "1#垛总数", "DB2.W366")); + list.add(new ItemDto(item_to_two_cribTotal, "2#垛总数", "DB2.W368")); + list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB2.W370")); + list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB2.W372")); + list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB2. W374")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDefination.java index 8cc35ac..35fed72 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDefination.java @@ -24,12 +24,12 @@ public class LnshSplitManipulatorDefination implements OpcDeviceDriverDefination @Override public String getDriverName() { - return "晟华-拆垛机械手"; + return "嘉耐-拆垛机械手"; } @Override public String getDriverDescription() { - return "晟华-拆垛机械手"; + return "嘉耐-拆垛机械手"; } @Override @@ -59,18 +59,78 @@ public class LnshSplitManipulatorDefination implements OpcDeviceDriverDefination ArrayList list = new ArrayList(); list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB7.B0")); list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB7.B1", Boolean.valueOf(true))); - list.add(new ItemDto(ItemProtocol.item_error, "故障", "DB7.B3")); - list.add(new ItemDto(ItemProtocol.item_onoff_status, "开关机状态", "DB7.B4")); - list.add(new ItemDto(ItemProtocol.item_getStation, "当前抓取工位", "DB7.D5")); - list.add(new ItemDto(ItemProtocol.item_barcode, "条码", "DB7.S9")); - list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB7.D265")); - list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB7.D521")); - list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB7.D525")); - list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB7.D529")); - list.add(new ItemDto(ItemProtocol.item_material, "物料", "DB7.D533")); - list.add(new ItemDto(ItemProtocol.item_total_split, "累计拆垛数量", "DB7.D537")); - list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB7.D541")); - list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB7.S545")); + list.add(new ItemDto(ItemProtocol.item_error, "故障", "DB7.B2")); + list.add(new ItemDto(ItemProtocol.item_onoff_status, "开关机状态", "DB7.B3")); + list.add(new ItemDto(ItemProtocol.item_getStation, "当前抓取工位", "DB7.D4")); + list.add(new ItemDto(ItemProtocol.item_barcode, "条码", "DB7.S8")); + list.add(new ItemDto(ItemProtocol.item_material, "物料", "DB7.S264")); + list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB7.D520")); + list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB7.D524")); + list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB7.D528")); + list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB7.D532")); + list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB7.D536")); + list.add(new ItemDto(ItemProtocol.item_total_split, "累计拆垛数量", "DB7.D540")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB7.D544")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB7.S548")); + + list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB1.W804")); + list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB1.W806")); + list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB1.W808")); + list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB1.W810")); + list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB1.W812")); + list.add(new ItemDto(ItemProtocol.item_tray_qty, "当前垛盘数", "DB1.W814")); + list.add(new ItemDto(ItemProtocol.item_tray_high, "垛盘高度", "DB1.W816")); + list.add(new ItemDto(ItemProtocol.item_crib_category, "垛型类别", "DB1.W818")); + list.add(new ItemDto(ItemProtocol.item_palletX1_line, "码垛X1行", "DB1.W820")); + list.add(new ItemDto(ItemProtocol.item_palletY1_row, "码垛Y1列", "DB1.W822")); + list.add(new ItemDto(ItemProtocol.item_palletA1_angle, "码垛A1角度", "DB1.W824")); + list.add(new ItemDto(ItemProtocol.item_palletX2_line, "码垛X2行", "DB1.W826")); + list.add(new ItemDto(ItemProtocol.item_palletY2_row, "码垛Y2列", "DB1.W828")); + list.add(new ItemDto(ItemProtocol.item_palletA2_angle, "码垛A2角度", "DB1.W830")); + list.add(new ItemDto(ItemProtocol.item_palletX3_line, "码垛X3行", "DB1.W832")); + list.add(new ItemDto(ItemProtocol.item_palletY3_row, "码垛Y3列", "DB1.W834")); + list.add(new ItemDto(ItemProtocol.item_palletA3_angle, "码垛A3角度", "DB1.W836")); + list.add(new ItemDto(ItemProtocol.item_pressCribX1_line, "压垛X1行", "DB1.W838")); + list.add(new ItemDto(ItemProtocol.item_pressCribY1_row, "压垛Y1列", "DB1.W840")); + list.add(new ItemDto(ItemProtocol.item_pressCribA1_angle, "压垛A1角度", "DB1.W842")); + list.add(new ItemDto(ItemProtocol.item_pressCribX2_line, "压垛X2行", "DB1.W844")); + list.add(new ItemDto(ItemProtocol.item_pressCribY2_row, "压垛Y2列", "DB1.W846")); + list.add(new ItemDto(ItemProtocol.item_pressCribA2_angle, "压垛A2角度", "DB1.W848")); + list.add(new ItemDto(ItemProtocol.item_pressCribX3_line, "压垛X3行", "DB1.W850")); + list.add(new ItemDto(ItemProtocol.item_pressCribY3_row, "压垛Y3列", "DB1.W852")); + list.add(new ItemDto(ItemProtocol.item_pressCribA3_angle, "压垛A3角度", "DB1.W854")); + list.add(new ItemDto(ItemProtocol.item_Zoffset, "Z轴偏移", "DB1.W856")); + list.add(new ItemDto(ItemProtocol.item_pallet_layerQty, "码垛层数", "DB1.W858")); + list.add(new ItemDto(ItemProtocol.item_pressCrib_layerQty, "压垛层数", "DB1.W860")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_interval, "码层X1间隔", "DB1.W862")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_interval, "码层Y1间隔", "DB1.W864")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_interval, "码层X2间隔", "DB1.W866")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_interval, "码层Y2间隔", "DB1.W868")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_interval, "码层X3间隔", "DB1.W870")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_interval, "码层Y3间隔", "DB1.W872")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_offset, "码层X1偏移", "DB1.W874")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_offset, "码层Y1偏移", "DB1.W876")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_offset, "码层X2偏移", "DB1.W878")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_offset, "码层Y2偏移", "DB1.W880")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_offset, "码层X3偏移", "DB1.W882")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_offset, "码层Y3偏移", "DB1.W884")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_interval, "压层X1间隔", "DB1.W886")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_interval, "压层Y1间隔", "DB1.W888")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_interval, "压层X2间隔", "DB1.W890")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_interval, "压层Y2间隔", "DB1.W892")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_interval, "压层X3间隔", "DB1.W894")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_interval, "压层Y3间隔", "DB1.W896")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_offset, "压层X1偏移", "DB1.W898")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_offset, "压层Y1偏移", "DB1.W900")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_offset, "压层X2偏移", "DB1.W902")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_offset, "压层Y2偏移", "DB1.W904")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_offset, "压层X3偏移", "DB1.W906")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_offset, "压层Y3偏移", "DB1.W908")); + list.add(new ItemDto(ItemProtocol.item_one_cribTotal, "1#垛总数", "DB1.W910")); + list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB1.W912")); + list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB1.W914")); + list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB1.W916")); + list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "WB1.D918")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDeviceDriver.java index cae5d96..b0978fb 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_split_manipulator/LnshSplitManipulatorDeviceDriver.java @@ -37,7 +37,7 @@ import java.util.List; import java.util.Map; /** - * 晟华拆垛机械手 + * 嘉耐拆垛机械手 */ @Slf4j @Data @@ -118,6 +118,8 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im int last_batch = 0; String specifications = ""; String last_specifications = ""; + int qty = 0; + int last_qty = 0; @Override public Device getDevice() { @@ -143,6 +145,7 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im onoff_status = this.itemProtocol.getOnoff_status(); batch = this.itemProtocol.getBatch(); specifications = this.itemProtocol.getSpecifications(); + qty = this.itemProtocol.getQty(); if (mode != last_mode) { this.setRequireSucess(false); @@ -197,6 +200,10 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im logServer.deviceLog(this.device_code,"specifications" ,specifications); logServer.deviceLogToacs(this.device_code,"","","信号specifications:" + last_specifications + "->" + specifications); } + if (qty != last_qty) { + logServer.deviceLog(this.device_code,"qty" ,String.valueOf(qty)); + logServer.deviceLogToacs(this.device_code,"","","信号qty:" + last_qty + "->" + qty); + } } catch (Exception var17) { return; diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDefination.java index 0283f06..f1bbc95 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDefination.java @@ -12,7 +12,7 @@ import java.util.LinkedList; import java.util.List; /** - * 晟华-工位(交互模板) + * 嘉耐-工位(交互模板) * */ @Service @@ -24,12 +24,12 @@ public class LnshStationDefination implements OpcDeviceDriverDefination { @Override public String getDriverName() { - return "晟华-工位(交互模板)"; + return "嘉耐-工位(交互模板)"; } @Override public String getDriverDescription() { - return "晟华-工位(交互模板)"; + return "嘉耐-工位(交互模板)"; } @Override diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java index 737601a..4bb4d37 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_station/LnshStationDeviceDriver.java @@ -39,7 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.util.*; /** - * 晟华-工位(交互模板) + * 嘉耐-工位(交互模板) */ @Slf4j @Data @@ -290,9 +290,9 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements JSONObject jsonObject = JSONObject.parseObject(result.body()); if (result.getStatus() == 200 && jsonObject.get("status").equals("200")) { this.writing(1); + this.setRequireSucess(true); } } - this.setRequireSucess(true); return true; } } @@ -320,9 +320,9 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements JSONObject jsonObject = JSONObject.parseObject(result.body()); if (result.getStatus() == 200 && jsonObject.get("status").equals("200")) { this.writing(1); + this.setRequireSucess(true); } } - this.setRequireSucess(true); return true; } } @@ -350,9 +350,9 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements JSONObject jsonObject = JSONObject.parseObject(result.body()); if (result.getStatus() == 200 && jsonObject.get("status").equals("200")) { this.writing(1); + this.setRequireSucess(true); } } - this.setRequireSucess(true); return true; } } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/ItemProtocol.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/ItemProtocol.java index f95fb79..f61cf66 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/ItemProtocol.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/ItemProtocol.java @@ -208,6 +208,7 @@ public class ItemProtocol { public String getSpecifications() { return this.getOpcStringValue(item_specifications); } + public int getBatch() { return this.getOpcIntegerValue(item_batch); } @@ -269,80 +270,80 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_crib_category); } - public Float getPalletX1_line() { - return this.getOpcFloatValue(item_palletX1_line); + public int getPalletX1_line() { + return this.getOpcIntegerValue(item_palletX1_line); } - public Float getPalletY1_row() { - return this.getOpcFloatValue(item_palletY1_row); + public int getPalletY1_row() { + return this.getOpcIntegerValue(item_palletY1_row); } - public Float getPalletA1_angle() { - return this.getOpcFloatValue(item_palletA1_angle); + public int getPalletA1_angle() { + return this.getOpcIntegerValue(item_palletA1_angle); } - public Float getPalletX2_line() { - return this.getOpcFloatValue(item_palletX2_line); + public int getPalletX2_line() { + return this.getOpcIntegerValue(item_palletX2_line); } - public Float getPalletY2_row() { - return this.getOpcFloatValue(item_palletY2_row); + public int getPalletY2_row() { + return this.getOpcIntegerValue(item_palletY2_row); } - public Float getPalletA2_angle() { - return this.getOpcFloatValue(item_palletA2_angle); + public int getPalletA2_angle() { + return this.getOpcIntegerValue(item_palletA2_angle); } - public Float getPalletX3_line() { - return this.getOpcFloatValue(item_palletX3_line); + public int getPalletX3_line() { + return this.getOpcIntegerValue(item_palletX3_line); } - public Float getPalletY3_row() { - return this.getOpcFloatValue(item_palletY3_row); + public int getPalletY3_row() { + return this.getOpcIntegerValue(item_palletY3_row); } - public Float getPalletA3_angle() { - return this.getOpcFloatValue(item_palletA3_angle); + public int getPalletA3_angle() { + return this.getOpcIntegerValue(item_palletA3_angle); } - public Float getPressCribX1_line() { - return this.getOpcFloatValue(item_pressCribX1_line); + public int getPressCribX1_line() { + return this.getOpcIntegerValue(item_pressCribX1_line); } - public Float getPressCribY1_row() { - return this.getOpcFloatValue(item_pressCribY1_row); + public int getPressCribY1_row() { + return this.getOpcIntegerValue(item_pressCribY1_row); } - public Float getPressCribA1_angle() { - return this.getOpcFloatValue(item_pressCribA1_angle); + public int getPressCribA1_angle() { + return this.getOpcIntegerValue(item_pressCribA1_angle); } - public Float getPressCribX2_line() { - return this.getOpcFloatValue(item_pressCribX2_line); + public int getPressCribX2_line() { + return this.getOpcIntegerValue(item_pressCribX2_line); } - public Float getPressCribY2_row() { - return this.getOpcFloatValue(item_pressCribY2_row); + public int getPressCribY2_row() { + return this.getOpcIntegerValue(item_pressCribY2_row); } - public Float getPressCribA2_angle() { - return this.getOpcFloatValue(item_pressCribA2_angle); + public int getPressCribA2_angle() { + return this.getOpcIntegerValue(item_pressCribA2_angle); } - public Float getPressCribX3_line() { - return this.getOpcFloatValue(item_pressCribX3_line); + public int getPressCribX3_line() { + return this.getOpcIntegerValue(item_pressCribX3_line); } - public Float getPressCribY3_row() { - return this.getOpcFloatValue(item_pressCribY3_row); + public int getPressCribY3_row() { + return this.getOpcIntegerValue(item_pressCribY3_row); } - public Float getPressCribA3_angle() { - return this.getOpcFloatValue(item_pressCribA3_angle); + public int getPressCribA3_angle() { + return this.getOpcIntegerValue(item_pressCribA3_angle); } - public Float getZoffset() { - return this.getOpcFloatValue(item_Zoffset); + public int getZoffset() { + return this.getOpcIntegerValue(item_Zoffset); } public int getPallet_layerQty() { @@ -353,100 +354,100 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_pressCrib_layerQty); } - public Float getCodeLayerX1_interval() { - return this.getOpcFloatValue(item_codeLayerX1_interval); + public int getCodeLayerX1_interval() { + return this.getOpcIntegerValue(item_codeLayerX1_interval); } - public Float getCodeLayerY1_interval() { - return this.getOpcFloatValue(item_codeLayerY1_interval); + public int getCodeLayerY1_interval() { + return this.getOpcIntegerValue(item_codeLayerY1_interval); } - public Float getCodeLayerX2_interval() { - return this.getOpcFloatValue(item_codeLayerX2_interval); + public int getCodeLayerX2_interval() { + return this.getOpcIntegerValue(item_codeLayerX2_interval); } - public Float getCodeLayerY2_interval() { - return this.getOpcFloatValue(item_codeLayerY2_interval); + public int getCodeLayerY2_interval() { + return this.getOpcIntegerValue(item_codeLayerY2_interval); } - public Float getCodeLayerX3_interval() { - return this.getOpcFloatValue(item_codeLayerX3_interval); + public int getCodeLayerX3_interval() { + return this.getOpcIntegerValue(item_codeLayerX3_interval); } - public Float getcodeLayerY3_interval() { - return this.getOpcFloatValue(item_codeLayerY3_interval); + public int getcodeLayerY3_interval() { + return this.getOpcIntegerValue(item_codeLayerY3_interval); } - public Float getCodeLayerX1_offset() { - return this.getOpcFloatValue(item_codeLayerX1_offset); + public int getCodeLayerX1_offset() { + return this.getOpcIntegerValue(item_codeLayerX1_offset); } - public Float getCodeLayerY1_offset() { - return this.getOpcFloatValue(item_codeLayerY1_offset); + public int getCodeLayerY1_offset() { + return this.getOpcIntegerValue(item_codeLayerY1_offset); } - public Float getCodeLayerX2_offset() { - return this.getOpcFloatValue(item_codeLayerX2_offset); + public int getCodeLayerX2_offset() { + return this.getOpcIntegerValue(item_codeLayerX2_offset); } - public Float getCodeLayerY2_offset() { - return this.getOpcFloatValue(item_codeLayerY2_offset); + public int getCodeLayerY2_offset() { + return this.getOpcIntegerValue(item_codeLayerY2_offset); } - public Float getCodeLayerX3_offset() { - return this.getOpcFloatValue(item_codeLayerX3_offset); + public int getCodeLayerX3_offset() { + return this.getOpcIntegerValue(item_codeLayerX3_offset); } - public Float getCodeLayerY3_offset() { - return this.getOpcFloatValue(item_codeLayerY3_offset); + public int getCodeLayerY3_offset() { + return this.getOpcIntegerValue(item_codeLayerY3_offset); } - public Float getPressLayerX1_interval() { - return this.getOpcFloatValue(item_pressLayerX1_interval); + public int getPressLayerX1_interval() { + return this.getOpcIntegerValue(item_pressLayerX1_interval); } - public Float getPressLayerY1_interval() { - return this.getOpcFloatValue(item_pressLayerY1_interval); + public int getPressLayerY1_interval() { + return this.getOpcIntegerValue(item_pressLayerY1_interval); } - public Float getPressLayerX2_interval() { - return this.getOpcFloatValue(item_pressLayerX2_interval); + public int getPressLayerX2_interval() { + return this.getOpcIntegerValue(item_pressLayerX2_interval); } - public Float getPressLayerY2_interval() { - return this.getOpcFloatValue(item_pressLayerY2_interval); + public int getPressLayerY2_interval() { + return this.getOpcIntegerValue(item_pressLayerY2_interval); } - public Float getPressLayerX3_interval() { - return this.getOpcFloatValue(item_pressLayerX3_interval); + public int getPressLayerX3_interval() { + return this.getOpcIntegerValue(item_pressLayerX3_interval); } - public Float getPressLayerY3_interval() { - return this.getOpcFloatValue(item_pressLayerY3_interval); + public int getPressLayerY3_interval() { + return this.getOpcIntegerValue(item_pressLayerY3_interval); } - public Float getPressLayerX1_offset() { - return this.getOpcFloatValue(item_pressLayerX1_offset); + public int getPressLayerX1_offset() { + return this.getOpcIntegerValue(item_pressLayerX1_offset); } - public Float getPressLayerY1_offset() { - return this.getOpcFloatValue(item_pressLayerY1_offset); + public int getPressLayerY1_offset() { + return this.getOpcIntegerValue(item_pressLayerY1_offset); } - public Float getPressLayerX2_offset() { - return this.getOpcFloatValue(item_pressLayerX2_offset); + public int getPressLayerX2_offset() { + return this.getOpcIntegerValue(item_pressLayerX2_offset); } - public Float getPressLayerY2_offset() { - return this.getOpcFloatValue(item_pressLayerY2_offset); + public int getPressLayerY2_offset() { + return this.getOpcIntegerValue(item_pressLayerY2_offset); } - public Float getPressLayerX3_offset() { - return this.getOpcFloatValue(item_pressLayerX3_offset); + public int getPressLayerX3_offset() { + return this.getOpcIntegerValue(item_pressLayerX3_offset); } - public Float getPressLayerY3_offset() { - return this.getOpcFloatValue(item_pressLayerY3_offset); + public int getPressLayerY3_offset() { + return this.getOpcIntegerValue(item_pressLayerY3_offset); } public int getOne_cribTotal() { @@ -529,80 +530,80 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_crib_category); } - public Float getToPalletX1_line() { - return this.getOpcFloatValue(item_to_palletX1_line); + public int getToPalletX1_line() { + return this.getOpcIntegerValue(item_to_palletX1_line); } - public Float getToPalletY1_row() { - return this.getOpcFloatValue(item_to_palletY1_row); + public int getToPalletY1_row() { + return this.getOpcIntegerValue(item_to_palletY1_row); } - public Float getToPalletA1_angle() { - return this.getOpcFloatValue(item_to_palletA1_angle); + public int getToPalletA1_angle() { + return this.getOpcIntegerValue(item_to_palletA1_angle); } - public Float getToPalletX2_line() { - return this.getOpcFloatValue(item_to_palletX2_line); + public int getToPalletX2_line() { + return this.getOpcIntegerValue(item_to_palletX2_line); } - public Float getToPalletY2_row() { - return this.getOpcFloatValue(item_to_palletY2_row); + public int getToPalletY2_row() { + return this.getOpcIntegerValue(item_to_palletY2_row); } - public Float getToPalletA2_angle() { - return this.getOpcFloatValue(item_to_palletA2_angle); + public int getToPalletA2_angle() { + return this.getOpcIntegerValue(item_to_palletA2_angle); } - public Float getToPalletX3_line() { - return this.getOpcFloatValue(item_to_palletX3_line); + public int getToPalletX3_line() { + return this.getOpcIntegerValue(item_to_palletX3_line); } - public Float getToPalletY3_row() { - return this.getOpcFloatValue(item_to_palletY3_row); + public int getToPalletY3_row() { + return this.getOpcIntegerValue(item_to_palletY3_row); } - public Float getToPalletA3_angle() { - return this.getOpcFloatValue(item_to_palletA3_angle); + public int getToPalletA3_angle() { + return this.getOpcIntegerValue(item_to_palletA3_angle); } - public Float getToPressCribX1_line() { - return this.getOpcFloatValue(item_to_pressCribX1_line); + public int getToPressCribX1_line() { + return this.getOpcIntegerValue(item_to_pressCribX1_line); } - public Float getToPressCribY1_row() { - return this.getOpcFloatValue(item_to_pressCribY1_row); + public int getToPressCribY1_row() { + return this.getOpcIntegerValue(item_to_pressCribY1_row); } - public Float getToPressCribA1_angle() { - return this.getOpcFloatValue(item_to_pressCribA1_angle); + public int getToPressCribA1_angle() { + return this.getOpcIntegerValue(item_to_pressCribA1_angle); } - public Float getToPressCribX2_line() { - return this.getOpcFloatValue(item_to_pressCribX2_line); + public int getToPressCribX2_line() { + return this.getOpcIntegerValue(item_to_pressCribX2_line); } - public Float getToPressCribY2_row() { - return this.getOpcFloatValue(item_to_pressCribY2_row); + public int getToPressCribY2_row() { + return this.getOpcIntegerValue(item_to_pressCribY2_row); } - public Float getToPressCribA2_angle() { - return this.getOpcFloatValue(item_to_pressCribA2_angle); + public int getToPressCribA2_angle() { + return this.getOpcIntegerValue(item_to_pressCribA2_angle); } - public Float getToPressCribX3_line() { - return this.getOpcFloatValue(item_to_pressCribX3_line); + public int getToPressCribX3_line() { + return this.getOpcIntegerValue(item_to_pressCribX3_line); } - public Float getToPressCribY3_row() { - return this.getOpcFloatValue(item_to_pressCribY3_row); + public int getToPressCribY3_row() { + return this.getOpcIntegerValue(item_to_pressCribY3_row); } - public Float getToPressCribA3_angle() { - return this.getOpcFloatValue(item_to_pressCribA3_angle); + public int getToPressCribA3_angle() { + return this.getOpcIntegerValue(item_to_pressCribA3_angle); } - public Float getToZoffset() { - return this.getOpcFloatValue(item_to_Zoffset); + public int getToZoffset() { + return this.getOpcIntegerValue(item_to_Zoffset); } public int getToPallet_layerQty() { @@ -613,100 +614,100 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_pressCrib_layerQty); } - public Float getToCodeLayerX1_interval() { - return this.getOpcFloatValue(item_to_codeLayerX1_interval); + public int getToCodeLayerX1_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX1_interval); } - public Float getToCodeLayerY1_interval() { - return this.getOpcFloatValue(item_to_codeLayerY1_interval); + public int getToCodeLayerY1_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY1_interval); } - public Float getToCodeLayerX2_interval() { - return this.getOpcFloatValue(item_to_codeLayerX2_interval); + public int getToCodeLayerX2_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX2_interval); } - public Float getToCodeLayerY2_interval() { - return this.getOpcFloatValue(item_to_codeLayerY2_interval); + public int getToCodeLayerY2_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY2_interval); } - public Float getToCodeLayerX3_interval() { - return this.getOpcFloatValue(item_to_codeLayerX3_interval); + public int getToCodeLayerX3_interval() { + return this.getOpcIntegerValue(item_to_codeLayerX3_interval); } - public Float getTocodeLayerY3_interval() { - return this.getOpcFloatValue(item_to_codeLayerY3_interval); + public int getTocodeLayerY3_interval() { + return this.getOpcIntegerValue(item_to_codeLayerY3_interval); } - public Float getToCodeLayerX1_offset() { - return this.getOpcFloatValue(item_to_codeLayerX1_offset); + public int getToCodeLayerX1_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX1_offset); } - public Float getToCodeLayerY1_offset() { - return this.getOpcFloatValue(item_to_codeLayerY1_offset); + public int getToCodeLayerY1_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY1_offset); } - public Float getToCodeLayerX2_offset() { - return this.getOpcFloatValue(item_to_codeLayerX2_offset); + public int getToCodeLayerX2_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX2_offset); } - public Float getToCodeLayerY2_offset() { - return this.getOpcFloatValue(item_to_codeLayerY2_offset); + public int getToCodeLayerY2_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY2_offset); } - public Float getToCodeLayerX3_offset() { - return this.getOpcFloatValue(item_to_codeLayerX3_offset); + public int getToCodeLayerX3_offset() { + return this.getOpcIntegerValue(item_to_codeLayerX3_offset); } - public Float getToCodeLayerY3_offset() { - return this.getOpcFloatValue(item_to_codeLayerY3_offset); + public int getToCodeLayerY3_offset() { + return this.getOpcIntegerValue(item_to_codeLayerY3_offset); } - public Float getToPressLayerX1_interval() { - return this.getOpcFloatValue(item_to_pressLayerX1_interval); + public int getToPressLayerX1_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX1_interval); } - public Float getToPressLayerY1_interval() { - return this.getOpcFloatValue(item_to_pressLayerY1_interval); + public int getToPressLayerY1_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY1_interval); } - public Float getToPressLayerX2_interval() { - return this.getOpcFloatValue(item_to_pressLayerX2_interval); + public int getToPressLayerX2_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX2_interval); } - public Float getToPressLayerY2_interval() { - return this.getOpcFloatValue(item_to_pressLayerY2_interval); + public int getToPressLayerY2_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY2_interval); } - public Float getToPressLayerX3_interval() { - return this.getOpcFloatValue(item_to_pressLayerX3_interval); + public int getToPressLayerX3_interval() { + return this.getOpcIntegerValue(item_to_pressLayerX3_interval); } - public Float getToPressLayerY3_interval() { - return this.getOpcFloatValue(item_to_pressLayerY3_interval); + public int getToPressLayerY3_interval() { + return this.getOpcIntegerValue(item_to_pressLayerY3_interval); } - public Float getToPressLayerX1_offset() { - return this.getOpcFloatValue(item_to_pressLayerX1_offset); + public int getToPressLayerX1_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX1_offset); } - public Float getToPressLayerY1_offset() { - return this.getOpcFloatValue(item_to_pressLayerY1_offset); + public int getToPressLayerY1_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY1_offset); } - public Float getToPressLayerX2_offset() { - return this.getOpcFloatValue(item_to_pressLayerX2_offset); + public int getToPressLayerX2_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX2_offset); } - public Float getToPressLayerY2_offset() { - return this.getOpcFloatValue(item_to_pressLayerY2_offset); + public int getToPressLayerY2_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY2_offset); } - public Float getToPressLayerX3_offset() { - return this.getOpcFloatValue(item_to_pressLayerX3_offset); + public int getToPressLayerX3_offset() { + return this.getOpcIntegerValue(item_to_pressLayerX3_offset); } - public Float getToPressLayerY3_offset() { - return this.getOpcFloatValue(item_to_pressLayerY3_offset); + public int getToPressLayerY3_offset() { + return this.getOpcIntegerValue(item_to_pressLayerY3_offset); } public int getToOne_cribTotal() { @@ -749,15 +750,6 @@ public class ItemProtocol { } - public Float getOpcFloatValue(String protocol) { - Float value = this.driver.getFloatValue(protocol); - if (ObjectUtil.isEmpty(value)) { - log.error("读取错误!"); - } else { - return value; - } - return 0.0f; - } public String getOpcStringValue(String protocol) { String value = this.driver.getStringValue(protocol); @@ -775,150 +767,150 @@ public class ItemProtocol { list.add(new ItemDto(item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); list.add(new ItemDto(item_status, "设备状态", "DB1.B2")); list.add(new ItemDto(item_error, "故障代码", "DB1.B3")); - list.add(new ItemDto(item_onoff_status, "开关机状态", "DB1.B3")); - list.add(new ItemDto(item_putStation, "当前码盘工位", "DB1.D4")); - list.add(new ItemDto(item_getStation, "当前抓取工位", "DB1.D4")); - list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB1.S8")); - list.add(new ItemDto(item_material, "码盘工位当前物料", "DB1.S264")); - list.add(new ItemDto(item_specifications, "规格", "DB1.S264")); - list.add(new ItemDto(item_batch, "批次", "DB1.S264")); - list.add(new ItemDto(item_qty, "数量", "DB1.D520")); - list.add(new ItemDto(item_open_time, "开机时间", "DB1.D524")); - list.add(new ItemDto(item_standby_time, "待机时间", "DB1.D528")); - list.add(new ItemDto(item_production_time, "生产时间", "DB1.D532")); - list.add(new ItemDto(item_error_time, "故障时间", "DB1.D536")); - list.add(new ItemDto(item_order_No, "工单号", "DB1.S540")); - list.add(new ItemDto(item_total_split, "累计拆垛数量", "DB1.S540")); + list.add(new ItemDto(item_onoff_status, "开关机状态", "DB1.B4")); + list.add(new ItemDto(item_putStation, "当前码盘工位", "DB1.D6")); + list.add(new ItemDto(item_getStation, "当前抓取工位", "DB1.D10")); + list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB1.S14")); + list.add(new ItemDto(item_material, "码盘工位当前物料", "DB1.S270")); + list.add(new ItemDto(item_specifications, "规格", "DB1.S526")); + list.add(new ItemDto(item_batch, "批次", "DB1.D782")); + list.add(new ItemDto(item_qty, "数量", "DB1.D786")); + list.add(new ItemDto(item_open_time, "开机时间", "DB1.D790")); + list.add(new ItemDto(item_standby_time, "待机时间", "DB1.D794")); + list.add(new ItemDto(item_production_time, "生产时间", "DB1.D798")); + list.add(new ItemDto(item_error_time, "故障时间", "DB1.D802")); + list.add(new ItemDto(item_total_split, "累计拆垛数量", "DB1.D806")); + list.add(new ItemDto(item_order_No, "工单号", "DB1.S810")); - list.add(new ItemDto(item_product_code, "产品编号", "DB1.D796")); - list.add(new ItemDto(item_AlongSide, "A长边", "DB1.D800")); - list.add(new ItemDto(item_BshortSide, "B短边", "DB1.D804")); - list.add(new ItemDto(item_Htrapezoidal, "H梯形高", "DB1.D808")); - list.add(new ItemDto(item_Wthickness, "W厚度", "DB1.D812")); - list.add(new ItemDto(item_tray_qty, "当前垛盘数", "DB1.D816")); - list.add(new ItemDto(item_tray_high, "垛盘高度", "DB1.D820")); - list.add(new ItemDto(item_crib_category, "垛型类别", "DB1.D824")); - list.add(new ItemDto(item_palletX1_line, "码垛X1行", "DB1.REAL828")); - list.add(new ItemDto(item_palletY1_row, "码垛Y1列", "DB1.REAL832")); - list.add(new ItemDto(item_palletA1_angle, "码垛A1角度", "DB1.REAL836")); - list.add(new ItemDto(item_palletX2_line, "码垛X2行", "DB1.REAL840")); - list.add(new ItemDto(item_palletY2_row, "码垛Y2列", "DB1.REAL844")); - list.add(new ItemDto(item_palletA2_angle, "码垛A2角度", "DB1.REAL848")); - list.add(new ItemDto(item_palletX3_line, "码垛X3行", "DB1.REAL852")); - list.add(new ItemDto(item_palletY3_row, "码垛Y3列", "DB1.REAL856")); - list.add(new ItemDto(item_palletA3_angle, "码垛A3角度", "DB1.REAL860")); - list.add(new ItemDto(item_pressCribX1_line, "压垛X1行", "DB1.REAL864")); - list.add(new ItemDto(item_pressCribY1_row, "压垛Y1列", "DB1.REAL868")); - list.add(new ItemDto(item_pressCribA1_angle, "压垛A1角度", "DB1.REAL872")); - list.add(new ItemDto(item_pressCribX2_line, "压垛X2行", "DB1.REAL876")); - list.add(new ItemDto(item_pressCribY2_row, "压垛Y2列", "DB1.REAL880")); - list.add(new ItemDto(item_pressCribA2_angle, "压垛A2角度", "DB1.REAL884")); - list.add(new ItemDto(item_pressCribX3_line, "压垛X3行", "DB1.REAL888")); - list.add(new ItemDto(item_pressCribY3_row, "压垛Y3列", "DB1.REAL892")); - list.add(new ItemDto(item_pressCribA3_angle, "压垛A3角度", "DB1.REAL896")); - list.add(new ItemDto(item_Zoffset, "Z轴偏移", "DB1.REAL900")); - list.add(new ItemDto(item_pallet_layerQty, "码垛层数", "DB1.D904")); - list.add(new ItemDto(item_pressCrib_layerQty, "压垛层数", "DB1.D908")); - list.add(new ItemDto(item_codeLayerX1_interval, "码层X1间隔", "DB1.REAL912")); - list.add(new ItemDto(item_codeLayerY1_interval, "码层Y1间隔", "DB1.REAL916")); - list.add(new ItemDto(item_codeLayerX2_interval, "码层X2间隔", "DB1.REAL920")); - list.add(new ItemDto(item_codeLayerY2_interval, "码层Y2间隔", "DB1.REAL924")); - list.add(new ItemDto(item_codeLayerX3_interval, "码层X3间隔", "DB1.REAL928")); - list.add(new ItemDto(item_codeLayerY3_interval, "码层Y3间隔", "DB1.REAL932")); - list.add(new ItemDto(item_codeLayerX1_offset, "码层X1偏移", "DB1.REAL936")); - list.add(new ItemDto(item_codeLayerY1_offset, "码层Y1偏移", "DB1.REAL940")); - list.add(new ItemDto(item_codeLayerX2_offset, "码层X2偏移", "DB1.REAL944")); - list.add(new ItemDto(item_codeLayerY2_offset, "码层Y2偏移", "DB1.REAL948")); - list.add(new ItemDto(item_codeLayerX3_offset, "码层X3偏移", "DB1.REAL952")); - list.add(new ItemDto(item_codeLayerY3_offset, "码层Y3偏移", "DB1.REAL956")); - list.add(new ItemDto(item_pressLayerX1_interval, "压层X1间隔", "DB1.REAL960")); - list.add(new ItemDto(item_pressLayerY1_interval, "压层Y1间隔", "DB1.REAL964")); - list.add(new ItemDto(item_pressLayerX2_interval, "压层X2间隔", "DB1.REAL968")); - list.add(new ItemDto(item_pressLayerY2_interval, "压层Y2间隔", "DB1.REAL972")); - list.add(new ItemDto(item_pressLayerX3_interval, "压层X3间隔", "DB1.REAL976")); - list.add(new ItemDto(item_pressLayerY3_interval, "压层Y3间隔", "DB1.REAL980")); - list.add(new ItemDto(item_pressLayerX1_offset, "压层X1偏移", "DB1.REAL984")); - list.add(new ItemDto(item_pressLayerY1_offset, "压层Y1偏移", "DB1.REAL988")); - list.add(new ItemDto(item_pressLayerX2_offset, "压层X2偏移", "DB1.REAL992")); - list.add(new ItemDto(item_pressLayerY2_offset, "压层Y2偏移", "DB1.REAL996")); - list.add(new ItemDto(item_pressLayerX3_offset, "压层X3偏移", "DB1.REAL1000")); - list.add(new ItemDto(item_pressLayerY3_offset, "压层Y3偏移", "DB1.REAL1004")); - list.add(new ItemDto(item_one_cribTotal, "1#垛总数", "DB1.D1008")); - list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB1.D1012")); - list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB1.D1016")); - list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB1.D1020")); - list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB1.D1024")); + list.add(new ItemDto(item_product_code, "产品编号", "DB1.W1066")); + list.add(new ItemDto(item_AlongSide, "A长边", "DB1.W1068")); + list.add(new ItemDto(item_BshortSide, "B短边", "DB1.W1070")); + list.add(new ItemDto(item_Htrapezoidal, "H梯形高", "DB1.W1072")); + list.add(new ItemDto(item_Wthickness, "W厚度", "DB1.W1074")); + list.add(new ItemDto(item_tray_qty, "当前垛盘数", "DB1.W1076")); + list.add(new ItemDto(item_tray_high, "垛盘高度", "DB1.W1078")); + list.add(new ItemDto(item_crib_category, "垛型类别", "DB1.W1080")); + list.add(new ItemDto(item_palletX1_line, "码垛X1行", "DB1.W1082")); + list.add(new ItemDto(item_palletY1_row, "码垛Y1列", "DB1.W1084")); + list.add(new ItemDto(item_palletA1_angle, "码垛A1角度", "DB1.W1086")); + list.add(new ItemDto(item_palletX2_line, "码垛X2行", "DB1.W1088")); + list.add(new ItemDto(item_palletY2_row, "码垛Y2列", "DB1.W1090")); + list.add(new ItemDto(item_palletA2_angle, "码垛A2角度", "DB1.W1092")); + list.add(new ItemDto(item_palletX3_line, "码垛X3行", "DB1.W1094")); + list.add(new ItemDto(item_palletY3_row, "码垛Y3列", "DB1.W1096")); + list.add(new ItemDto(item_palletA3_angle, "码垛A3角度", "DB1.W1098")); + list.add(new ItemDto(item_pressCribX1_line, "压垛X1行", "DB1.W1100")); + list.add(new ItemDto(item_pressCribY1_row, "压垛Y1列", "DB1.W1102")); + list.add(new ItemDto(item_pressCribA1_angle, "压垛A1角度", "DB1.W1104")); + list.add(new ItemDto(item_pressCribX2_line, "压垛X2行", "DB1.W1106")); + list.add(new ItemDto(item_pressCribY2_row, "压垛Y2列", "DB1.W1108")); + list.add(new ItemDto(item_pressCribA2_angle, "压垛A2角度", "DB1.W1110")); + list.add(new ItemDto(item_pressCribX3_line, "压垛X3行", "DB1.W1112")); + list.add(new ItemDto(item_pressCribY3_row, "压垛Y3列", "DB1.W1114")); + list.add(new ItemDto(item_pressCribA3_angle, "压垛A3角度", "DB1.W1116")); + list.add(new ItemDto(item_Zoffset, "Z轴偏移", "DB1.W1118")); + list.add(new ItemDto(item_pallet_layerQty, "码垛层数", "DB1.W1120")); + list.add(new ItemDto(item_pressCrib_layerQty, "压垛层数", "DB1.W1122")); + list.add(new ItemDto(item_codeLayerX1_interval, "码层X1间隔", "DB1.W1124")); + list.add(new ItemDto(item_codeLayerY1_interval, "码层Y1间隔", "DB1.W1126")); + list.add(new ItemDto(item_codeLayerX2_interval, "码层X2间隔", "DB1.W1128")); + list.add(new ItemDto(item_codeLayerY2_interval, "码层Y2间隔", "DB1.W1130")); + list.add(new ItemDto(item_codeLayerX3_interval, "码层X3间隔", "DB1.W1132")); + list.add(new ItemDto(item_codeLayerY3_interval, "码层Y3间隔", "DB1.W1134")); + list.add(new ItemDto(item_codeLayerX1_offset, "码层X1偏移", "DB1.W1136")); + list.add(new ItemDto(item_codeLayerY1_offset, "码层Y1偏移", "DB1.W1138")); + list.add(new ItemDto(item_codeLayerX2_offset, "码层X2偏移", "DB1.W1140")); + list.add(new ItemDto(item_codeLayerY2_offset, "码层Y2偏移", "DB1.W1142")); + list.add(new ItemDto(item_codeLayerX3_offset, "码层X3偏移", "DB1.W1144")); + list.add(new ItemDto(item_codeLayerY3_offset, "码层Y3偏移", "DB1.W1146")); + list.add(new ItemDto(item_pressLayerX1_interval, "压层X1间隔", "DB1.W1148")); + list.add(new ItemDto(item_pressLayerY1_interval, "压层Y1间隔", "DB1.W1150")); + list.add(new ItemDto(item_pressLayerX2_interval, "压层X2间隔", "DB1.W1152")); + list.add(new ItemDto(item_pressLayerY2_interval, "压层Y2间隔", "DB1.W1154")); + list.add(new ItemDto(item_pressLayerX3_interval, "压层X3间隔", "DB1.W1156")); + list.add(new ItemDto(item_pressLayerY3_interval, "压层Y3间隔", "DB1.W1158")); + list.add(new ItemDto(item_pressLayerX1_offset, "压层X1偏移", "DB1.W1160")); + list.add(new ItemDto(item_pressLayerY1_offset, "压层Y1偏移", "DB1.W1162")); + list.add(new ItemDto(item_pressLayerX2_offset, "压层X2偏移", "DB1.W1164")); + list.add(new ItemDto(item_pressLayerY2_offset, "压层Y2偏移", "DB1.W1166")); + list.add(new ItemDto(item_pressLayerX3_offset, "压层X3偏移", "DB1.W1168")); + list.add(new ItemDto(item_pressLayerY3_offset, "压层Y3偏移", "DB1.W1170")); + list.add(new ItemDto(item_one_cribTotal, "1#垛总数", "DB1.W1172")); + list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB1.W1174")); + list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB1.W1176")); + list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB1.W1178")); + list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB1.W1180")); return list; } public static List getWriteableItemDtos() { ArrayList list = new ArrayList(); list.add(new ItemDto(item_to_feedback, "机器人动作反馈", "DB2.B0")); - list.add(new ItemDto(item_to_error, "故障代码", "DB2.B1")); - list.add(new ItemDto(item_to_material_qty, "托盘上数量", "DB2.W2")); - list.add(new ItemDto(item_to_allow_pallet_qty, "允许码垛数量", "DB2.W4")); - list.add(new ItemDto(item_to_material_type, "托盘类型", "DB2.D6")); - list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB2.D10")); - list.add(new ItemDto(item_to_order_No, "工单号", "DB2.S14")); + list.add(new ItemDto(item_to_error, "故障代码", "DB2.W2")); + list.add(new ItemDto(item_to_material_qty, "托盘上数量", "DB2.W4")); + list.add(new ItemDto(item_to_allow_pallet_qty, "允许码垛数量", "DB2.W6")); + list.add(new ItemDto(item_to_material_type, "托盘类型", "DB2.D8")); + list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB2.D12")); + list.add(new ItemDto(item_to_order_No, "工单号", "DB2.S16")); - list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.D270")); - list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.D274")); - list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.D278")); - list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.D282")); - list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.D286")); - list.add(new ItemDto(item_to_tray_qty, "当前垛盘数", "DB2.D290")); - list.add(new ItemDto(item_to_tray_high, "垛盘高度", "DB2.D294")); - list.add(new ItemDto(item_to_crib_category, "垛型类别", "DB2.D298")); - list.add(new ItemDto(item_to_palletX1_line, "码垛X1行", "DB2.REAL302")); - list.add(new ItemDto(item_to_palletY1_row, "码垛Y1列", "DB2.REAL306")); - list.add(new ItemDto(item_to_palletA1_angle, "码垛A1角度", "DB2.REAL310")); - list.add(new ItemDto(item_to_palletX2_line, "码垛X2行", "DB2.REAL314")); - list.add(new ItemDto(item_to_palletY2_row, "码垛Y2列", "DB2.REAL318")); - list.add(new ItemDto(item_to_palletA2_angle, "码垛A2角度", "DB2.REAL322")); - list.add(new ItemDto(item_to_palletX3_line, "码垛X3行", "DB2.REAL326")); - list.add(new ItemDto(item_to_palletY3_row, "码垛Y3列", "DB2.REAL330")); - list.add(new ItemDto(item_to_palletA3_angle, "码垛A3角度", "DB2.REAL334")); - list.add(new ItemDto(item_to_pressCribX1_line, "压垛X1行", "DB2.REAL338")); - list.add(new ItemDto(item_to_pressCribY1_row, "压垛Y1列", "DB2.REAL342")); - list.add(new ItemDto(item_to_pressCribA1_angle, "压垛A1角度", "DB2.REAL346")); - list.add(new ItemDto(item_to_pressCribX2_line, "压垛X2行", "DB2.REAL350")); - list.add(new ItemDto(item_to_pressCribY2_row, "压垛Y2列", "DB2.REAL354")); - list.add(new ItemDto(item_to_pressCribA2_angle, "压垛A2角度", "DB2.REAL358")); - list.add(new ItemDto(item_to_pressCribX3_line, "压垛X3行", "DB2.REAL362")); - list.add(new ItemDto(item_to_pressCribY3_row, "压垛Y3列", "DB2.REAL366")); - list.add(new ItemDto(item_to_pressCribA3_angle, "压垛A3角度", "DB2.REAL370")); - list.add(new ItemDto(item_to_Zoffset, "Z轴偏移", "DB2.REAL374")); - list.add(new ItemDto(item_to_pallet_layerQty, "码垛层数", "DB2.D378")); - list.add(new ItemDto(item_to_pressCrib_layerQty, "压垛层数", "DB2.D382")); - list.add(new ItemDto(item_to_codeLayerX1_interval, "码层X1间隔", "DB2.REAL386")); - list.add(new ItemDto(item_to_codeLayerY1_interval, "码层Y1间隔", "DB2.REAL390")); - list.add(new ItemDto(item_to_codeLayerX2_interval, "码层X2间隔", "DB2.REAL394")); - list.add(new ItemDto(item_to_codeLayerY2_interval, "码层Y2间隔", "DB2.REAL398")); - list.add(new ItemDto(item_to_codeLayerX3_interval, "码层X3间隔", "DB2.REAL402")); - list.add(new ItemDto(item_to_codeLayerY3_interval, "码层Y3间隔", "DB2.REAL406")); - list.add(new ItemDto(item_to_codeLayerX1_offset, "码层X1偏移", "DB2.REAL410")); - list.add(new ItemDto(item_to_codeLayerY1_offset, "码层Y1偏移", "DB2.REAL414")); - list.add(new ItemDto(item_to_codeLayerX2_offset, "码层X2偏移", "DB2.REAL418")); - list.add(new ItemDto(item_to_codeLayerY2_offset, "码层Y2偏移", "DB2.REAL422")); - list.add(new ItemDto(item_to_codeLayerX3_offset, "码层X3偏移", "DB2.REAL426")); - list.add(new ItemDto(item_to_codeLayerY3_offset, "码层Y3偏移", "DB2.REAL430")); - list.add(new ItemDto(item_to_pressLayerX1_interval, "压层X1间隔", "DB2.REAL434")); - list.add(new ItemDto(item_to_pressLayerY1_interval, "压层Y1间隔", "DB2.REAL438")); - list.add(new ItemDto(item_to_pressLayerX2_interval, "压层X2间隔", "DB2.REAL442")); - list.add(new ItemDto(item_to_pressLayerY2_interval, "压层Y2间隔", "DB2.REAL446")); - list.add(new ItemDto(item_to_pressLayerX3_interval, "压层X3间隔", "DB2.REAL450")); - list.add(new ItemDto(item_to_pressLayerY3_interval, "压层Y3间隔", "DB2.REAL454")); - list.add(new ItemDto(item_to_pressLayerX1_offset, "压层X1偏移", "DB2.REAL458")); - list.add(new ItemDto(item_to_pressLayerY1_offset, "压层Y1偏移", "DB2.REAL462")); - list.add(new ItemDto(item_to_pressLayerX2_offset, "压层X2偏移", "DB2.REAL466")); - list.add(new ItemDto(item_to_pressLayerY2_offset, "压层Y2偏移", "DB2.REAL470")); - list.add(new ItemDto(item_to_pressLayerX3_offset, "压层X3偏移", "DB2.REAL474")); - list.add(new ItemDto(item_to_pressLayerY3_offset, "压层Y3偏移", "DB2.REAL478")); - list.add(new ItemDto(item_to_one_cribTotal, "1#垛总数", "DB2.D482")); - list.add(new ItemDto(item_to_two_cribTotal, "2#垛总数", "DB2.D486")); - list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB2.D490")); - list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB2.D494")); - list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB2. D498")); + list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.W272")); + list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.W274")); + list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.W276")); + list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.W278")); + list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.W280")); + list.add(new ItemDto(item_to_tray_qty, "当前垛盘数", "DB2.W282")); + list.add(new ItemDto(item_to_tray_high, "垛盘高度", "DB2.W284")); + list.add(new ItemDto(item_to_crib_category, "垛型类别", "DB2.W286")); + list.add(new ItemDto(item_to_palletX1_line, "码垛X1行", "DB2.W288")); + list.add(new ItemDto(item_to_palletY1_row, "码垛Y1列", "DB2.W290")); + list.add(new ItemDto(item_to_palletA1_angle, "码垛A1角度", "DB2.W292")); + list.add(new ItemDto(item_to_palletX2_line, "码垛X2行", "DB2.W294")); + list.add(new ItemDto(item_to_palletY2_row, "码垛Y2列", "DB2.W296")); + list.add(new ItemDto(item_to_palletA2_angle, "码垛A2角度", "DB2.W298")); + list.add(new ItemDto(item_to_palletX3_line, "码垛X3行", "DB2.W300")); + list.add(new ItemDto(item_to_palletY3_row, "码垛Y3列", "DB2.W302")); + list.add(new ItemDto(item_to_palletA3_angle, "码垛A3角度", "DB2.W304")); + list.add(new ItemDto(item_to_pressCribX1_line, "压垛X1行", "DB2.W306")); + list.add(new ItemDto(item_to_pressCribY1_row, "压垛Y1列", "DB2.W308")); + list.add(new ItemDto(item_to_pressCribA1_angle, "压垛A1角度", "DB2.W310")); + list.add(new ItemDto(item_to_pressCribX2_line, "压垛X2行", "DB2.W312")); + list.add(new ItemDto(item_to_pressCribY2_row, "压垛Y2列", "DB2.W314")); + list.add(new ItemDto(item_to_pressCribA2_angle, "压垛A2角度", "DB2.W316")); + list.add(new ItemDto(item_to_pressCribX3_line, "压垛X3行", "DB2.W318")); + list.add(new ItemDto(item_to_pressCribY3_row, "压垛Y3列", "DB2.W320")); + list.add(new ItemDto(item_to_pressCribA3_angle, "压垛A3角度", "DB2.W322")); + list.add(new ItemDto(item_to_Zoffset, "Z轴偏移", "DB2.W324")); + list.add(new ItemDto(item_to_pallet_layerQty, "码垛层数", "DB2.W326")); + list.add(new ItemDto(item_to_pressCrib_layerQty, "压垛层数", "DB2.W328")); + list.add(new ItemDto(item_to_codeLayerX1_interval, "码层X1间隔", "DB2.W330")); + list.add(new ItemDto(item_to_codeLayerY1_interval, "码层Y1间隔", "DB2.W332")); + list.add(new ItemDto(item_to_codeLayerX2_interval, "码层X2间隔", "DB2.W334")); + list.add(new ItemDto(item_to_codeLayerY2_interval, "码层Y2间隔", "DB2.W336")); + list.add(new ItemDto(item_to_codeLayerX3_interval, "码层X3间隔", "DB2.W338")); + list.add(new ItemDto(item_to_codeLayerY3_interval, "码层Y3间隔", "DB2.W340")); + list.add(new ItemDto(item_to_codeLayerX1_offset, "码层X1偏移", "DB2.W342")); + list.add(new ItemDto(item_to_codeLayerY1_offset, "码层Y1偏移", "DB2.W344")); + list.add(new ItemDto(item_to_codeLayerX2_offset, "码层X2偏移", "DB2.W346")); + list.add(new ItemDto(item_to_codeLayerY2_offset, "码层Y2偏移", "DB2.W348")); + list.add(new ItemDto(item_to_codeLayerX3_offset, "码层X3偏移", "DB2.W350")); + list.add(new ItemDto(item_to_codeLayerY3_offset, "码层Y3偏移", "DB2.W352")); + list.add(new ItemDto(item_to_pressLayerX1_interval, "压层X1间隔", "DB2.W354")); + list.add(new ItemDto(item_to_pressLayerY1_interval, "压层Y1间隔", "DB2.W356")); + list.add(new ItemDto(item_to_pressLayerX2_interval, "压层X2间隔", "DB2.W358")); + list.add(new ItemDto(item_to_pressLayerY2_interval, "压层Y2间隔", "DB2.W360")); + list.add(new ItemDto(item_to_pressLayerX3_interval, "压层X3间隔", "DB2.W362")); + list.add(new ItemDto(item_to_pressLayerY3_interval, "压层Y3间隔", "DB2.W364")); + list.add(new ItemDto(item_to_pressLayerX1_offset, "压层X1偏移", "DB2.W366")); + list.add(new ItemDto(item_to_pressLayerY1_offset, "压层Y1偏移", "DB2.W368")); + list.add(new ItemDto(item_to_pressLayerX2_offset, "压层X2偏移", "DB2.W370")); + list.add(new ItemDto(item_to_pressLayerY2_offset, "压层Y2偏移", "DB2.W372")); + list.add(new ItemDto(item_to_pressLayerX3_offset, "压层X3偏移", "DB2.W374")); + list.add(new ItemDto(item_to_pressLayerY3_offset, "压层Y3偏移", "DB2.W376")); + list.add(new ItemDto(item_to_one_cribTotal, "1#垛总数", "DB2.W378")); + list.add(new ItemDto(item_to_two_cribTotal, "2#垛总数", "DB2.W380")); + list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB2.W382")); + list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB2.W384")); + list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB2. W386")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDefination.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDefination.java index b8d0b7c..8f7a79f 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDefination.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDefination.java @@ -61,79 +61,79 @@ public class RljnPackagePalletSplitManipulatorDefination implements OpcDeviceDri list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB1.B1", Boolean.valueOf(true))); list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB1.B2")); list.add(new ItemDto(ItemProtocol.item_error, "故障代码", "DB1.B3")); - list.add(new ItemDto(ItemProtocol.item_onoff_status, "开关机状态", "DB1.B3")); - list.add(new ItemDto(ItemProtocol.item_putStation, "当前码盘工位", "DB1.D4")); - list.add(new ItemDto(ItemProtocol.item_getStation, "当前抓取工位", "DB1.D4")); - list.add(new ItemDto(ItemProtocol.item_barcode, "当前码盘工位条码", "DB1.S8")); - list.add(new ItemDto(ItemProtocol.item_material, "码盘工位当前物料", "DB1.S264")); - list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S264")); - list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D264")); - list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB1.D520")); - list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB1.D524")); - list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D528")); - list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D532")); - list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D536")); - list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB1.S540")); - list.add(new ItemDto(ItemProtocol.item_total_split, "累计拆垛数量", "DB1.S540")); + list.add(new ItemDto(ItemProtocol.item_onoff_status, "开关机状态", "DB1.B4")); + list.add(new ItemDto(ItemProtocol.item_putStation, "当前码盘工位", "DB1.D6")); + list.add(new ItemDto(ItemProtocol.item_getStation, "当前抓取工位", "DB1.D10")); + list.add(new ItemDto(ItemProtocol.item_barcode, "当前码盘工位条码", "DB1.S14")); + list.add(new ItemDto(ItemProtocol.item_material, "码盘工位当前物料", "DB1.S270")); + list.add(new ItemDto(ItemProtocol.item_specifications, "规格", "DB1.S526")); + list.add(new ItemDto(ItemProtocol.item_batch, "批次", "DB1.D782")); + list.add(new ItemDto(ItemProtocol.item_qty, "数量", "DB1.D786")); + list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB1.D790")); + list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D794")); + list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D798")); + list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D802")); + list.add(new ItemDto(ItemProtocol.item_total_split, "累计拆垛数量", "DB1.D806")); + list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB1.S810")); - list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB1.D796")); - list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB1.D800")); - list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB1.D804")); - list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB1.D808")); - list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB1.D812")); - list.add(new ItemDto(ItemProtocol.item_tray_qty, "当前垛盘数", "DB1.D816")); - list.add(new ItemDto(ItemProtocol.item_tray_high, "垛盘高度", "DB1.D820")); - list.add(new ItemDto(ItemProtocol.item_crib_category, "垛型类别", "DB1.D824")); - list.add(new ItemDto(ItemProtocol.item_palletX1_line, "码垛X1行", "DB1.REAL828")); - list.add(new ItemDto(ItemProtocol.item_palletY1_row, "码垛Y1列", "DB1.REAL832")); - list.add(new ItemDto(ItemProtocol.item_palletA1_angle, "码垛A1角度", "DB1.REAL836")); - list.add(new ItemDto(ItemProtocol.item_palletX2_line, "码垛X2行", "DB1.REAL840")); - list.add(new ItemDto(ItemProtocol.item_palletY2_row, "码垛Y2列", "DB1.REAL844")); - list.add(new ItemDto(ItemProtocol.item_palletA2_angle, "码垛A2角度", "DB1.REAL848")); - list.add(new ItemDto(ItemProtocol.item_palletX3_line, "码垛X3行", "DB1.REAL852")); - list.add(new ItemDto(ItemProtocol.item_palletY3_row, "码垛Y3列", "DB1.REAL856")); - list.add(new ItemDto(ItemProtocol.item_palletA3_angle, "码垛A3角度", "DB1.REAL860")); - list.add(new ItemDto(ItemProtocol.item_pressCribX1_line, "压垛X1行", "DB1.REAL864")); - list.add(new ItemDto(ItemProtocol.item_pressCribY1_row, "压垛Y1列", "DB1.REAL868")); - list.add(new ItemDto(ItemProtocol.item_pressCribA1_angle, "压垛A1角度", "DB1.REAL872")); - list.add(new ItemDto(ItemProtocol.item_pressCribX2_line, "压垛X2行", "DB1.REAL876")); - list.add(new ItemDto(ItemProtocol.item_pressCribY2_row, "压垛Y2列", "DB1.REAL880")); - list.add(new ItemDto(ItemProtocol.item_pressCribA2_angle, "压垛A2角度", "DB1.REAL884")); - list.add(new ItemDto(ItemProtocol.item_pressCribX3_line, "压垛X3行", "DB1.REAL888")); - list.add(new ItemDto(ItemProtocol.item_pressCribY3_row, "压垛Y3列", "DB1.REAL892")); - list.add(new ItemDto(ItemProtocol.item_pressCribA3_angle, "压垛A3角度", "DB1.REAL896")); - list.add(new ItemDto(ItemProtocol.item_Zoffset, "Z轴偏移", "DB1.REAL900")); - list.add(new ItemDto(ItemProtocol.item_pallet_layerQty, "码垛层数", "DB1.D904")); - list.add(new ItemDto(ItemProtocol.item_pressCrib_layerQty, "压垛层数", "DB1.D908")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX1_interval, "码层X1间隔", "DB1.REAL912")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY1_interval, "码层Y1间隔", "DB1.REAL916")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX2_interval, "码层X2间隔", "DB1.REAL920")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY2_interval, "码层Y2间隔", "DB1.REAL924")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX3_interval, "码层X3间隔", "DB1.REAL928")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY3_interval, "码层Y3间隔", "DB1.REAL932")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX1_offset, "码层X1偏移", "DB1.REAL936")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY1_offset, "码层Y1偏移", "DB1.REAL940")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX2_offset, "码层X2偏移", "DB1.REAL944")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY2_offset, "码层Y2偏移", "DB1.REAL948")); - list.add(new ItemDto(ItemProtocol.item_codeLayerX3_offset, "码层X3偏移", "DB1.REAL952")); - list.add(new ItemDto(ItemProtocol.item_codeLayerY3_offset, "码层Y3偏移", "DB1.REAL956")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX1_interval, "压层X1间隔", "DB1.REAL960")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY1_interval, "压层Y1间隔", "DB1.REAL964")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX2_interval, "压层X2间隔", "DB1.REAL968")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY2_interval, "压层Y2间隔", "DB1.REAL972")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX3_interval, "压层X3间隔", "DB1.REAL976")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY3_interval, "压层Y3间隔", "DB1.REAL980")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX1_offset, "压层X1偏移", "DB1.REAL984")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY1_offset, "压层Y1偏移", "DB1.REAL988")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX2_offset, "压层X2偏移", "DB1.REAL992")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY2_offset, "压层Y2偏移", "DB1.REAL996")); - list.add(new ItemDto(ItemProtocol.item_pressLayerX3_offset, "压层X3偏移", "DB1.REAL1000")); - list.add(new ItemDto(ItemProtocol.item_pressLayerY3_offset, "压层Y3偏移", "DB1.REAL1004")); - list.add(new ItemDto(ItemProtocol.item_one_cribTotal, "1#垛总数", "DB1.D1008")); - list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB1.D1012")); - list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB1.D1016")); - list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB1.D1020")); - list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB1.D1024")); + list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB1.W1066")); + list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB1.W1068")); + list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB1.W1070")); + list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB1.W1072")); + list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB1.W1074")); + list.add(new ItemDto(ItemProtocol.item_tray_qty, "当前垛盘数", "DB1.W1076")); + list.add(new ItemDto(ItemProtocol.item_tray_high, "垛盘高度", "DB1.W1078")); + list.add(new ItemDto(ItemProtocol.item_crib_category, "垛型类别", "DB1.W1080")); + list.add(new ItemDto(ItemProtocol.item_palletX1_line, "码垛X1行", "DB1.W1082")); + list.add(new ItemDto(ItemProtocol.item_palletY1_row, "码垛Y1列", "DB1.W1084")); + list.add(new ItemDto(ItemProtocol.item_palletA1_angle, "码垛A1角度", "DB1.W1086")); + list.add(new ItemDto(ItemProtocol.item_palletX2_line, "码垛X2行", "DB1.W1088")); + list.add(new ItemDto(ItemProtocol.item_palletY2_row, "码垛Y2列", "DB1.W1090")); + list.add(new ItemDto(ItemProtocol.item_palletA2_angle, "码垛A2角度", "DB1.W1092")); + list.add(new ItemDto(ItemProtocol.item_palletX3_line, "码垛X3行", "DB1.W1094")); + list.add(new ItemDto(ItemProtocol.item_palletY3_row, "码垛Y3列", "DB1.W1096")); + list.add(new ItemDto(ItemProtocol.item_palletA3_angle, "码垛A3角度", "DB1.W1098")); + list.add(new ItemDto(ItemProtocol.item_pressCribX1_line, "压垛X1行", "DB1.W1100")); + list.add(new ItemDto(ItemProtocol.item_pressCribY1_row, "压垛Y1列", "DB1.W1102")); + list.add(new ItemDto(ItemProtocol.item_pressCribA1_angle, "压垛A1角度", "DB1.W1104")); + list.add(new ItemDto(ItemProtocol.item_pressCribX2_line, "压垛X2行", "DB1.W1106")); + list.add(new ItemDto(ItemProtocol.item_pressCribY2_row, "压垛Y2列", "DB1.W1108")); + list.add(new ItemDto(ItemProtocol.item_pressCribA2_angle, "压垛A2角度", "DB1.W1110")); + list.add(new ItemDto(ItemProtocol.item_pressCribX3_line, "压垛X3行", "DB1.W1112")); + list.add(new ItemDto(ItemProtocol.item_pressCribY3_row, "压垛Y3列", "DB1.W1114")); + list.add(new ItemDto(ItemProtocol.item_pressCribA3_angle, "压垛A3角度", "DB1.W1116")); + list.add(new ItemDto(ItemProtocol.item_Zoffset, "Z轴偏移", "DB1.W1118")); + list.add(new ItemDto(ItemProtocol.item_pallet_layerQty, "码垛层数", "DB1.W1120")); + list.add(new ItemDto(ItemProtocol.item_pressCrib_layerQty, "压垛层数", "DB1.W1122")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_interval, "码层X1间隔", "DB1.W1124")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_interval, "码层Y1间隔", "DB1.W1126")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_interval, "码层X2间隔", "DB1.W1128")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_interval, "码层Y2间隔", "DB1.W1130")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_interval, "码层X3间隔", "DB1.W1132")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_interval, "码层Y3间隔", "DB1.W1134")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_offset, "码层X1偏移", "DB1.W1136")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_offset, "码层Y1偏移", "DB1.W1138")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_offset, "码层X2偏移", "DB1.W1140")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_offset, "码层Y2偏移", "DB1.W1142")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_offset, "码层X3偏移", "DB1.W1144")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_offset, "码层Y3偏移", "DB1.W1146")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_interval, "压层X1间隔", "DB1.W1148")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_interval, "压层Y1间隔", "DB1.W1150")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_interval, "压层X2间隔", "DB1.W1152")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_interval, "压层Y2间隔", "DB1.W1154")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_interval, "压层X3间隔", "DB1.W1156")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_interval, "压层Y3间隔", "DB1.W1158")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_offset, "压层X1偏移", "DB1.W1160")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_offset, "压层Y1偏移", "DB1.W1162")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_offset, "压层X2偏移", "DB1.W1164")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_offset, "压层Y2偏移", "DB1.W1166")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_offset, "压层X3偏移", "DB1.W1168")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_offset, "压层Y3偏移", "DB1.W1170")); + list.add(new ItemDto(ItemProtocol.item_one_cribTotal, "1#垛总数", "DB1.W1172")); + list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB1.W1174")); + list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB1.W1176")); + list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB1.W1178")); + list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB1.W1180")); return list; } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDeviceDriver.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDeviceDriver.java index 730c380..dccc6ae 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDeviceDriver.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/rljn_package_palletSplit_manipulator/RljnPackagePalletSplitManipulatorDeviceDriver.java @@ -132,51 +132,51 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe int tray_qty = 0; int tray_high = 0; int crib_category = 0; - float palletX1_line = 0f; - float palletY1_row = 0f; - float palletA1_angle = 0f; - float palletX2_line = 0f; - float palletY2_row = 0f; - float palletA2_angle = 0f; - float palletX3_line = 0f; - float palletY3_row = 0f; - float palletA3_angle = 0f; - float pressCribX1_line = 0f; - float pressCribY1_row = 0f; - float pressCribA1_angle = 0f; - float pressCribX2_line = 0f; - float pressCribY2_row = 0f; - float pressCribA2_angle = 0f; - float pressCribX3_line = 0f; - float pressCribY3_row = 0f; - float pressCribA3_angle = 0f; - float Zoffset = 0f; + int palletX1_line = 0; + int palletY1_row = 0; + int palletA1_angle = 0; + int palletX2_line = 0; + int palletY2_row = 0; + int palletA2_angle = 0; + int palletX3_line = 0; + int palletY3_row = 0; + int palletA3_angle = 0; + int pressCribX1_line = 0; + int pressCribY1_row = 0; + int pressCribA1_angle = 0; + int pressCribX2_line = 0; + int pressCribY2_row = 0; + int pressCribA2_angle = 0; + int pressCribX3_line = 0; + int pressCribY3_row = 0; + int pressCribA3_angle = 0; + int Zoffset = 0; int pallet_layerQty = 0; int pressCrib_layerQty = 0; - float codeLayerX1_interval = 0f; - float codeLayerY1_interval = 0f; - float codeLayerX2_interval = 0f; - float codeLayerY2_interval = 0f; - float codeLayerX3_interval = 0f; - float codeLayerY3_interval = 0f; - float codeLayerX1_offset = 0f; - float codeLayerY1_offset = 0f; - float codeLayerX2_offset = 0f; - float codeLayerY2_offset = 0f; - float codeLayerX3_offset = 0f; - float codeLayerY3_offset = 0f; - float pressLayerX1_interval = 0f; - float pressLayerY1_interval = 0f; - float pressLayerX2_interval = 0f; - float pressLayerY2_interval = 0f; - float pressLayerX3_interval = 0f; - float pressLayerY3_interval = 0f; - float pressLayerX1_offset = 0f; - float pressLayerY1_offset = 0f; - float pressLayerX2_offset = 0f; - float pressLayerY2_offset = 0f; - float pressLayerX3_offset = 0f; - float pressLayerY3_offset = 0f; + int codeLayerX1_interval = 0; + int codeLayerY1_interval = 0; + int codeLayerX2_interval = 0; + int codeLayerY2_interval = 0; + int codeLayerX3_interval = 0; + int codeLayerY3_interval = 0; + int codeLayerX1_offset = 0; + int codeLayerY1_offset = 0; + int codeLayerX2_offset = 0; + int codeLayerY2_offset = 0; + int codeLayerX3_offset = 0; + int codeLayerY3_offset = 0; + int pressLayerX1_interval = 0; + int pressLayerY1_interval = 0; + int pressLayerX2_interval = 0; + int pressLayerY2_interval = 0; + int pressLayerX3_interval = 0; + int pressLayerY3_interval = 0; + int pressLayerX1_offset = 0; + int pressLayerY1_offset = 0; + int pressLayerX2_offset = 0; + int pressLayerY2_offset = 0; + int pressLayerX3_offset = 0; + int pressLayerY3_offset = 0; int one_cribTotal = 0; int two_cribTotal = 0; int one_qty = 0; @@ -191,51 +191,51 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe int last_tray_qty = 0; int last_tray_high = 0; int last_crib_category = 0; - float last_palletX1_line = 0f; - float last_palletY1_row = 0f; - float last_palletA1_angle = 0f; - float last_palletX2_line = 0f; - float last_palletY2_row = 0f; - float last_palletA2_angle = 0f; - float last_palletX3_line = 0f; - float last_palletY3_row = 0f; - float last_palletA3_angle = 0f; - float last_pressCribX1_line = 0f; - float last_pressCribY1_row = 0f; - float last_pressCribA1_angle = 0f; - float last_pressCribX2_line = 0f; - float last_pressCribY2_row = 0f; - float last_pressCribA2_angle = 0f; - float last_pressCribX3_line = 0f; - float last_pressCribY3_row = 0f; - float last_pressCribA3_angle = 0f; - float last_Zoffset = 0f; + int last_palletX1_line = 0; + int last_palletY1_row = 0; + int last_palletA1_angle = 0; + int last_palletX2_line = 0; + int last_palletY2_row = 0; + int last_palletA2_angle = 0; + int last_palletX3_line = 0; + int last_palletY3_row = 0; + int last_palletA3_angle = 0; + int last_pressCribX1_line = 0; + int last_pressCribY1_row = 0; + int last_pressCribA1_angle = 0; + int last_pressCribX2_line = 0; + int last_pressCribY2_row = 0; + int last_pressCribA2_angle = 0; + int last_pressCribX3_line = 0; + int last_pressCribY3_row = 0; + int last_pressCribA3_angle = 0; + int last_Zoffset = 0; int last_pallet_layerQty = 0; int last_pressCrib_layerQty = 0; - float last_codeLayerX1_interval = 0f; - float last_codeLayerY1_interval = 0f; - float last_codeLayerX2_interval = 0f; - float last_codeLayerY2_interval = 0f; - float last_codeLayerX3_interval = 0f; - float last_codeLayerY3_interval = 0f; - float last_codeLayerX1_offset = 0f; - float last_codeLayerY1_offset = 0f; - float last_codeLayerX2_offset = 0f; - float last_codeLayerY2_offset = 0f; - float last_codeLayerX3_offset = 0f; - float last_codeLayerY3_offset = 0f; - float last_pressLayerX1_interval = 0f; - float last_pressLayerY1_interval = 0f; - float last_pressLayerX2_interval = 0f; - float last_pressLayerY2_interval = 0f; - float last_pressLayerX3_interval = 0f; - float last_pressLayerY3_interval = 0f; - float last_pressLayerX1_offset = 0f; - float last_pressLayerY1_offset = 0f; - float last_pressLayerX2_offset = 0f; - float last_pressLayerY2_offset = 0f; - float last_pressLayerX3_offset = 0f; - float last_pressLayerY3_offset = 0f; + int last_codeLayerX1_interval = 0; + int last_codeLayerY1_interval = 0; + int last_codeLayerX2_interval = 0; + int last_codeLayerY2_interval = 0; + int last_codeLayerX3_interval = 0; + int last_codeLayerY3_interval = 0; + int last_codeLayerX1_offset = 0; + int last_codeLayerY1_offset = 0; + int last_codeLayerX2_offset = 0; + int last_codeLayerY2_offset = 0; + int last_codeLayerX3_offset = 0; + int last_codeLayerY3_offset = 0; + int last_pressLayerX1_interval = 0; + int last_pressLayerY1_interval = 0; + int last_pressLayerX2_interval = 0; + int last_pressLayerY2_interval = 0; + int last_pressLayerX3_interval = 0; + int last_pressLayerY3_interval = 0; + int last_pressLayerX1_offset = 0; + int last_pressLayerY1_offset = 0; + int last_pressLayerX2_offset = 0; + int last_pressLayerY2_offset = 0; + int last_pressLayerX3_offset = 0; + int last_pressLayerY3_offset = 0; int last_one_cribTotal = 0; int last_two_cribTotal = 0; int last_one_qty = 0; diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java index 857a5ea..33a3476 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/WmsToAcsServiceImpl.java @@ -22,6 +22,7 @@ import org.nl.acs.device_driver.lnsh.lnsh_package_pallet_manipulator.LnshPackage import org.nl.acs.device_driver.lnsh.lnsh_package_site.LnshPackageSiteDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_pallet_storage.LnshPalletStorageDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator.LnshPalletizingManipulatorDeviceDriver; +import org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator_site.LnshPalletizingManipulatorSiteDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_press.LnshPressDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_rgv.LnshRGVDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_split_manipulator.LnshSplitManipulatorDeviceDriver; @@ -486,9 +487,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { LnshMixingMillDeviceDriver lnshMixingMillDeviceDriver; //晟华-压力机 LnshPressDeviceDriver lnshPressDeviceDriver; - //晟华-码垛机械手 + //嘉耐-码垛机械手 LnshPalletizingManipulatorDeviceDriver lnshPalletizingManipulatorDeviceDriver; - //晟华-窑车道 + //嘉耐-窑车道 LnshKilnLaneDeviceDriver lnshKilnLaneDeviceDriver; //晟华-入出窑桁架 LnshKilnTrussDeviceDriver lnshKilnTrussDeviceDriver; @@ -498,24 +499,26 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { LnshFoldDiscSiteDeviceDriver lnshFoldDiscSiteDeviceDriver; //晟华-托盘存储线 LnshPalletStorageDeviceDriver lnshPalletStorageDeviceDriver; - //晟华-包装码垛机械手 + //嘉耐-包装码垛机械手 LnshPackagePalletManipulatorDeviceDriver lnshPackagePalletManipulatorDeviceDriver; //晟华-贴标机 LnshLabelingMachineDeviceDriver lnshLabelingMachineDeviceDriver; - //晟华-拆垛机械手 + //嘉耐-拆垛机械手 LnshSplitManipulatorDeviceDriver lnshSplitManipulatorDeviceDriver; - //晟华-RGV + //嘉耐-RGV LnshRGVDeviceDriver lnshRGVDeviceDriver; //晟华-包装线 LnshPackageLineDeviceDriver lnshPackageLineDeviceDriver; - //晟华-工位(交互模板) + //嘉耐-工位(交互模板) LnshStationDeviceDriver lnshStationDeviceDriver; - //晟华-缓存货架 + //嘉耐-缓存货架 LnshLaminatingMachineDeviceDriver lnshLaminatingMachineDeviceDriver; - //晟华-包装线工位 + //嘉耐-包装线工位 LnshPackageSiteDeviceDriver lnshPackageSiteDeviceDriver; - //荣力嘉耐-包装码拆垛机械手 + //嘉耐-包装码拆垛机械手 RljnPackagePalletSplitManipulatorDeviceDriver rljnPackagePalletSplitManipulatorDeviceDriver; + //嘉耐-码垛机械手工位 + LnshPalletizingManipulatorSiteDeviceDriver lnshPalletizingManipulatorSiteDeviceDriver; if (datas.size() == 0) { List list = DeviceService.findCacheDevice(); @@ -777,6 +780,28 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("barcode", lnshStationDeviceDriver.getBarcode()); jo.put("specifications", lnshStationDeviceDriver.getSpecifications()); jo.put("batch", lnshStationDeviceDriver.getBatch()); + } else if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { + lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); + jo.put("device_code", device.getDevice_code()); + jo.put("mode", lnshPalletizingManipulatorSiteDeviceDriver.getMode()); + jo.put("move", lnshPalletizingManipulatorSiteDeviceDriver.getMove()); + jo.put("action", lnshPalletizingManipulatorSiteDeviceDriver.getAction()); + jo.put("io_action", lnshPalletizingManipulatorSiteDeviceDriver.getIo_action()); + jo.put("hasGoods", lnshPalletizingManipulatorSiteDeviceDriver.getHasGoods()); + jo.put("isOnline", lnshPalletizingManipulatorSiteDeviceDriver.getIsonline()); + jo.put("error", lnshPalletizingManipulatorSiteDeviceDriver.getError()); + jo.put("isError", lnshPalletizingManipulatorSiteDeviceDriver.getIserror()); + jo.put("message", lnshPalletizingManipulatorSiteDeviceDriver.getMessage()); + jo.put("task", lnshPalletizingManipulatorSiteDeviceDriver.getTask()); + jo.put("weight", lnshPalletizingManipulatorSiteDeviceDriver.getWeight()); + jo.put("material", lnshPalletizingManipulatorSiteDeviceDriver.getMaterial()); + jo.put("barcode", lnshPalletizingManipulatorSiteDeviceDriver.getBarcode()); + jo.put("specifications", lnshPalletizingManipulatorSiteDeviceDriver.getSpecifications()); + jo.put("AlongSide", lnshPalletizingManipulatorSiteDeviceDriver.getAlongSide()); + jo.put("BshortSide", lnshPalletizingManipulatorSiteDeviceDriver.getBshortSide()); + jo.put("Htrapezoidal", lnshPalletizingManipulatorSiteDeviceDriver.getHtrapezoidal()); + jo.put("Wthickness", lnshPalletizingManipulatorSiteDeviceDriver.getWthickness()); + jo.put("batch", lnshPalletizingManipulatorSiteDeviceDriver.getBatch()); } else if (device.getDeviceDriver() instanceof LnshPackageSiteDeviceDriver) { lnshPackageSiteDeviceDriver = (LnshPackageSiteDeviceDriver) device.getDeviceDriver(); jo.put("device_code", device.getDevice_code()); @@ -933,6 +958,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("device_code", device.getDevice_code()); jo.put("mode", lnshPackagePalletManipulatorDeviceDriver.getMode()); jo.put("status", lnshPackagePalletManipulatorDeviceDriver.getStatus()); + jo.put("onoff_status", lnshPackagePalletManipulatorDeviceDriver.getOnoff_status()); + jo.put("specifications", lnshPackagePalletManipulatorDeviceDriver.getSpecifications()); + jo.put("batch", lnshPackagePalletManipulatorDeviceDriver.getBatch()); jo.put("isOnline", lnshPackagePalletManipulatorDeviceDriver.getIsonline()); jo.put("error", lnshPackagePalletManipulatorDeviceDriver.getError()); jo.put("putStation", lnshPackagePalletManipulatorDeviceDriver.getPut_station()); @@ -995,6 +1023,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("getStation", lnshSplitManipulatorDeviceDriver.getGetStation()); jo.put("barcode", lnshSplitManipulatorDeviceDriver.getBarcode()); jo.put("material", lnshSplitManipulatorDeviceDriver.getMaterial()); + jo.put("batch", lnshSplitManipulatorDeviceDriver.getBatch()); + jo.put("specifications", lnshSplitManipulatorDeviceDriver.getSpecifications()); + jo.put("qty", lnshSplitManipulatorDeviceDriver.getQty()); jo.put("total_split", lnshSplitManipulatorDeviceDriver.getTotal_split()); jo.put("open_time", lnshSplitManipulatorDeviceDriver.getOpen_time()); jo.put("standby_time", lnshSplitManipulatorDeviceDriver.getStandby_time()); @@ -1050,6 +1081,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("standby_time", lnshRGVDeviceDriver.getStandby_time()); jo.put("production_time", lnshRGVDeviceDriver.getProduction_time()); jo.put("error_time", lnshRGVDeviceDriver.getError_time()); + jo.put("task_qty", lnshRGVDeviceDriver.getTask_qty()); + jo.put("finishTask_qty", lnshRGVDeviceDriver.getFinishTask_qty()); + jo.put("batch", lnshRGVDeviceDriver.getBatch()); + jo.put("specifications", lnshRGVDeviceDriver.getSpecifications()); + jo.put("qty", lnshRGVDeviceDriver.getQty()); } else { jo.put("device_code", device.getDevice_code()); } @@ -1315,6 +1351,28 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("barcode", lnshStationDeviceDriver.getBarcode()); jo.put("specifications", lnshStationDeviceDriver.getSpecifications()); jo.put("batch", lnshStationDeviceDriver.getBatch()); + } else if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { + lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); + jo.put("device_code", device.getDevice_code()); + jo.put("mode", lnshPalletizingManipulatorSiteDeviceDriver.getMode()); + jo.put("move", lnshPalletizingManipulatorSiteDeviceDriver.getMove()); + jo.put("action", lnshPalletizingManipulatorSiteDeviceDriver.getAction()); + jo.put("io_action", lnshPalletizingManipulatorSiteDeviceDriver.getIo_action()); + jo.put("hasGoods", lnshPalletizingManipulatorSiteDeviceDriver.getHasGoods()); + jo.put("isOnline", lnshPalletizingManipulatorSiteDeviceDriver.getIsonline()); + jo.put("error", lnshPalletizingManipulatorSiteDeviceDriver.getError()); + jo.put("isError", lnshPalletizingManipulatorSiteDeviceDriver.getIserror()); + jo.put("message", lnshPalletizingManipulatorSiteDeviceDriver.getMessage()); + jo.put("task", lnshPalletizingManipulatorSiteDeviceDriver.getTask()); + jo.put("weight", lnshPalletizingManipulatorSiteDeviceDriver.getWeight()); + jo.put("material", lnshPalletizingManipulatorSiteDeviceDriver.getMaterial()); + jo.put("barcode", lnshPalletizingManipulatorSiteDeviceDriver.getBarcode()); + jo.put("specifications", lnshPalletizingManipulatorSiteDeviceDriver.getSpecifications()); + jo.put("AlongSide", lnshPalletizingManipulatorSiteDeviceDriver.getAlongSide()); + jo.put("BshortSide", lnshPalletizingManipulatorSiteDeviceDriver.getBshortSide()); + jo.put("Htrapezoidal", lnshPalletizingManipulatorSiteDeviceDriver.getHtrapezoidal()); + jo.put("Wthickness", lnshPalletizingManipulatorSiteDeviceDriver.getWthickness()); + jo.put("batch", lnshPalletizingManipulatorSiteDeviceDriver.getBatch()); } else if (device.getDeviceDriver() instanceof LnshPackageSiteDeviceDriver) { lnshPackageSiteDeviceDriver = (LnshPackageSiteDeviceDriver) device.getDeviceDriver(); jo.put("device_code", device.getDevice_code()); @@ -1471,6 +1529,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("device_code", device.getDevice_code()); jo.put("mode", lnshPackagePalletManipulatorDeviceDriver.getMode()); jo.put("status", lnshPackagePalletManipulatorDeviceDriver.getStatus()); + jo.put("onoff_status", lnshPackagePalletManipulatorDeviceDriver.getOnoff_status()); + jo.put("specifications", lnshPackagePalletManipulatorDeviceDriver.getSpecifications()); + jo.put("batch", lnshPackagePalletManipulatorDeviceDriver.getBatch()); jo.put("isOnline", lnshPackagePalletManipulatorDeviceDriver.getIsonline()); jo.put("error", lnshPackagePalletManipulatorDeviceDriver.getError()); jo.put("putStation", lnshPackagePalletManipulatorDeviceDriver.getPut_station()); @@ -1533,6 +1594,9 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("getStation", lnshSplitManipulatorDeviceDriver.getGetStation()); jo.put("barcode", lnshSplitManipulatorDeviceDriver.getBarcode()); jo.put("material", lnshSplitManipulatorDeviceDriver.getMaterial()); + jo.put("batch", lnshSplitManipulatorDeviceDriver.getBatch()); + jo.put("specifications", lnshSplitManipulatorDeviceDriver.getSpecifications()); + jo.put("qty", lnshSplitManipulatorDeviceDriver.getQty()); jo.put("total_split", lnshSplitManipulatorDeviceDriver.getTotal_split()); jo.put("open_time", lnshSplitManipulatorDeviceDriver.getOpen_time()); jo.put("standby_time", lnshSplitManipulatorDeviceDriver.getStandby_time()); @@ -1588,6 +1652,11 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { jo.put("standby_time", lnshRGVDeviceDriver.getStandby_time()); jo.put("production_time", lnshRGVDeviceDriver.getProduction_time()); jo.put("error_time", lnshRGVDeviceDriver.getError_time()); + jo.put("task_qty", lnshRGVDeviceDriver.getTask_qty()); + jo.put("finishTask_qty", lnshRGVDeviceDriver.getFinishTask_qty()); + jo.put("batch", lnshRGVDeviceDriver.getBatch()); + jo.put("specifications", lnshRGVDeviceDriver.getSpecifications()); + jo.put("qty", lnshRGVDeviceDriver.getQty()); } else { jo.put("device_code", device.getDevice_code()); } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/wql/QPRODUCESHIFTORDER.wql b/acs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/wql/QPRODUCESHIFTORDER.wql index ba73b06..6b431d3 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/wql/QPRODUCESHIFTORDER.wql +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/order/service/wql/QPRODUCESHIFTORDER.wql @@ -71,6 +71,8 @@ AND dtl.NAME = 'order_status' WHERE prod.is_deleted = '0' + and prod.order.status != '2' + and prod.order.status != '3' OPTION 输入.order_code <> "" prod.order_code like 输入.order_code ENDOPTION diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/stage/service/impl/StageActorServiceImpl.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/stage/service/impl/StageActorServiceImpl.java index ec4e28b..4b79cd0 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/stage/service/impl/StageActorServiceImpl.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/stage/service/impl/StageActorServiceImpl.java @@ -19,12 +19,14 @@ import org.nl.acs.device_driver.lnsh.lnsh_kiln_lane.LnshKilnLaneDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_kiln_truss.LnshKilnTrussDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_labeling_machine.LnshLabelingMachineDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_mixing_mill.LnshMixingMillDeviceDriver; +import org.nl.acs.device_driver.lnsh.lnsh_one_rgv.LnshOneRGVDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_out_kiln_truss.LnshOutKilnTrussDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_package_line.LnshPackageLineDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_package_pallet_manipulator.LnshPackagePalletManipulatorDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_package_site.LnshPackageSiteDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_pallet_storage.LnshPalletStorageDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator.LnshPalletizingManipulatorDeviceDriver; +import org.nl.acs.device_driver.lnsh.lnsh_palletizing_manipulator_site.LnshPalletizingManipulatorSiteDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_press.LnshPressDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_rgv.LnshRGVDeviceDriver; import org.nl.acs.device_driver.lnsh.lnsh_split_manipulator.LnshSplitManipulatorDeviceDriver; @@ -346,9 +348,9 @@ public class StageActorServiceImpl implements StageActorService { LnshMixingMillDeviceDriver lnshMixingMillDeviceDriver; //晟华-压力机 LnshPressDeviceDriver lnshPressDeviceDriver; - //晟华-码垛机械手 + //嘉耐-码垛机械手 LnshPalletizingManipulatorDeviceDriver lnshPalletizingManipulatorDeviceDriver; - //晟华-窑车道 + //嘉耐-窑车道 LnshKilnLaneDeviceDriver lnshKilnLaneDeviceDriver; //晟华-入出窑桁架 LnshKilnTrussDeviceDriver lnshKilnTrussDeviceDriver; @@ -358,24 +360,28 @@ public class StageActorServiceImpl implements StageActorService { LnshFoldDiscSiteDeviceDriver lnshFoldDiscSiteDeviceDriver; //晟华-托盘存储线 LnshPalletStorageDeviceDriver lnshPalletStorageDeviceDriver; - //晟华-包装码垛机械手 + //嘉耐-包装码垛机械手 LnshPackagePalletManipulatorDeviceDriver lnshPackagePalletManipulatorDeviceDriver; //晟华-贴标机 LnshLabelingMachineDeviceDriver lnshLabelingMachineDeviceDriver; - //晟华-拆垛机械手 + //嘉耐-拆垛机械手 LnshSplitManipulatorDeviceDriver lnshSplitManipulatorDeviceDriver; - //晟华-RGV + //嘉耐双工位RGV LnshRGVDeviceDriver lnshRGVDeviceDriver; + //嘉耐单工位RGV + LnshOneRGVDeviceDriver lnshOneRGVDeviceDriver; //晟华-包装线 LnshPackageLineDeviceDriver lnshPackageLineDeviceDriver; - //晟华-工位(交互模板) + //嘉耐-工位(交互模板) LnshStationDeviceDriver lnshStationDeviceDriver; - //晟华-缓存货架 + //嘉耐-缓存货架 LnshLaminatingMachineDeviceDriver lnshLaminatingMachineDeviceDriver; - //晟华-包装线工位 + //嘉耐-包装线工位 LnshPackageSiteDeviceDriver lnshPackageSiteDeviceDriver; - //荣力嘉耐-包装码拆垛机械手 + //嘉耐-包装码拆垛机械手 RljnPackagePalletSplitManipulatorDeviceDriver rljnPackagePalletSplitManipulatorDeviceDriver; + //嘉耐-码垛机械手工位 + LnshPalletizingManipulatorSiteDeviceDriver lnshPalletizingManipulatorSiteDeviceDriver; if (device.getDeviceDriver() instanceof StandardCoveyorControlDeviceDriver) { standardCoveyorControlDeviceDriver = (StandardCoveyorControlDeviceDriver) device.getDeviceDriver(); @@ -1022,6 +1028,68 @@ public class StageActorServiceImpl implements StageActorService { jo.put("barcode", lnshStationDeviceDriver.getBarcode()); jo.put("specifications", lnshStationDeviceDriver.getSpecifications()); jo.put("batch", lnshStationDeviceDriver.getBatch()); + } else if (device.getDeviceDriver() instanceof LnshPalletizingManipulatorSiteDeviceDriver) { + lnshPalletizingManipulatorSiteDeviceDriver = (LnshPalletizingManipulatorSiteDeviceDriver) device.getDeviceDriver(); + if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() == 0) { + mode = "未联机"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() == 1) { + mode = "单机"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() == 2) { + mode = "联机"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() == 4) { + mode = "叫料"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() == 5) { + mode = "申请空盘"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMode() == 6) { + mode = "申请入库"; + } + + if (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 0) { + action = "禁止取放"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 1) { + action = "允许取货"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 2) { + action = "允许放货"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getAction() == 3) { + action = "允许取放"; + } + if (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 0) { + io_action = "禁止进出"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 1) { + io_action = "允许进入"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 2) { + io_action = "允许离开"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getIo_action() == 3) { + io_action = "允许进出"; + } + + if (lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 0) { + move = "无货"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 1) { + move = "有货"; + } else if (lnshPalletizingManipulatorSiteDeviceDriver.getMove() == 2) { + move = "有托盘有货"; + } + obj.put("device_name", lnshPalletizingManipulatorSiteDeviceDriver.getDevice().getDevice_name()); + jo.put("mode", mode); + jo.put("move", move); + jo.put("action", action); + jo.put("io_action", io_action); + jo.put("hasGoods", lnshPalletizingManipulatorSiteDeviceDriver.getHasGoods()); + jo.put("isOnline", lnshPalletizingManipulatorSiteDeviceDriver.getIsonline()); + jo.put("error", lnshPalletizingManipulatorSiteDeviceDriver.getError()); + jo.put("isError", lnshPalletizingManipulatorSiteDeviceDriver.getIserror()); + jo.put("message", lnshPalletizingManipulatorSiteDeviceDriver.getMessage()); + jo.put("task", lnshPalletizingManipulatorSiteDeviceDriver.getTask()); + jo.put("weight", lnshPalletizingManipulatorSiteDeviceDriver.getWeight()); + jo.put("material", lnshPalletizingManipulatorSiteDeviceDriver.getMaterial()); + jo.put("barcode", lnshPalletizingManipulatorSiteDeviceDriver.getBarcode()); + jo.put("specifications", lnshPalletizingManipulatorSiteDeviceDriver.getSpecifications()); + jo.put("AlongSide", lnshPalletizingManipulatorSiteDeviceDriver.getAlongSide()); + jo.put("BshortSide", lnshPalletizingManipulatorSiteDeviceDriver.getBshortSide()); + jo.put("Htrapezoidal", lnshPalletizingManipulatorSiteDeviceDriver.getHtrapezoidal()); + jo.put("Wthickness", lnshPalletizingManipulatorSiteDeviceDriver.getWthickness()); + jo.put("batch", lnshPalletizingManipulatorSiteDeviceDriver.getBatch()); } else if (device.getDeviceDriver() instanceof LnshPackageSiteDeviceDriver) { lnshPackageSiteDeviceDriver = (LnshPackageSiteDeviceDriver) device.getDeviceDriver(); if (lnshPackageSiteDeviceDriver.getMode() == 0) { @@ -1078,7 +1146,8 @@ public class StageActorServiceImpl implements StageActorService { jo.put("weight", lnshPackageSiteDeviceDriver.getWeight()); jo.put("material", lnshPackageSiteDeviceDriver.getMaterial()); jo.put("barcode", lnshPackageSiteDeviceDriver.getBarcode()); - } else if (device.getDeviceDriver() instanceof LnshMixingMillDeviceDriver) { + } + else if (device.getDeviceDriver() instanceof LnshMixingMillDeviceDriver) { lnshMixingMillDeviceDriver = (LnshMixingMillDeviceDriver) device.getDeviceDriver(); if (lnshMixingMillDeviceDriver.getMode() == 0) { mode = "未联机"; @@ -1406,10 +1475,20 @@ public class StageActorServiceImpl implements StageActorService { } else if (lnshPackagePalletManipulatorDeviceDriver.getStatus() == 3) { status = "故障"; } + String onoff_status = ""; + + if (lnshPackagePalletManipulatorDeviceDriver.getOnoff_status() == 1) { + onoff_status = "关机"; + } else if (lnshPackagePalletManipulatorDeviceDriver.getOnoff_status() == 2) { + onoff_status = "开机"; + } obj.put("device_name", lnshPackagePalletManipulatorDeviceDriver.getDevice().getDevice_name()); jo.put("mode", mode); jo.put("status", status); + jo.put("onoff_status", onoff_status); + jo.put("specifications", lnshPackagePalletManipulatorDeviceDriver.getSpecifications()); + jo.put("batch", lnshPackagePalletManipulatorDeviceDriver.getBatch()); jo.put("isOnline", lnshPackagePalletManipulatorDeviceDriver.getIsonline()); jo.put("error", lnshPackagePalletManipulatorDeviceDriver.getError()); jo.put("putStation", lnshPackagePalletManipulatorDeviceDriver.getPut_station()); @@ -1519,6 +1598,7 @@ public class StageActorServiceImpl implements StageActorService { jo.put("error_time", lnshSplitManipulatorDeviceDriver.getError_time()); jo.put("batch", lnshSplitManipulatorDeviceDriver.getBatch()); jo.put("specifications", lnshSplitManipulatorDeviceDriver.getSpecifications()); + jo.put("qty", lnshSplitManipulatorDeviceDriver.getQty()); jo.put("onoff_status", onoff_status); jo.put("isError", lnshSplitManipulatorDeviceDriver.getIserror()); jo.put("message", lnshSplitManipulatorDeviceDriver.getMessage()); @@ -1664,6 +1744,75 @@ public class StageActorServiceImpl implements StageActorService { jo.put("standby_time", lnshRGVDeviceDriver.getStandby_time()); jo.put("production_time", lnshRGVDeviceDriver.getProduction_time()); jo.put("error_time", lnshRGVDeviceDriver.getError_time()); + jo.put("task_qty", lnshRGVDeviceDriver.getTask_qty()); + jo.put("finishTask_qty", lnshRGVDeviceDriver.getFinishTask_qty()); + jo.put("batch", lnshRGVDeviceDriver.getBatch()); + jo.put("specifications", lnshRGVDeviceDriver.getSpecifications()); + jo.put("qty", lnshRGVDeviceDriver.getQty()); + } else if (device.getDeviceDriver() instanceof LnshOneRGVDeviceDriver) { + lnshOneRGVDeviceDriver = (LnshOneRGVDeviceDriver) device.getDeviceDriver(); + String move_1 = ""; + String action_1 = ""; + String walk_y = ""; + + if (lnshOneRGVDeviceDriver.getMode() == 0) { + mode = "未联机"; + } else if (lnshOneRGVDeviceDriver.getMode() == 1) { + mode = "单机"; + } else if (lnshOneRGVDeviceDriver.getMode() == 2) { + mode = "联机"; + } else if (lnshOneRGVDeviceDriver.getMode() == 3) { + mode = "运行中"; + } + + if (lnshOneRGVDeviceDriver.getStatus() == 1) { + status = "待机"; + } else if (lnshOneRGVDeviceDriver.getStatus() == 2) { + status = "生产中"; + } else if (lnshOneRGVDeviceDriver.getStatus() == 3) { + status = "故障"; + } + + if (lnshOneRGVDeviceDriver.getMove_1() == 0) { + move_1 = "无货"; + } else if (lnshOneRGVDeviceDriver.getMove_1() == 1) { + move_1 = "有货"; + } else if (lnshOneRGVDeviceDriver.getMove_1() == 2) { + move_1 = "有托盘有货"; + } + + if (lnshOneRGVDeviceDriver.getAction_1() == 1) { + action_1 = "取货中"; + } else if (lnshOneRGVDeviceDriver.getAction_1() == 2) { + action_1 = "取货完成"; + } else if (lnshOneRGVDeviceDriver.getAction_1() == 3) { + action_1 = "放货中"; + } else if (lnshOneRGVDeviceDriver.getAction_1() == 4) { + action_1 = "放货完成"; + } + + if (lnshOneRGVDeviceDriver.getWalk_y() == 0) { + walk_y = "原位"; + } else if (lnshOneRGVDeviceDriver.getWalk_y() == 2) { + walk_y = "非原位"; + } + + obj.put("device_name", lnshOneRGVDeviceDriver.getDevice().getDevice_name()); + jo.put("mode", mode); + jo.put("status", status); + jo.put("move_1", move_1); + jo.put("action_1", action_1); + jo.put("walk_y", walk_y); + jo.put("error", lnshOneRGVDeviceDriver.getError()); + jo.put("task1", lnshOneRGVDeviceDriver.getTask1()); + jo.put("isOnline", lnshOneRGVDeviceDriver.getIsonline()); + jo.put("isError", lnshOneRGVDeviceDriver.getIserror()); + jo.put("message", lnshOneRGVDeviceDriver.getMessage()); + jo.put("task_qty", lnshOneRGVDeviceDriver.getTask_qty()); + jo.put("finishTask_qty", lnshOneRGVDeviceDriver.getFinishTask_qty()); + jo.put("batch", lnshOneRGVDeviceDriver.getBatch()); + jo.put("specifications", lnshOneRGVDeviceDriver.getSpecifications()); + jo.put("qty", lnshOneRGVDeviceDriver.getQty()); } obj.put("data", jo); } diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java index a916c1c..234fbe4 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskFeedbackServiceImpl.java @@ -4,6 +4,7 @@ package org.nl.acs.task.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -75,6 +76,9 @@ public class TaskFeedbackServiceImpl implements TaskFeedbackService { public TaskFeedbackDto findByCode(String code) { WQLObject wo = WQLObject.getWQLObject("acs_task_feedback"); JSONObject json = wo.query("task_code ='" + code + "' and is_finished='0' ").uniqueResult(0); + if (ObjectUtil.isEmpty(json)) { + return null; + } final TaskFeedbackDto obj = json.toJavaObject(TaskFeedbackDto.class); return obj; } diff --git a/acs/qd/src/views/acs/device/config.vue b/acs/qd/src/views/acs/device/config.vue index 3875883..05ebd7a 100644 --- a/acs/qd/src/views/acs/device/config.vue +++ b/acs/qd/src/views/acs/device/config.vue @@ -120,6 +120,8 @@ import lnsh_Laminating_machine from '@/views/acs/device/driver/lnsh/lnsh_Laminat import lnsh_package_site from '@/views/acs/device/driver/lnsh/lnsh_package_site' import rljn_package_palletSplit_manipulator from '@/views/acs/device/driver/lnsh/rljn_package_palletSplit_manipulator' import standard_rgv from '@/views/acs/device/driver/standard_rgv' +import lnsh_palletizing_manipulator_site from '@/views/acs/device/driver/lnsh/lnsh_palletizing_manipulator_site' +import lnsh_one_rgv from '@/views/acs/device/driver/lnsh/lnsh_one_rgv' export default { name: 'DeviceConfig', @@ -131,7 +133,8 @@ export default { standard_photoelectric_inspect_site, ndxy_special, hailiang_labeling, ndxy_special_two, whxr_storage_conveyor, whxr_ball_mill, whxr_spary_tower, whxr_weight, electric_fence, lnsh_mixing_mill, lnsh_press, lnsh_palletizing_manipulator, lnsh_fold_disc_site, lnsh_kiln_lane, lnsh_kiln_truss, lnsh_package_line, lnsh_out_kiln_truss, lnsh_package_pallet_manipulator, lnsh_pallet_storage, lnsh_labeling_machine, lnsh_split_manipulator, lnsh_rgv, - lnsh_station, lnsh_Laminating_machine, lnsh_package_site, rljn_package_palletSplit_manipulator, standard_rgv }, + lnsh_station, lnsh_Laminating_machine, lnsh_package_site, rljn_package_palletSplit_manipulator, standard_rgv, lnsh_palletizing_manipulator_site, + lnsh_one_rgv}, dicts: ['device_type'], mixins: [crud], data() { diff --git a/acs/qd/src/views/acs/device/driver/lnsh/lnsh_one_rgv.vue b/acs/qd/src/views/acs/device/driver/lnsh/lnsh_one_rgv.vue new file mode 100644 index 0000000..fd8aa8b --- /dev/null +++ b/acs/qd/src/views/acs/device/driver/lnsh/lnsh_one_rgv.vue @@ -0,0 +1,535 @@ + + + + + diff --git a/acs/qd/src/views/acs/device/driver/lnsh/lnsh_palletizing_manipulator_site.vue b/acs/qd/src/views/acs/device/driver/lnsh/lnsh_palletizing_manipulator_site.vue new file mode 100644 index 0000000..93a670f --- /dev/null +++ b/acs/qd/src/views/acs/device/driver/lnsh/lnsh_palletizing_manipulator_site.vue @@ -0,0 +1,491 @@ + + + + + diff --git a/acs/qd/src/views/acs/device/driver/lnsh/lnsh_rgv.vue b/acs/qd/src/views/acs/device/driver/lnsh/lnsh_rgv.vue index a2684b4..6f7f537 100644 --- a/acs/qd/src/views/acs/device/driver/lnsh/lnsh_rgv.vue +++ b/acs/qd/src/views/acs/device/driver/lnsh/lnsh_rgv.vue @@ -1,5 +1,5 @@