diff --git a/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java b/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java index e616101..cb7c304 100644 --- a/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java +++ b/acs/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/MagicAgvServiceImpl.java @@ -641,6 +641,7 @@ public class MagicAgvServiceImpl implements MagicAgvService { } //如果组盘绑定条码成功,就允许agv离开 if (lnshLaminatingMachineDeviceDriver.getMode() == 6 && lnshLaminatingMachineDeviceDriver.getResult()) { + lnshLaminatingMachineDeviceDriver.writing(6); is_feedback = true; } } 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 7fb0c77..ef2a336 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 @@ -324,7 +324,7 @@ public class LnshLaminatingMachineDeviceDriver extends AbstractOpcDeviceDriver i if (ObjectUtil.isNotEmpty(result)) { JSONObject jsonObject = JSONObject.parseObject(result.body()); if (result.getStatus() == 200 && StrUtil.equals(jsonObject.get("status").toString(),"200")) { - this.writing(mode); +// this.writing(mode); this.setRequireSucess(true); this.setResult(true); } 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 043adb2..296cce8 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 @@ -979,7 +979,7 @@ public class ItemProtocol { list.add(new ItemDto(item_to_container_getQty, "1#托盘抓取数", "DB57.W392")); list.add(new ItemDto(item_to_getX_offset, "1#抓取X偏移", "DB57.W394")); list.add(new ItemDto(item_to_getY_offset, "1#抓取Y偏移", "DB57.W396")); - list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB57.STRING652.50")); + list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB57.STRING398.50")); 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 8d16b9d..c35fc5d 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 @@ -701,9 +701,9 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD } break; case 5: - //获取托盘信息 + //获取木托盘信息 if (!requireSucess) { - getVehicle(); + queryCribbingInfo(); } break; case 6: @@ -886,7 +886,7 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD * * @param */ - public synchronized boolean getVehicle() { + public synchronized boolean queryCribbingInfo() { 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); @@ -894,138 +894,145 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD } else { this.instruction_require_time = date; JSONObject json = new JSONObject(); - json.put("device_code",this.device_code); + String linkobj = (String)this.getDevice().getExtraValue().get("link_device_code"); + String demosub = linkobj.substring(1,linkobj.length()-1); + String demoArray[] = demosub.split(","); + List demoList = Arrays.asList(demoArray); + json.put("device_code",demoList.get(put_station-1).replace("\"","")); json.put("vehicle_code",barcode); - JSONObject jo = acsToWmsService.getVehicle(json); + HttpResponse result = acsToWmsService.queryCribbingInfo(json); - if (jo.getInteger("status") == 200) { - JSONObject content = jo.getJSONObject("content"); - String qty = content.getString("qty"); - String material_code = content.getString("material_code"); - String material_name = content.getString("material_name"); - String product_code = content.getString("product_code"); - String AlongSide = content.getString("AlongSide"); - String BshortSide = content.getString("BshortSide"); - String Htrapezoidal = content.getString("Htrapezoidal"); - String Wthickness = content.getString("Wthickness"); - String tray_qty = content.getString("tray_qty"); - String tray_high = content.getString("tray_high"); - String crib_category = content.getString("crib_category"); - String palletX1_line = content.getString("palletX1_line"); - String palletY1_row = content.getString("palletY1_row"); - String palletA1_angle = content.getString("palletA1_angle"); - String palletX2_line = content.getString("palletX2_line"); - String palletY2_row = content.getString("palletY2_row"); - String palletA2_angle = content.getString("palletA2_angle"); - String palletX3_line = content.getString("palletX3_line"); - String palletY3_row = content.getString("palletY3_row"); - String palletA3_angle = content.getString("palletA3_angle"); - String pressCribX1_line = content.getString("pressCribX1_line"); - String pressCribY1_row = content.getString("pressCribY1_row"); - String pressCribA1_angle = content.getString("pressCribA1_angle"); - String pressCribX2_line = content.getString("pressCribX2_line"); - String pressCribY2_row = content.getString("pressCribY2_row"); - String pressCribA2_angle = content.getString("pressCribA2_angle"); - String pressCribX3_line = content.getString("pressCribX3_line"); - String pressCribY3_row = content.getString("pressCribY3_row"); - String pressCribA3_angle = content.getString("pressCribA3_angle"); - String Zoffset = content.getString("Zoffset"); - String pallet_layerQty = content.getString("pallet_layerQty"); - String pressCrib_layerQty = content.getString("pressCrib_layerQty"); - String codeLayerX1_interval = content.getString("codeLayerX1_interval"); - String codeLayerY1_interval = content.getString("codeLayerY1_interval"); - String codeLayerX2_interval = content.getString("codeLayerX2_interval"); - String codeLayerY2_interval = content.getString("codeLayerY2_interval"); - String codeLayerX3_interval = content.getString("codeLayerX3_interval"); - String codeLayerY3_interval = content.getString("codeLayerY3_interval"); - String codeLayerX1_offset = content.getString("codeLayerX1_offset"); - String codeLayerY1_offset = content.getString("codeLayerY1_offset"); - String codeLayerX2_offset = content.getString("codeLayerX2_offset"); - String codeLayerY2_offset = content.getString("codeLayerY2_offset"); - String codeLayerX3_offset = content.getString("codeLayerX3_offset"); - String codeLayerY3_offset = content.getString("codeLayerY3_offset"); - String pressLayerX1_interval = content.getString("pressLayerX1_interval"); - String pressLayerY1_interval = content.getString("pressLayerY1_interval"); - String pressLayerX2_interval = content.getString("pressLayerX2_interval"); - String pressLayerY2_interval = content.getString("pressLayerY2_interval"); - String pressLayerX3_interval = content.getString("pressLayerX3_interval"); - String pressLayerY3_interval = content.getString("pressLayerY3_interval"); - String pressLayerX1_offset = content.getString("pressLayerX1_offset"); - String pressLayerY1_offset = content.getString("pressLayerY1_offset"); - String pressLayerX2_offset = content.getString("pressLayerX2_offset"); - String pressLayerY2_offset = content.getString("pressLayerY2_offset"); - String pressLayerX3_offset = content.getString("pressLayerX3_offset"); - String pressLayerY3_offset = content.getString("pressLayerY3_offset"); - String one_cribTotal = content.getString("one_cribTotal"); - String two_cribTotal = content.getString("two_cribTotal"); - String one_qty = content.getString("one_qty"); - String two_qty = content.getString("two_qty"); - String tool_coordinate = content.getString("tool_coordinate"); + if (ObjectUtil.isNotEmpty(result)) { + JSONObject jsonObject = JSONObject.parseObject(result.body()); + if (result.getStatus() == 200 && StrUtil.equals(jsonObject.getString("status"),"200")) { + JSONObject content = jsonObject.getJSONObject("content"); + String qty = content.getString("qty"); + String material_code = content.getString("material_code"); + String material_name = content.getString("material_name"); + String product_code = content.getString("product_code"); + String AlongSide = content.getString("AlongSide"); + String BshortSide = content.getString("BshortSide"); + String Htrapezoidal = content.getString("Htrapezoidal"); + String Wthickness = content.getString("Wthickness"); + String tray_qty = content.getString("tray_qty"); + String tray_high = content.getString("tray_high"); + String crib_category = content.getString("crib_category"); + String palletX1_line = content.getString("palletX1_line"); + String palletY1_row = content.getString("palletY1_row"); + String palletA1_angle = content.getString("palletA1_angle"); + String palletX2_line = content.getString("palletX2_line"); + String palletY2_row = content.getString("palletY2_row"); + String palletA2_angle = content.getString("palletA2_angle"); + String palletX3_line = content.getString("palletX3_line"); + String palletY3_row = content.getString("palletY3_row"); + String palletA3_angle = content.getString("palletA3_angle"); + String pressCribX1_line = content.getString("pressCribX1_line"); + String pressCribY1_row = content.getString("pressCribY1_row"); + String pressCribA1_angle = content.getString("pressCribA1_angle"); + String pressCribX2_line = content.getString("pressCribX2_line"); + String pressCribY2_row = content.getString("pressCribY2_row"); + String pressCribA2_angle = content.getString("pressCribA2_angle"); + String pressCribX3_line = content.getString("pressCribX3_line"); + String pressCribY3_row = content.getString("pressCribY3_row"); + String pressCribA3_angle = content.getString("pressCribA3_angle"); + String Zoffset = content.getString("Zoffset"); + String pallet_layerQty = content.getString("pallet_layerQty"); + String pressCrib_layerQty = content.getString("pressCrib_layerQty"); + String codeLayerX1_interval = content.getString("codeLayerX1_interval"); + String codeLayerY1_interval = content.getString("codeLayerY1_interval"); + String codeLayerX2_interval = content.getString("codeLayerX2_interval"); + String codeLayerY2_interval = content.getString("codeLayerY2_interval"); + String codeLayerX3_interval = content.getString("codeLayerX3_interval"); + String codeLayerY3_interval = content.getString("codeLayerY3_interval"); + String codeLayerX1_offset = content.getString("codeLayerX1_offset"); + String codeLayerY1_offset = content.getString("codeLayerY1_offset"); + String codeLayerX2_offset = content.getString("codeLayerX2_offset"); + String codeLayerY2_offset = content.getString("codeLayerY2_offset"); + String codeLayerX3_offset = content.getString("codeLayerX3_offset"); + String codeLayerY3_offset = content.getString("codeLayerY3_offset"); + String pressLayerX1_interval = content.getString("pressLayerX1_interval"); + String pressLayerY1_interval = content.getString("pressLayerY1_interval"); + String pressLayerX2_interval = content.getString("pressLayerX2_interval"); + String pressLayerY2_interval = content.getString("pressLayerY2_interval"); + String pressLayerX3_interval = content.getString("pressLayerX3_interval"); + String pressLayerY3_interval = content.getString("pressLayerY3_interval"); + String pressLayerX1_offset = content.getString("pressLayerX1_offset"); + String pressLayerY1_offset = content.getString("pressLayerY1_offset"); + String pressLayerX2_offset = content.getString("pressLayerX2_offset"); + String pressLayerY2_offset = content.getString("pressLayerY2_offset"); + String pressLayerX3_offset = content.getString("pressLayerX3_offset"); + String pressLayerY3_offset = content.getString("pressLayerY3_offset"); + String one_cribTotal = content.getString("one_cribTotal"); + String two_cribTotal = content.getString("two_cribTotal"); + String one_qty = content.getString("one_qty"); + String two_qty = content.getString("two_qty"); + String tool_coordinate = content.getString("tool_coordinate"); - this.writing(this.mode); - this.writing("to_material_qty",qty); - this.writing("to_material_code",material_code); - this.writing("to_product_code",product_code); - this.writing("to_AlongSide",AlongSide); - this.writing("to_BshortSide",BshortSide); - this.writing("to_Htrapezoidal",Htrapezoidal); - this.writing("to_Wthickness",Wthickness); - this.writing("to_tray_qty",tray_qty); - this.writing("to_tray_high",tray_high); - this.writing("to_crib_category",crib_category); - this.writing("to_palletX1_line",palletX1_line); - this.writing("to_palletY1_row",palletY1_row); - this.writing("to_palletA1_angle",palletA1_angle); - this.writing("to_palletX2_line",palletX2_line); - this.writing("to_palletY2_row",palletY2_row); - this.writing("to_palletA2_angle",palletA2_angle); - this.writing("to_palletX3_line",palletX3_line); - this.writing("to_palletY3_row",palletY3_row); - this.writing("to_palletA3_angle",palletA3_angle); - this.writing("to_pressCribX1_line",pressCribX1_line); - this.writing("to_pressCribY1_row",pressCribY1_row); - this.writing("to_pressCribA1_angle",pressCribA1_angle); - this.writing("to_pressCribX2_line",pressCribX2_line); - this.writing("to_pressCribY2_row",pressCribY2_row); - this.writing("to_pressCribA2_angle",pressCribA2_angle); - this.writing("to_pressCribX3_line",pressCribX3_line); - this.writing("to_pressCribY3_row",pressCribY3_row); - this.writing("to_pressCribA3_angle",pressCribA3_angle); - this.writing("to_Zoffset",Zoffset); - this.writing("to_pallet_layerQty",pallet_layerQty); - this.writing("to_pressCrib_layerQty",pressCrib_layerQty); - this.writing("to_codeLayerX1_interval",codeLayerX1_interval); - this.writing("to_codeLayerY1_interval",codeLayerY1_interval); - this.writing("to_codeLayerX2_interval",codeLayerX2_interval); - this.writing("to_codeLayerY2_interval",codeLayerY2_interval); - this.writing("to_codeLayerX3_interval",codeLayerX3_interval); - this.writing("to_codeLayerY3_interval",codeLayerY3_interval); - this.writing("to_codeLayerX1_offset",codeLayerX1_offset); - this.writing("to_codeLayerY1_offset",codeLayerY1_offset); - this.writing("to_codeLayerX2_offset",codeLayerX2_offset); - this.writing("to_codeLayerY2_offset",codeLayerY2_offset); - this.writing("to_codeLayerX3_offset",codeLayerX3_offset); - this.writing("to_codeLayerY3_offset",codeLayerY3_offset); - this.writing("to_pressLayerX1_interval",pressLayerX1_interval); - this.writing("to_pressLayerY1_interval",pressLayerY1_interval); - this.writing("to_pressLayerX2_interval",pressLayerX2_interval); - this.writing("to_pressLayerY2_interval",pressLayerY2_interval); - this.writing("to_pressLayerX3_interval",pressLayerX3_interval); - this.writing("to_pressLayerY3_interval",pressLayerY3_interval); - this.writing("to_pressLayerX1_offset",pressLayerX1_offset); - this.writing("to_pressLayerY1_offset",pressLayerY1_offset); - this.writing("to_pressLayerX2_offset",pressLayerX2_offset); - this.writing("to_pressLayerY2_offset",pressLayerY2_offset); - this.writing("to_pressLayerX3_offset",pressLayerX3_offset); - this.writing("to_pressLayerY3_offset",pressLayerY3_offset); - this.writing("to_one_cribTotal",one_cribTotal); - this.writing("to_two_cribTotal",two_cribTotal); - this.writing("to_one_qty",one_qty); - this.writing("to_two_qty",two_qty); - this.writing("to_tool_coordinate",tool_coordinate); + this.writing(this.mode); + this.writing("to_material_qty",qty); + this.writing("to_material_code",material_code); + this.writing("to_product_code",product_code); + this.writing("to_AlongSide",AlongSide); + this.writing("to_BshortSide",BshortSide); + this.writing("to_Htrapezoidal",Htrapezoidal); + this.writing("to_Wthickness",Wthickness); + this.writing("to_tray_qty",tray_qty); + this.writing("to_tray_high",tray_high); + this.writing("to_crib_category",crib_category); + this.writing("to_palletX1_line",palletX1_line); + this.writing("to_palletY1_row",palletY1_row); + this.writing("to_palletA1_angle",palletA1_angle); + this.writing("to_palletX2_line",palletX2_line); + this.writing("to_palletY2_row",palletY2_row); + this.writing("to_palletA2_angle",palletA2_angle); + this.writing("to_palletX3_line",palletX3_line); + this.writing("to_palletY3_row",palletY3_row); + this.writing("to_palletA3_angle",palletA3_angle); + this.writing("to_pressCribX1_line",pressCribX1_line); + this.writing("to_pressCribY1_row",pressCribY1_row); + this.writing("to_pressCribA1_angle",pressCribA1_angle); + this.writing("to_pressCribX2_line",pressCribX2_line); + this.writing("to_pressCribY2_row",pressCribY2_row); + this.writing("to_pressCribA2_angle",pressCribA2_angle); + this.writing("to_pressCribX3_line",pressCribX3_line); + this.writing("to_pressCribY3_row",pressCribY3_row); + this.writing("to_pressCribA3_angle",pressCribA3_angle); + this.writing("to_Zoffset",Zoffset); + this.writing("to_pallet_layerQty",pallet_layerQty); + this.writing("to_pressCrib_layerQty",pressCrib_layerQty); + this.writing("to_codeLayerX1_interval",codeLayerX1_interval); + this.writing("to_codeLayerY1_interval",codeLayerY1_interval); + this.writing("to_codeLayerX2_interval",codeLayerX2_interval); + this.writing("to_codeLayerY2_interval",codeLayerY2_interval); + this.writing("to_codeLayerX3_interval",codeLayerX3_interval); + this.writing("to_codeLayerY3_interval",codeLayerY3_interval); + this.writing("to_codeLayerX1_offset",codeLayerX1_offset); + this.writing("to_codeLayerY1_offset",codeLayerY1_offset); + this.writing("to_codeLayerX2_offset",codeLayerX2_offset); + this.writing("to_codeLayerY2_offset",codeLayerY2_offset); + this.writing("to_codeLayerX3_offset",codeLayerX3_offset); + this.writing("to_codeLayerY3_offset",codeLayerY3_offset); + this.writing("to_pressLayerX1_interval",pressLayerX1_interval); + this.writing("to_pressLayerY1_interval",pressLayerY1_interval); + this.writing("to_pressLayerX2_interval",pressLayerX2_interval); + this.writing("to_pressLayerY2_interval",pressLayerY2_interval); + this.writing("to_pressLayerX3_interval",pressLayerX3_interval); + this.writing("to_pressLayerY3_interval",pressLayerY3_interval); + this.writing("to_pressLayerX1_offset",pressLayerX1_offset); + this.writing("to_pressLayerY1_offset",pressLayerY1_offset); + this.writing("to_pressLayerX2_offset",pressLayerX2_offset); + this.writing("to_pressLayerY2_offset",pressLayerY2_offset); + this.writing("to_pressLayerX3_offset",pressLayerX3_offset); + this.writing("to_pressLayerY3_offset",pressLayerY3_offset); + this.writing("to_one_cribTotal",one_cribTotal); + this.writing("to_two_cribTotal",two_cribTotal); + this.writing("to_one_qty",one_qty); + this.writing("to_two_qty",two_qty); + this.writing("to_tool_coordinate",tool_coordinate); + this.setRequireSucess(true); + } } - requireSucess = true; return true; } } 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 380dbbd..8fbe067 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 @@ -829,14 +829,14 @@ public class ItemProtocol { list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB50.W914")); list.add(new ItemDto(item_two_qty, "2#垛当前数", "DB50.W916")); list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB50.W918")); - list.add(new ItemDto(item_order_qty, "工单数量", "DB50.D920")); - list.add(new ItemDto(item_order_No, "工单号", "DB50.STRING924.50")); + list.add(new ItemDto(item_order_qty, "工单数量", "DB50.W920")); + list.add(new ItemDto(item_order_No, "工单号", "DB50.STRING922.50")); return list; } public static List getWriteableItemDtos() { ArrayList list = new ArrayList(); - list.add(new ItemDto(item_to_feedback, "机器人动作反馈", "DB51.W0")); + list.add(new ItemDto(item_to_feedback, "机器人动作反馈", "DB51.B0")); list.add(new ItemDto(item_to_error, "故障代码", "DB51.W2")); list.add(new ItemDto(item_to_material_code, "物料", "DB51.STRING4.50")); @@ -898,8 +898,8 @@ public class ItemProtocol { list.add(new ItemDto(item_to_one_qty, "1#垛当前数", "DB51.W370")); list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB51.W372")); list.add(new ItemDto(item_to_tool_coordinate, "工具坐标", "DB51.W374")); - list.add(new ItemDto(item_to_order_qty, "工单数量", "DB51.D376")); - list.add(new ItemDto(item_to_order_No, "工单号", "DB51.STRING380.50")); + list.add(new ItemDto(item_to_order_qty, "工单数量", "DB51.W376")); + list.add(new ItemDto(item_to_order_No, "工单号", "DB51.STRING378.50")); 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 75dc0c9..4d50174 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 @@ -131,7 +131,7 @@ public class LnshSplitManipulatorDefination implements OpcDeviceDriverDefination list.add(new ItemDto(ItemProtocol.item_one_qty, "1#垛当前数", "DB50.W914")); list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB50.W916")); list.add(new ItemDto(ItemProtocol.item_tool_coordinate, "工具坐标", "DB50.D918")); - list.add(new ItemDto(ItemProtocol.item_order_qty, "工单数量", "DB50.D920")); + list.add(new ItemDto(ItemProtocol.item_order_qty, "工单数量", "DB50.W920")); list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB50.STRING924.50")); 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 55a8608..7a2acd1 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 @@ -919,12 +919,135 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im String demoArray[] = demosub.split(","); List demoList = Arrays.asList(demoArray); json.put("device_code",demoList.get(getStation-1).replace("\"","")); - HttpResponse result = acsToWmsService.queryCribbingInfo(json); + JSONObject jo = acsToWmsService.getVehicle(json); + + if (ObjectUtil.isNotEmpty(jo)) { + if (jo.getInteger("status") == 200) { + JSONObject content = jo.getJSONObject("content"); + String qty = content.getString("qty"); + String material_code = content.getString("material_code"); + String material_name = content.getString("material_name"); + String product_code = content.getString("product_code"); + String AlongSide = content.getString("AlongSide"); + String BshortSide = content.getString("BshortSide"); + String Htrapezoidal = content.getString("Htrapezoidal"); + String Wthickness = content.getString("Wthickness"); + String tray_qty = content.getString("tray_qty"); + String tray_high = content.getString("tray_high"); + String crib_category = content.getString("crib_category"); + String palletX1_line = content.getString("palletX1_line"); + String palletY1_row = content.getString("palletY1_row"); + String palletA1_angle = content.getString("palletA1_angle"); + String palletX2_line = content.getString("palletX2_line"); + String palletY2_row = content.getString("palletY2_row"); + String palletA2_angle = content.getString("palletA2_angle"); + String palletX3_line = content.getString("palletX3_line"); + String palletY3_row = content.getString("palletY3_row"); + String palletA3_angle = content.getString("palletA3_angle"); + String pressCribX1_line = content.getString("pressCribX1_line"); + String pressCribY1_row = content.getString("pressCribY1_row"); + String pressCribA1_angle = content.getString("pressCribA1_angle"); + String pressCribX2_line = content.getString("pressCribX2_line"); + String pressCribY2_row = content.getString("pressCribY2_row"); + String pressCribA2_angle = content.getString("pressCribA2_angle"); + String pressCribX3_line = content.getString("pressCribX3_line"); + String pressCribY3_row = content.getString("pressCribY3_row"); + String pressCribA3_angle = content.getString("pressCribA3_angle"); + String Zoffset = content.getString("Zoffset"); + String pallet_layerQty = content.getString("pallet_layerQty"); + String pressCrib_layerQty = content.getString("pressCrib_layerQty"); + String codeLayerX1_interval = content.getString("codeLayerX1_interval"); + String codeLayerY1_interval = content.getString("codeLayerY1_interval"); + String codeLayerX2_interval = content.getString("codeLayerX2_interval"); + String codeLayerY2_interval = content.getString("codeLayerY2_interval"); + String codeLayerX3_interval = content.getString("codeLayerX3_interval"); + String codeLayerY3_interval = content.getString("codeLayerY3_interval"); + String codeLayerX1_offset = content.getString("codeLayerX1_offset"); + String codeLayerY1_offset = content.getString("codeLayerY1_offset"); + String codeLayerX2_offset = content.getString("codeLayerX2_offset"); + String codeLayerY2_offset = content.getString("codeLayerY2_offset"); + String codeLayerX3_offset = content.getString("codeLayerX3_offset"); + String codeLayerY3_offset = content.getString("codeLayerY3_offset"); + String pressLayerX1_interval = content.getString("pressLayerX1_interval"); + String pressLayerY1_interval = content.getString("pressLayerY1_interval"); + String pressLayerX2_interval = content.getString("pressLayerX2_interval"); + String pressLayerY2_interval = content.getString("pressLayerY2_interval"); + String pressLayerX3_interval = content.getString("pressLayerX3_interval"); + String pressLayerY3_interval = content.getString("pressLayerY3_interval"); + String pressLayerX1_offset = content.getString("pressLayerX1_offset"); + String pressLayerY1_offset = content.getString("pressLayerY1_offset"); + String pressLayerX2_offset = content.getString("pressLayerX2_offset"); + String pressLayerY2_offset = content.getString("pressLayerY2_offset"); + String pressLayerX3_offset = content.getString("pressLayerX3_offset"); + String pressLayerY3_offset = content.getString("pressLayerY3_offset"); + String one_cribTotal = content.getString("one_cribTotal"); + String two_cribTotal = content.getString("two_cribTotal"); + String one_qty = content.getString("one_qty"); + String two_qty = content.getString("two_qty"); + String tool_coordinate = content.getString("tool_coordinate"); - if (ObjectUtil.isNotEmpty(result)) { - JSONObject jsonObject = JSONObject.parseObject(result.body()); - if (result.getStatus() == 200 && StrUtil.equals(jsonObject.getString("status"),"200")) { this.writing(this.mode); + this.writing("to_product_code",product_code); + this.writing("to_material_qty",qty); + this.writing("to_material_code",material_code); + this.writing("to_AlongSide",AlongSide); + this.writing("to_BshortSide",BshortSide); + this.writing("to_Htrapezoidal",Htrapezoidal); + this.writing("to_Wthickness",Wthickness); + this.writing("to_tray_qty",tray_qty); + this.writing("to_tray_high",tray_high); + this.writing("to_crib_category",crib_category); + this.writing("to_palletX1_line",palletX1_line); + this.writing("to_palletY1_row",palletY1_row); + this.writing("to_palletA1_angle",palletA1_angle); + this.writing("to_palletX2_line",palletX2_line); + this.writing("to_palletY2_row",palletY2_row); + this.writing("to_palletA2_angle",palletA2_angle); + this.writing("to_palletX3_line",palletX3_line); + this.writing("to_palletY3_row",palletY3_row); + this.writing("to_palletA3_angle",palletA3_angle); + this.writing("to_pressCribX1_line",pressCribX1_line); + this.writing("to_pressCribY1_row",pressCribY1_row); + this.writing("to_pressCribA1_angle",pressCribA1_angle); + this.writing("to_pressCribX2_line",pressCribX2_line); + this.writing("to_pressCribY2_row",pressCribY2_row); + this.writing("to_pressCribA2_angle",pressCribA2_angle); + this.writing("to_pressCribX3_line",pressCribX3_line); + this.writing("to_pressCribY3_row",pressCribY3_row); + this.writing("to_pressCribA3_angle",pressCribA3_angle); + this.writing("to_Zoffset",Zoffset); + this.writing("to_pallet_layerQty",pallet_layerQty); + this.writing("to_pressCrib_layerQty",pressCrib_layerQty); + this.writing("to_codeLayerX1_interval",codeLayerX1_interval); + this.writing("to_codeLayerY1_interval",codeLayerY1_interval); + this.writing("to_codeLayerX2_interval",codeLayerX2_interval); + this.writing("to_codeLayerY2_interval",codeLayerY2_interval); + this.writing("to_codeLayerX3_interval",codeLayerX3_interval); + this.writing("to_codeLayerY3_interval",codeLayerY3_interval); + this.writing("to_codeLayerX1_offset",codeLayerX1_offset); + this.writing("to_codeLayerY1_offset",codeLayerY1_offset); + this.writing("to_codeLayerX2_offset",codeLayerX2_offset); + this.writing("to_codeLayerY2_offset",codeLayerY2_offset); + this.writing("to_codeLayerX3_offset",codeLayerX3_offset); + this.writing("to_codeLayerY3_offset",codeLayerY3_offset); + this.writing("to_pressLayerX1_interval",pressLayerX1_interval); + this.writing("to_pressLayerY1_interval",pressLayerY1_interval); + this.writing("to_pressLayerX2_interval",pressLayerX2_interval); + this.writing("to_pressLayerY2_interval",pressLayerY2_interval); + this.writing("to_pressLayerX3_interval",pressLayerX3_interval); + this.writing("to_pressLayerY3_interval",pressLayerY3_interval); + this.writing("to_pressLayerX1_offset",pressLayerX1_offset); + this.writing("to_pressLayerY1_offset",pressLayerY1_offset); + this.writing("to_pressLayerX2_offset",pressLayerX2_offset); + this.writing("to_pressLayerY2_offset",pressLayerY2_offset); + this.writing("to_pressLayerX3_offset",pressLayerX3_offset); + this.writing("to_pressLayerY3_offset",pressLayerY3_offset); + this.writing("to_one_cribTotal",one_cribTotal); + this.writing("to_two_cribTotal",two_cribTotal); + this.writing("to_one_qty",one_qty); + this.writing("to_two_qty",two_qty); + this.writing("to_tool_coordinate",tool_coordinate); + this.setRequireSucess(true); } } @@ -1011,16 +1134,21 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im ReadUtil.write(itemMap, server); } - public void writing(int command) { - + public void writing(int feedback) { + String to_feedback = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + + "." + ItemProtocol.item_to_feedback; String opcservcerid = this.getDevice().getOpc_server_id(); Server server = ReadUtil.getServer(opcservcerid); Map itemMap = new HashMap(); + itemMap.put(to_feedback, feedback); 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_feedback; + String opcservcerid = this.getDevice().getOpc_server_id(); Server server = ReadUtil.getServer(opcservcerid); Map itemMap = new HashMap(); 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 4cc9d70..63d1035 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 @@ -830,8 +830,8 @@ public class ItemProtocol { list.add(new ItemDto(item_putStation, "当前码盘工位", "DB62.D6")); list.add(new ItemDto(item_getStation, "当前抓取工位", "DB62.D10")); list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB62.W14")); - list.add(new ItemDto(item_material, "码盘工位当前物料", "DB62.S270")); - list.add(new ItemDto(item_specifications, "规格", "DB62.S526")); + list.add(new ItemDto(item_material, "码盘工位当前物料", "DB62.STRING270.50")); + list.add(new ItemDto(item_specifications, "规格", "DB62.STRING526.50")); list.add(new ItemDto(item_batch, "批次", "DB62.D782")); list.add(new ItemDto(item_qty, "数量", "DB62.D786")); list.add(new ItemDto(item_open_time, "开机时间", "DB62.D790")); @@ -839,7 +839,7 @@ public class ItemProtocol { list.add(new ItemDto(item_production_time, "生产时间", "DB62.D798")); list.add(new ItemDto(item_error_time, "故障时间", "DB62.D802")); list.add(new ItemDto(item_total_split, "累计拆垛数量", "DB62.D806")); - list.add(new ItemDto(item_order_No, "工单号", "DB62.S810")); + list.add(new ItemDto(item_order_No, "工单号", "DB62.STRING810.50")); list.add(new ItemDto(item_product_code, "产品编号", "DB62.W1066")); list.add(new ItemDto(item_AlongSide, "A长边", "DB62.W1068")); @@ -916,7 +916,7 @@ public class ItemProtocol { list.add(new ItemDto(item_to_allow_pallet_qty, "允许码垛数量", "DB63.W6")); list.add(new ItemDto(item_to_material_type, "托盘类型", "DB63.D8")); // list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB63.D12")); - list.add(new ItemDto(item_to_order_No, "工单号", "DB63.S16")); + list.add(new ItemDto(item_to_order_No, "工单号", "DB63.STRING16.50")); list.add(new ItemDto(item_to_product_code, "产品编号", "DB63.W272")); list.add(new ItemDto(item_to_AlongSide, "A长边", "DB63.W274")); @@ -982,7 +982,7 @@ public class ItemProtocol { list.add(new ItemDto(item_to_container_getQty, "1#托盘抓取数", "DB63.W394")); list.add(new ItemDto(item_to_getX_offset, "1#抓取X偏移", "DB63.W396")); list.add(new ItemDto(item_to_getY_offset, "1#抓取Y偏移", "DB63.W398")); - list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB63.STRING654.50")); + list.add(new ItemDto(item_to_material_code, "下发物料编号", "DB63.STRING400.50")); 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 482c8a7..bdf287a 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 @@ -773,6 +773,11 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe if (!requireSucess) { applyEmptyIn(); } + case 13: + //申请空盘入库 + if (!requireSucess) { + queryCribbingInfo(); + } } switch (flag) { @@ -1096,8 +1101,164 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe this.writing("to_two_qty",two_qty); this.writing("to_tool_coordinate",tool_coordinate); + this.setRequireSucess(true); + } + return true; + } + } + + /** + * 获取木托盘托盘信息 + * + * @param + */ + public synchronized boolean queryCribbingInfo() { + 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(); + String linkobj = (String)this.getDevice().getExtraValue().get("link_device_code"); + String demosub = linkobj.substring(1,linkobj.length()-1); + String demoArray[] = demosub.split(","); + List demoList = Arrays.asList(demoArray); + json.put("device_code",demoList.get(getStation-1).replace("\"","")); + json.put("vehicle_code",barcode); + HttpResponse result = acsToWmsService.queryCribbingInfo(json); + + if (ObjectUtil.isNotEmpty(result)) { + JSONObject jsonObject = JSONObject.parseObject(result.body()); + if (result.getStatus() == 200 && StrUtil.equals(jsonObject.getString("status"), "200")) { + JSONObject content = jsonObject.getJSONObject("content"); + String qty = content.getString("qty"); + String material_code = content.getString("material_code"); + String material_name = content.getString("material_name"); + String product_code = content.getString("product_code"); + String AlongSide = content.getString("AlongSide"); + String BshortSide = content.getString("BshortSide"); + String Htrapezoidal = content.getString("Htrapezoidal"); + String Wthickness = content.getString("Wthickness"); + String tray_qty = content.getString("tray_qty"); + String tray_high = content.getString("tray_high"); + String crib_category = content.getString("crib_category"); + String palletX1_line = content.getString("palletX1_line"); + String palletY1_row = content.getString("palletY1_row"); + String palletA1_angle = content.getString("palletA1_angle"); + String palletX2_line = content.getString("palletX2_line"); + String palletY2_row = content.getString("palletY2_row"); + String palletA2_angle = content.getString("palletA2_angle"); + String palletX3_line = content.getString("palletX3_line"); + String palletY3_row = content.getString("palletY3_row"); + String palletA3_angle = content.getString("palletA3_angle"); + String pressCribX1_line = content.getString("pressCribX1_line"); + String pressCribY1_row = content.getString("pressCribY1_row"); + String pressCribA1_angle = content.getString("pressCribA1_angle"); + String pressCribX2_line = content.getString("pressCribX2_line"); + String pressCribY2_row = content.getString("pressCribY2_row"); + String pressCribA2_angle = content.getString("pressCribA2_angle"); + String pressCribX3_line = content.getString("pressCribX3_line"); + String pressCribY3_row = content.getString("pressCribY3_row"); + String pressCribA3_angle = content.getString("pressCribA3_angle"); + String Zoffset = content.getString("Zoffset"); + String pallet_layerQty = content.getString("pallet_layerQty"); + String pressCrib_layerQty = content.getString("pressCrib_layerQty"); + String codeLayerX1_interval = content.getString("codeLayerX1_interval"); + String codeLayerY1_interval = content.getString("codeLayerY1_interval"); + String codeLayerX2_interval = content.getString("codeLayerX2_interval"); + String codeLayerY2_interval = content.getString("codeLayerY2_interval"); + String codeLayerX3_interval = content.getString("codeLayerX3_interval"); + String codeLayerY3_interval = content.getString("codeLayerY3_interval"); + String codeLayerX1_offset = content.getString("codeLayerX1_offset"); + String codeLayerY1_offset = content.getString("codeLayerY1_offset"); + String codeLayerX2_offset = content.getString("codeLayerX2_offset"); + String codeLayerY2_offset = content.getString("codeLayerY2_offset"); + String codeLayerX3_offset = content.getString("codeLayerX3_offset"); + String codeLayerY3_offset = content.getString("codeLayerY3_offset"); + String pressLayerX1_interval = content.getString("pressLayerX1_interval"); + String pressLayerY1_interval = content.getString("pressLayerY1_interval"); + String pressLayerX2_interval = content.getString("pressLayerX2_interval"); + String pressLayerY2_interval = content.getString("pressLayerY2_interval"); + String pressLayerX3_interval = content.getString("pressLayerX3_interval"); + String pressLayerY3_interval = content.getString("pressLayerY3_interval"); + String pressLayerX1_offset = content.getString("pressLayerX1_offset"); + String pressLayerY1_offset = content.getString("pressLayerY1_offset"); + String pressLayerX2_offset = content.getString("pressLayerX2_offset"); + String pressLayerY2_offset = content.getString("pressLayerY2_offset"); + String pressLayerX3_offset = content.getString("pressLayerX3_offset"); + String pressLayerY3_offset = content.getString("pressLayerY3_offset"); + String one_cribTotal = content.getString("one_cribTotal"); + String two_cribTotal = content.getString("two_cribTotal"); + String one_qty = content.getString("one_qty"); + String two_qty = content.getString("two_qty"); + String tool_coordinate = content.getString("tool_coordinate"); + + this.writing(this.mode); + this.writing("to_material_qty", qty); + this.writing("to_material_code", material_code); + this.writing("to_product_code", product_code); + this.writing("to_AlongSide", AlongSide); + this.writing("to_BshortSide", BshortSide); + this.writing("to_Htrapezoidal", Htrapezoidal); + this.writing("to_Wthickness", Wthickness); + this.writing("to_tray_qty", tray_qty); + this.writing("to_tray_high", tray_high); + this.writing("to_crib_category", crib_category); + this.writing("to_palletX1_line", palletX1_line); + this.writing("to_palletY1_row", palletY1_row); + this.writing("to_palletA1_angle", palletA1_angle); + this.writing("to_palletX2_line", palletX2_line); + this.writing("to_palletY2_row", palletY2_row); + this.writing("to_palletA2_angle", palletA2_angle); + this.writing("to_palletX3_line", palletX3_line); + this.writing("to_palletY3_row", palletY3_row); + this.writing("to_palletA3_angle", palletA3_angle); + this.writing("to_pressCribX1_line", pressCribX1_line); + this.writing("to_pressCribY1_row", pressCribY1_row); + this.writing("to_pressCribA1_angle", pressCribA1_angle); + this.writing("to_pressCribX2_line", pressCribX2_line); + this.writing("to_pressCribY2_row", pressCribY2_row); + this.writing("to_pressCribA2_angle", pressCribA2_angle); + this.writing("to_pressCribX3_line", pressCribX3_line); + this.writing("to_pressCribY3_row", pressCribY3_row); + this.writing("to_pressCribA3_angle", pressCribA3_angle); + this.writing("to_Zoffset", Zoffset); + this.writing("to_pallet_layerQty", pallet_layerQty); + this.writing("to_pressCrib_layerQty", pressCrib_layerQty); + this.writing("to_codeLayerX1_interval", codeLayerX1_interval); + this.writing("to_codeLayerY1_interval", codeLayerY1_interval); + this.writing("to_codeLayerX2_interval", codeLayerX2_interval); + this.writing("to_codeLayerY2_interval", codeLayerY2_interval); + this.writing("to_codeLayerX3_interval", codeLayerX3_interval); + this.writing("to_codeLayerY3_interval", codeLayerY3_interval); + this.writing("to_codeLayerX1_offset", codeLayerX1_offset); + this.writing("to_codeLayerY1_offset", codeLayerY1_offset); + this.writing("to_codeLayerX2_offset", codeLayerX2_offset); + this.writing("to_codeLayerY2_offset", codeLayerY2_offset); + this.writing("to_codeLayerX3_offset", codeLayerX3_offset); + this.writing("to_codeLayerY3_offset", codeLayerY3_offset); + this.writing("to_pressLayerX1_interval", pressLayerX1_interval); + this.writing("to_pressLayerY1_interval", pressLayerY1_interval); + this.writing("to_pressLayerX2_interval", pressLayerX2_interval); + this.writing("to_pressLayerY2_interval", pressLayerY2_interval); + this.writing("to_pressLayerX3_interval", pressLayerX3_interval); + this.writing("to_pressLayerY3_interval", pressLayerY3_interval); + this.writing("to_pressLayerX1_offset", pressLayerX1_offset); + this.writing("to_pressLayerY1_offset", pressLayerY1_offset); + this.writing("to_pressLayerX2_offset", pressLayerX2_offset); + this.writing("to_pressLayerY2_offset", pressLayerY2_offset); + this.writing("to_pressLayerX3_offset", pressLayerX3_offset); + this.writing("to_pressLayerY3_offset", pressLayerY3_offset); + this.writing("to_one_cribTotal", one_cribTotal); + this.writing("to_two_cribTotal", two_cribTotal); + this.writing("to_one_qty", one_qty); + this.writing("to_two_qty", two_qty); + this.writing("to_tool_coordinate", tool_coordinate); + + this.setRequireSucess(true); + } } - this.setRequireSucess(true); return true; } }