From 7f7265e5fcdddeef1656ebebd3b4f83ddeee30aa Mon Sep 17 00:00:00 2001 From: loujf Date: Fri, 19 Aug 2022 14:35:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=8B=A3=E6=9C=BA=E6=A2=B0=E6=89=8B?= =?UTF-8?q?=E9=A9=B1=E5=8A=A8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ItemProtocol.java | 66 +++++++++- ...nshPackagePalletManipulatorDefination.java | 9 +- ...hPackagePalletManipulatorDeviceDriver.java | 59 ++++++++- .../lnsh_split_manipulator/ItemProtocol.java | 12 +- .../LnshSplitManipulatorDefination.java | 120 +++++++++--------- .../ItemProtocol.java | 66 +++++++++- ...ckagePalletSplitManipulatorDefination.java | 9 +- ...agePalletSplitManipulatorDeviceDriver.java | 42 +++++- 8 files changed, 301 insertions(+), 82 deletions(-) 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 7d0d71c..24bc340 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 @@ -30,6 +30,11 @@ public class ItemProtocol { public static String item_error_time = "error_time"; public static String item_order_No = "order_No"; public static String item_order_qty = "order_qty"; + public static String item_xContainer_length = "xContainer_length"; + public static String item_yContainer_length = "yContainer_length"; + public static String item_container_getQty = "container_getQty"; + public static String item_getX_offset = "getX_offset"; + public static String item_getY_offset = "getY_offset"; public static String item_product_code = "product_code"; public static String item_AlongSide = "AlongSide"; @@ -157,6 +162,11 @@ public class ItemProtocol { public static String item_to_two_qty = "to_two_qty"; public static String item_to_tool_coordinate = "to_tool_coordinate"; public static String item_to_order_qty = "to_order_qty"; + public static String item_to_xContainer_length = "to_xContainer_length"; + public static String item_to_yContainer_length = "to_yContainer_length"; + public static String item_to_container_getQty = "to_container_getQty"; + public static String item_to_getX_offset = "to_getX_offset"; + public static String item_to_getY_offset = "to_getY_offset"; private LnshPackagePalletManipulatorDeviceDriver driver; @@ -233,6 +243,26 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_order_qty); } + public int getXContainer_length() { + return this.getOpcIntegerValue(item_xContainer_length); + } + + public int getYContainer_length() { + return this.getOpcIntegerValue(item_yContainer_length); + } + + public int getContainer_getQty() { + return this.getOpcIntegerValue(item_container_getQty); + } + + public int getGetX_offset() { + return this.getOpcIntegerValue(item_getX_offset); + } + + public int getGetY_offset() { + return this.getOpcIntegerValue(item_getY_offset); + } + public int getProduct_code() { return this.getOpcIntegerValue(item_product_code); } @@ -729,6 +759,26 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_order_qty); } + public int getToXContainer_length() { + return this.getOpcIntegerValue(item_to_xContainer_length); + } + + public int getToYContainer_length() { + return this.getOpcIntegerValue(item_to_yContainer_length); + } + + public int getToContainer_getQty() { + return this.getOpcIntegerValue(item_to_container_getQty); + } + + public int getToGetX_offset() { + return this.getOpcIntegerValue(item_to_getX_offset); + } + + public int getToGetY_offset() { + return this.getOpcIntegerValue(item_to_getY_offset); + } + //是否有货 public int hasGoods(int move) { return move; @@ -845,8 +895,13 @@ public class ItemProtocol { 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, "工具坐标", "DB1.W1172")); - list.add(new ItemDto(item_order_qty, "工单码垛数量", "DB1.D1174")); + list.add(new ItemDto(item_xContainer_length, "1#X托盘长度", "DB1.W1172")); + list.add(new ItemDto(item_yContainer_length, "1#Y托盘长度", "DB1.W1174")); + list.add(new ItemDto(item_container_getQty, "1#托盘抓取数", "DB1.W1176")); + list.add(new ItemDto(item_getX_offset, "1#抓取X偏移", "DB1.W1178")); + list.add(new ItemDto(item_getY_offset, "1#抓取Y偏移", "DB1.W1180")); + list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB1.W1182")); + list.add(new ItemDto(item_order_qty, "工单码垛数量", "DB1.W1184")); return list; } @@ -918,7 +973,12 @@ public class ItemProtocol { 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")); - list.add(new ItemDto(item_to_order_qty, "工单数量", "DB2.D386")); + list.add(new ItemDto(item_to_order_qty, "工单数量", "DB2.W386")); + list.add(new ItemDto(item_to_xContainer_length, "1#X托盘长度", "DB2.W388")); + list.add(new ItemDto(item_to_yContainer_length, "1#Y托盘长度", "DB2.W390")); + list.add(new ItemDto(item_to_container_getQty, "1#托盘抓取数", "DB2.W392")); + list.add(new ItemDto(item_to_getX_offset, "1#抓取X偏移", "DB2.W394")); + list.add(new ItemDto(item_to_getY_offset, "1#抓取Y偏移", "DB2.W396")); 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 409c1d4..468cae3 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 @@ -131,8 +131,13 @@ public class LnshPackagePalletManipulatorDefination implements OpcDeviceDriverDe 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, "工具坐标", "DB1.D1172")); - list.add(new ItemDto(ItemProtocol.item_order_qty, "工单码垛数量", "DB1.D1174")); + list.add(new ItemDto(ItemProtocol.item_xContainer_length, "1#X托盘长度", "DB1.W1172")); + list.add(new ItemDto(ItemProtocol.item_yContainer_length, "1#Y托盘长度", "DB1.W1174")); + list.add(new ItemDto(ItemProtocol.item_container_getQty, "1#托盘抓取数", "DB1.W1176")); + list.add(new ItemDto(ItemProtocol.item_getX_offset, "1#抓取X偏移", "DB1.W1178")); + list.add(new ItemDto(ItemProtocol.item_getY_offset, "1#抓取Y偏移", "DB1.W1180")); + list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB1.W1182")); + list.add(new ItemDto(ItemProtocol.item_order_qty, "工单码垛数量", "DB1.W1184")); 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 d541f85..77047bb 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 @@ -117,6 +117,17 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD int order_qty = 0; int last_order_qty = 0; + int xContainer_length = 0; + int last_xContainer_length = 0; + int yContainer_length = 0; + int last_yContainer_length = 0; + int container_getQty = 0; + int last_container_getQty = 0; + int getX_offset = 0; + int last_getX_offset = 0; + int getY_offset = 0; + int last_getY_offset = 0; + //垛型参数 int product_code = 0; int AlongSide = 0; @@ -263,6 +274,11 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD specifications = this.itemProtocol.getSpecifications(); batch = this.itemProtocol.getBatch(); order_qty = this.itemProtocol.getOrder_qty(); + xContainer_length = this.itemProtocol.getXContainer_length(); + yContainer_length = this.itemProtocol.getYContainer_length(); + container_getQty = this.itemProtocol.getContainer_getQty(); + getX_offset = this.itemProtocol.getGetX_offset(); + getY_offset = this.itemProtocol.getGetY_offset(); product_code = this.itemProtocol.getProduct_code(); AlongSide = this.itemProtocol.getAlongSide(); @@ -620,6 +636,26 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD logServer.deviceItemValue(this.device_code,"tool_coordinate" ,String.valueOf(tool_coordinate)); logServer.deviceExecuteLog(this.device_code,"","","信号tool_coordinate:" + last_tool_coordinate + "->" + tool_coordinate); } + if (xContainer_length != last_xContainer_length) { + logServer.deviceItemValue(this.device_code,"xContainer_length" ,String.valueOf(xContainer_length)); + logServer.deviceExecuteLog(this.device_code,"","","信号xContainer_length:" + last_xContainer_length + "->" + xContainer_length); + } + if (yContainer_length != last_yContainer_length) { + logServer.deviceItemValue(this.device_code,"yContainer_length" ,String.valueOf(yContainer_length)); + logServer.deviceExecuteLog(this.device_code,"","","信号yContainer_length:" + last_yContainer_length + "->" + yContainer_length); + } + if (container_getQty != last_container_getQty) { + logServer.deviceItemValue(this.device_code,"container_getQty" ,String.valueOf(container_getQty)); + logServer.deviceExecuteLog(this.device_code,"","","信号container_getQty:" + last_container_getQty + "->" + container_getQty); + } + if (getX_offset != last_getX_offset) { + logServer.deviceItemValue(this.device_code,"getX_offset" ,String.valueOf(getX_offset)); + logServer.deviceExecuteLog(this.device_code,"","","信号getX_offset:" + last_getX_offset + "->" + getX_offset); + } + if (getY_offset != last_getY_offset) { + logServer.deviceItemValue(this.device_code,"getY_offset" ,String.valueOf(getY_offset)); + logServer.deviceExecuteLog(this.device_code,"","","信号getY_offset:" + last_getY_offset + "->" + getY_offset); + } } catch (Exception var17) { return; @@ -673,13 +709,15 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD case 6: //码垛完成 if (!requireSucess) { + applyEmpty(); palletizing(); } break; case 7: - //码垛强制完成 + //码垛强制完成 半托缓存 if (!requireSucess) { - mandatoryPalletizing(); + applyEmpty(); + mandatoryPalletizing("0"); } break; case 8: @@ -699,6 +737,13 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD enterProduction(json); } break; + case 11: + //强制去包装 + if (!requireSucess) { + applyEmpty(); + mandatoryPalletizing("1"); + } + break; } switch (flag) { @@ -787,7 +832,11 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD last_one_qty = one_qty; last_two_qty = two_qty; last_tool_coordinate = tool_coordinate; - + last_xContainer_length = xContainer_length; + last_yContainer_length = yContainer_length; + last_container_getQty = container_getQty; + last_getX_offset = getX_offset; + last_getY_offset = getY_offset; } @@ -1079,7 +1128,7 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD * * @param */ - public synchronized boolean mandatoryPalletizing() { + public synchronized boolean mandatoryPalletizing(String type) { 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); @@ -1094,7 +1143,7 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD List demoList = Arrays.asList(demoArray); json.put("device_code",demoList.get(put_station-1).replace("\"","")); json.put("qty",qty); json.put("vehicle_code",barcode); - json.put("is_full","0"); + json.put("is_full",type); json.put("product_code",product_code); json.put("AlongSide",AlongSide); json.put("BshortSide",BshortSide); 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 1daf8e3..81990af 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 @@ -828,9 +828,9 @@ public class ItemProtocol { list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB7.W912")); list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB7.W914")); list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB7.W916")); - list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB1.W918")); - list.add(new ItemDto(item_order_qty, "工单数量", "DB1.D920")); - list.add(new ItemDto(item_order_No, "工单号", "DB1.S924")); + list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB7.W918")); + list.add(new ItemDto(item_order_qty, "工单数量", "DB7.D920")); + list.add(new ItemDto(item_order_No, "工单号", "DB7.S924")); return list; } @@ -897,9 +897,9 @@ public class ItemProtocol { list.add(new ItemDto(item_to_two_cribTotal, "2#垛总数", "DB8.W368")); list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB8.W370")); list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB8.W372")); - list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB8. W374")); - list.add(new ItemDto(item_to_order_qty, "工单数量", "DB8. D376")); - list.add(new ItemDto(item_to_order_No, "工单号", "DB8. S380")); + list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB8.W374")); + list.add(new ItemDto(item_to_order_qty, "工单数量", "DB8.D376")); + list.add(new ItemDto(item_to_order_No, "工单号", "DB8.S380")); 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 2ef8f9a..c2d191c 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 @@ -73,66 +73,66 @@ public class LnshSplitManipulatorDefination implements OpcDeviceDriverDefination 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, "工具坐标", "DB1.D918")); - list.add(new ItemDto(ItemProtocol.item_order_qty, "工单数量", "DB1.D920")); - list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB1.S924")); + list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB7.W804")); + list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB7.W806")); + list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB7.W808")); + list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB7.W810")); + list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB7.W812")); + list.add(new ItemDto(ItemProtocol.item_tray_qty, "当前垛盘数", "DB7.W814")); + list.add(new ItemDto(ItemProtocol.item_tray_high, "垛盘高度", "DB7.W816")); + list.add(new ItemDto(ItemProtocol.item_crib_category, "垛型类别", "DB7.W818")); + list.add(new ItemDto(ItemProtocol.item_palletX1_line, "码垛X1行", "DB7.W820")); + list.add(new ItemDto(ItemProtocol.item_palletY1_row, "码垛Y1列", "DB7.W822")); + list.add(new ItemDto(ItemProtocol.item_palletA1_angle, "码垛A1角度", "DB7.W824")); + list.add(new ItemDto(ItemProtocol.item_palletX2_line, "码垛X2行", "DB7.W826")); + list.add(new ItemDto(ItemProtocol.item_palletY2_row, "码垛Y2列", "DB7.W828")); + list.add(new ItemDto(ItemProtocol.item_palletA2_angle, "码垛A2角度", "DB7.W830")); + list.add(new ItemDto(ItemProtocol.item_palletX3_line, "码垛X3行", "DB7.W832")); + list.add(new ItemDto(ItemProtocol.item_palletY3_row, "码垛Y3列", "DB7.W834")); + list.add(new ItemDto(ItemProtocol.item_palletA3_angle, "码垛A3角度", "DB7.W836")); + list.add(new ItemDto(ItemProtocol.item_pressCribX1_line, "压垛X1行", "DB7.W838")); + list.add(new ItemDto(ItemProtocol.item_pressCribY1_row, "压垛Y1列", "DB7.W840")); + list.add(new ItemDto(ItemProtocol.item_pressCribA1_angle, "压垛A1角度", "DB7.W842")); + list.add(new ItemDto(ItemProtocol.item_pressCribX2_line, "压垛X2行", "DB7.W844")); + list.add(new ItemDto(ItemProtocol.item_pressCribY2_row, "压垛Y2列", "DB7.W846")); + list.add(new ItemDto(ItemProtocol.item_pressCribA2_angle, "压垛A2角度", "DB7.W848")); + list.add(new ItemDto(ItemProtocol.item_pressCribX3_line, "压垛X3行", "DB7.W850")); + list.add(new ItemDto(ItemProtocol.item_pressCribY3_row, "压垛Y3列", "DB7.W852")); + list.add(new ItemDto(ItemProtocol.item_pressCribA3_angle, "压垛A3角度", "DB7.W854")); + list.add(new ItemDto(ItemProtocol.item_Zoffset, "Z轴偏移", "DB7.W856")); + list.add(new ItemDto(ItemProtocol.item_pallet_layerQty, "码垛层数", "DB7.W858")); + list.add(new ItemDto(ItemProtocol.item_pressCrib_layerQty, "压垛层数", "DB7.W860")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_interval, "码层X1间隔", "DB7.W862")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_interval, "码层Y1间隔", "DB7.W864")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_interval, "码层X2间隔", "DB7.W866")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_interval, "码层Y2间隔", "DB7.W868")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_interval, "码层X3间隔", "DB7.W870")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_interval, "码层Y3间隔", "DB7.W872")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX1_offset, "码层X1偏移", "DB7.W874")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY1_offset, "码层Y1偏移", "DB7.W876")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX2_offset, "码层X2偏移", "DB7.W878")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY2_offset, "码层Y2偏移", "DB7.W880")); + list.add(new ItemDto(ItemProtocol.item_codeLayerX3_offset, "码层X3偏移", "DB7.W882")); + list.add(new ItemDto(ItemProtocol.item_codeLayerY3_offset, "码层Y3偏移", "DB7.W884")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_interval, "压层X1间隔", "DB7.W886")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_interval, "压层Y1间隔", "DB7.W888")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_interval, "压层X2间隔", "DB7.W890")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_interval, "压层Y2间隔", "DB7.W892")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_interval, "压层X3间隔", "DB7.W894")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_interval, "压层Y3间隔", "DB7.W896")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX1_offset, "压层X1偏移", "DB7.W898")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY1_offset, "压层Y1偏移", "DB7.W900")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX2_offset, "压层X2偏移", "DB7.W902")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY2_offset, "压层Y2偏移", "DB7.W904")); + list.add(new ItemDto(ItemProtocol.item_pressLayerX3_offset, "压层X3偏移", "DB7.W906")); + list.add(new ItemDto(ItemProtocol.item_pressLayerY3_offset, "压层Y3偏移", "DB7.W908")); + list.add(new ItemDto(ItemProtocol.item_one_cribTotal, "1#垛总数", "DB7.W910")); + list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB7.W912")); + list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB7.W914")); + list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB7.W916")); + list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB7.D918")); + list.add(new ItemDto(ItemProtocol.item_order_qty, "工单数量", "DB7.D920")); + list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB7.S924")); return list; } 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 009b60d..20c4440 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 @@ -32,6 +32,11 @@ public class ItemProtocol { public static String item_order_No = "order_No"; public static String item_order_qty = "order_qty"; public static String item_total_split = "total_split"; + public static String item_xContainer_length = "xContainer_length"; + public static String item_yContainer_length = "yContainer_length"; + public static String item_container_getQty = "container_getQty"; + public static String item_getX_offset = "getX_offset"; + public static String item_getY_offset = "getY_offset"; public static String item_product_code = "product_code"; public static String item_AlongSide = "AlongSide"; @@ -159,6 +164,11 @@ public class ItemProtocol { 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"; + public static String item_to_xContainer_length = "to_xContainer_length"; + public static String item_to_yContainer_length = "to_yContainer_length"; + public static String item_to_container_getQty = "to_container_getQty"; + public static String item_to_getX_offset = "to_getX_offset"; + public static String item_to_getY_offset = "to_getY_offset"; private RljnPackagePalletSplitManipulatorDeviceDriver driver; @@ -243,6 +253,26 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_order_qty); } + public int getXContainer_length() { + return this.getOpcIntegerValue(item_xContainer_length); + } + + public int getYContainer_length() { + return this.getOpcIntegerValue(item_yContainer_length); + } + + public int getContainer_getQty() { + return this.getOpcIntegerValue(item_container_getQty); + } + + public int getGetX_offset() { + return this.getOpcIntegerValue(item_getX_offset); + } + + public int getGetY_offset() { + return this.getOpcIntegerValue(item_getY_offset); + } + public int getProduct_code() { return this.getOpcIntegerValue(item_product_code); } @@ -739,6 +769,26 @@ public class ItemProtocol { return this.getOpcIntegerValue(item_to_order_qty); } + public int getToXContainer_length() { + return this.getOpcIntegerValue(item_to_xContainer_length); + } + + public int getToYContainer_length() { + return this.getOpcIntegerValue(item_to_yContainer_length); + } + + public int getToContainer_getQty() { + return this.getOpcIntegerValue(item_to_container_getQty); + } + + public int getToGetX_offset() { + return this.getOpcIntegerValue(item_to_getX_offset); + } + + public int getToGetY_offset() { + return this.getOpcIntegerValue(item_to_getY_offset); + } + //是否有货 public int hasGoods(int move) { return move; @@ -848,8 +898,13 @@ public class ItemProtocol { list.add(new ItemDto(item_two_cribTotal, "2#垛总数", "DB13.W1174")); list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB13.W1176")); list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB13.W1178")); - list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB13.W1180")); - list.add(new ItemDto(item_order_qty, "工单数量", "DB13.D1182")); + list.add(new ItemDto(item_xContainer_length, "1#X托盘长度", "DB13.W1180")); + list.add(new ItemDto(item_yContainer_length, "1#Y托盘长度", "DB13.W1182")); + list.add(new ItemDto(item_container_getQty, "1#托盘抓取数", "DB13.W1184")); + list.add(new ItemDto(item_getX_offset, "1#抓取X偏移", "DB13.W1186")); + list.add(new ItemDto(item_getY_offset, "1#抓取Y偏移", "DB13.W1188")); + list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB13.W1190")); + list.add(new ItemDto(item_order_qty, "工单数量", "DB13.W1192")); return list; } @@ -921,7 +976,12 @@ public class ItemProtocol { list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB14.W382")); list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB14.W384")); list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB14.W386")); - list.add(new ItemDto(item_to_order_qty, "工单数量", "DB14.D388")); + list.add(new ItemDto(item_to_order_qty, "工单数量", "DB14.W388")); + list.add(new ItemDto(item_to_xContainer_length, "1#X托盘长度", "DB14.W390")); + list.add(new ItemDto(item_to_yContainer_length, "1#Y托盘长度", "DB14.W392")); + list.add(new ItemDto(item_to_container_getQty, "1#托盘抓取数", "DB14.W394")); + list.add(new ItemDto(item_to_getX_offset, "1#抓取X偏移", "DB14.W396")); + list.add(new ItemDto(item_to_getY_offset, "1#抓取Y偏移", "DB14.W398")); 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 6e933ab..4d57745 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 @@ -133,8 +133,13 @@ public class RljnPackagePalletSplitManipulatorDefination implements OpcDeviceDri list.add(new ItemDto(ItemProtocol.item_two_cribTotal, "2#垛总数", "DB13.W1174")); list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB13.W1176")); list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB13.W1178")); - list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB13.W1180")); - list.add(new ItemDto(ItemProtocol.item_order_qty, "工单数量", "DB13.D1182")); + list.add(new ItemDto(ItemProtocol.item_xContainer_length, "1#X托盘长度", "DB13.W1180")); + list.add(new ItemDto(ItemProtocol.item_yContainer_length, "1#Y托盘长度", "DB13.W1182")); + list.add(new ItemDto(ItemProtocol.item_container_getQty, "1#托盘抓取数", "DB13.W1184")); + list.add(new ItemDto(ItemProtocol.item_getX_offset, "1#抓取X偏移", "DB13.W1186")); + list.add(new ItemDto(ItemProtocol.item_getY_offset, "1#抓取Y偏移", "DB13.W1188")); + list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB13.W1190")); + list.add(new ItemDto(ItemProtocol.item_order_qty, "工单数量", "DB13.W1192")); 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 7a6234d..5b963e0 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 @@ -124,6 +124,17 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe int order_qty = 0; int last_order_qty = 0; + int xContainer_length = 0; + int last_xContainer_length = 0; + int yContainer_length = 0; + int last_yContainer_length = 0; + int container_getQty = 0; + int last_container_getQty = 0; + int getX_offset = 0; + int last_getX_offset = 0; + int getY_offset = 0; + int last_getY_offset = 0; + //垛型参数 int product_code = 0; int AlongSide = 0; @@ -272,6 +283,11 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe batch = this.itemProtocol.getBatch(); total_split = this.itemProtocol.getTotal_split(); order_qty = this.itemProtocol.getOrder_qty(); + xContainer_length = this.itemProtocol.getXContainer_length(); + yContainer_length = this.itemProtocol.getYContainer_length(); + container_getQty = this.itemProtocol.getContainer_getQty(); + getX_offset = this.itemProtocol.getGetX_offset(); + getY_offset = this.itemProtocol.getGetY_offset(); product_code = this.itemProtocol.getProduct_code(); AlongSide = this.itemProtocol.getAlongSide(); @@ -637,6 +653,26 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe logServer.deviceItemValue(this.device_code,"tool_coordinate" ,String.valueOf(tool_coordinate)); logServer.deviceExecuteLog(this.device_code,"","","信号tool_coordinate:" + last_tool_coordinate + "->" + tool_coordinate); } + if (xContainer_length != last_xContainer_length) { + logServer.deviceItemValue(this.device_code,"xContainer_length" ,String.valueOf(xContainer_length)); + logServer.deviceExecuteLog(this.device_code,"","","信号xContainer_length:" + last_xContainer_length + "->" + xContainer_length); + } + if (yContainer_length != last_yContainer_length) { + logServer.deviceItemValue(this.device_code,"yContainer_length" ,String.valueOf(yContainer_length)); + logServer.deviceExecuteLog(this.device_code,"","","信号yContainer_length:" + last_yContainer_length + "->" + yContainer_length); + } + if (container_getQty != last_container_getQty) { + logServer.deviceItemValue(this.device_code,"container_getQty" ,String.valueOf(container_getQty)); + logServer.deviceExecuteLog(this.device_code,"","","信号container_getQty:" + last_container_getQty + "->" + container_getQty); + } + if (getX_offset != last_getX_offset) { + logServer.deviceItemValue(this.device_code,"getX_offset" ,String.valueOf(getX_offset)); + logServer.deviceExecuteLog(this.device_code,"","","信号getX_offset:" + last_getX_offset + "->" + getX_offset); + } + if (getY_offset != last_getY_offset) { + logServer.deviceItemValue(this.device_code,"getY_offset" ,String.valueOf(getY_offset)); + logServer.deviceExecuteLog(this.device_code,"","","信号getY_offset:" + last_getY_offset + "->" + getY_offset); + } } catch (Exception var17) { return; @@ -822,7 +858,11 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe last_one_qty = one_qty; last_two_qty = two_qty; last_tool_coordinate = tool_coordinate; - + last_xContainer_length = xContainer_length; + last_yContainer_length = yContainer_length; + last_container_getQty = container_getQty; + last_getX_offset = getX_offset; + last_getY_offset = getY_offset; }