嘉耐分拣拆码垛机械手业务更新
This commit is contained in:
@@ -641,6 +641,7 @@ public class MagicAgvServiceImpl implements MagicAgvService {
|
|||||||
}
|
}
|
||||||
//如果组盘绑定条码成功,就允许agv离开
|
//如果组盘绑定条码成功,就允许agv离开
|
||||||
if (lnshLaminatingMachineDeviceDriver.getMode() == 6 && lnshLaminatingMachineDeviceDriver.getResult()) {
|
if (lnshLaminatingMachineDeviceDriver.getMode() == 6 && lnshLaminatingMachineDeviceDriver.getResult()) {
|
||||||
|
lnshLaminatingMachineDeviceDriver.writing(6);
|
||||||
is_feedback = true;
|
is_feedback = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -324,7 +324,7 @@ public class LnshLaminatingMachineDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
if (ObjectUtil.isNotEmpty(result)) {
|
if (ObjectUtil.isNotEmpty(result)) {
|
||||||
JSONObject jsonObject = JSONObject.parseObject(result.body());
|
JSONObject jsonObject = JSONObject.parseObject(result.body());
|
||||||
if (result.getStatus() == 200 && StrUtil.equals(jsonObject.get("status").toString(),"200")) {
|
if (result.getStatus() == 200 && StrUtil.equals(jsonObject.get("status").toString(),"200")) {
|
||||||
this.writing(mode);
|
// this.writing(mode);
|
||||||
this.setRequireSucess(true);
|
this.setRequireSucess(true);
|
||||||
this.setResult(true);
|
this.setResult(true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -979,7 +979,7 @@ public class ItemProtocol {
|
|||||||
list.add(new ItemDto(item_to_container_getQty, "1#托盘抓取数", "DB57.W392"));
|
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_getX_offset, "1#抓取X偏移", "DB57.W394"));
|
||||||
list.add(new ItemDto(item_to_getY_offset, "1#抓取Y偏移", "DB57.W396"));
|
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;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -701,9 +701,9 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
//获取托盘信息
|
//获取木托盘信息
|
||||||
if (!requireSucess) {
|
if (!requireSucess) {
|
||||||
getVehicle();
|
queryCribbingInfo();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
@@ -886,7 +886,7 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD
|
|||||||
*
|
*
|
||||||
* @param
|
* @param
|
||||||
*/
|
*/
|
||||||
public synchronized boolean getVehicle() {
|
public synchronized boolean queryCribbingInfo() {
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
||||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||||
@@ -894,12 +894,18 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD
|
|||||||
} else {
|
} else {
|
||||||
this.instruction_require_time = date;
|
this.instruction_require_time = date;
|
||||||
JSONObject json = new JSONObject();
|
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<String> demoList = Arrays.asList(demoArray);
|
||||||
|
json.put("device_code",demoList.get(put_station-1).replace("\"",""));
|
||||||
json.put("vehicle_code",barcode);
|
json.put("vehicle_code",barcode);
|
||||||
JSONObject jo = acsToWmsService.getVehicle(json);
|
HttpResponse result = acsToWmsService.queryCribbingInfo(json);
|
||||||
|
|
||||||
if (jo.getInteger("status") == 200) {
|
if (ObjectUtil.isNotEmpty(result)) {
|
||||||
JSONObject content = jo.getJSONObject("content");
|
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 qty = content.getString("qty");
|
||||||
String material_code = content.getString("material_code");
|
String material_code = content.getString("material_code");
|
||||||
String material_name = content.getString("material_name");
|
String material_name = content.getString("material_name");
|
||||||
@@ -1024,8 +1030,9 @@ public class LnshPackagePalletManipulatorDeviceDriver extends AbstractOpcDeviceD
|
|||||||
this.writing("to_two_qty",two_qty);
|
this.writing("to_two_qty",two_qty);
|
||||||
this.writing("to_tool_coordinate",tool_coordinate);
|
this.writing("to_tool_coordinate",tool_coordinate);
|
||||||
|
|
||||||
|
this.setRequireSucess(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
requireSucess = true;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -829,14 +829,14 @@ public class ItemProtocol {
|
|||||||
list.add(new ItemDto(item_one_qty, "1#垛当前数", "DB50.W914"));
|
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_two_qty, "2#垛当前数", "DB50.W916"));
|
||||||
list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB50.W918"));
|
list.add(new ItemDto(item_tool_coordinate, "工具坐标", "DB50.W918"));
|
||||||
list.add(new ItemDto(item_order_qty, "工单数量", "DB50.D920"));
|
list.add(new ItemDto(item_order_qty, "工单数量", "DB50.W920"));
|
||||||
list.add(new ItemDto(item_order_No, "工单号", "DB50.STRING924.50"));
|
list.add(new ItemDto(item_order_No, "工单号", "DB50.STRING922.50"));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ItemDto> getWriteableItemDtos() {
|
public static List<ItemDto> getWriteableItemDtos() {
|
||||||
ArrayList list = new ArrayList();
|
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_error, "故障代码", "DB51.W2"));
|
||||||
list.add(new ItemDto(item_to_material_code, "物料", "DB51.STRING4.50"));
|
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_one_qty, "1#垛当前数", "DB51.W370"));
|
||||||
list.add(new ItemDto(item_to_two_qty, "2#垛当前数", "DB51.W372"));
|
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_tool_coordinate, "工具坐标", "DB51.W374"));
|
||||||
list.add(new ItemDto(item_to_order_qty, "工单数量", "DB51.D376"));
|
list.add(new ItemDto(item_to_order_qty, "工单数量", "DB51.W376"));
|
||||||
list.add(new ItemDto(item_to_order_No, "工单号", "DB51.STRING380.50"));
|
list.add(new ItemDto(item_to_order_No, "工单号", "DB51.STRING378.50"));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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_one_qty, "1#垛当前数", "DB50.W914"));
|
||||||
list.add(new ItemDto(ItemProtocol.item_two_qty, "2#垛当前数", "DB50.W916"));
|
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_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"));
|
list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB50.STRING924.50"));
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -919,12 +919,135 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
String demoArray[] = demosub.split(",");
|
String demoArray[] = demosub.split(",");
|
||||||
List<String> demoList = Arrays.asList(demoArray);
|
List<String> demoList = Arrays.asList(demoArray);
|
||||||
json.put("device_code",demoList.get(getStation-1).replace("\"",""));
|
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(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);
|
this.setRequireSucess(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1011,16 +1134,21 @@ public class LnshSplitManipulatorDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
ReadUtil.write(itemMap, server);
|
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();
|
String opcservcerid = this.getDevice().getOpc_server_id();
|
||||||
Server server = ReadUtil.getServer(opcservcerid);
|
Server server = ReadUtil.getServer(opcservcerid);
|
||||||
Map<String, Object> itemMap = new HashMap<String, Object>();
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
|
itemMap.put(to_feedback, feedback);
|
||||||
ReadUtil.write(itemMap, server);
|
ReadUtil.write(itemMap, server);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writing(int type, int command) {
|
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();
|
String opcservcerid = this.getDevice().getOpc_server_id();
|
||||||
Server server = ReadUtil.getServer(opcservcerid);
|
Server server = ReadUtil.getServer(opcservcerid);
|
||||||
Map<String, Object> itemMap = new HashMap<String, Object>();
|
Map<String, Object> itemMap = new HashMap<String, Object>();
|
||||||
|
|||||||
@@ -830,8 +830,8 @@ public class ItemProtocol {
|
|||||||
list.add(new ItemDto(item_putStation, "当前码盘工位", "DB62.D6"));
|
list.add(new ItemDto(item_putStation, "当前码盘工位", "DB62.D6"));
|
||||||
list.add(new ItemDto(item_getStation, "当前抓取工位", "DB62.D10"));
|
list.add(new ItemDto(item_getStation, "当前抓取工位", "DB62.D10"));
|
||||||
list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB62.W14"));
|
list.add(new ItemDto(item_barcode, "当前码盘工位条码", "DB62.W14"));
|
||||||
list.add(new ItemDto(item_material, "码盘工位当前物料", "DB62.S270"));
|
list.add(new ItemDto(item_material, "码盘工位当前物料", "DB62.STRING270.50"));
|
||||||
list.add(new ItemDto(item_specifications, "规格", "DB62.S526"));
|
list.add(new ItemDto(item_specifications, "规格", "DB62.STRING526.50"));
|
||||||
list.add(new ItemDto(item_batch, "批次", "DB62.D782"));
|
list.add(new ItemDto(item_batch, "批次", "DB62.D782"));
|
||||||
list.add(new ItemDto(item_qty, "数量", "DB62.D786"));
|
list.add(new ItemDto(item_qty, "数量", "DB62.D786"));
|
||||||
list.add(new ItemDto(item_open_time, "开机时间", "DB62.D790"));
|
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_production_time, "生产时间", "DB62.D798"));
|
||||||
list.add(new ItemDto(item_error_time, "故障时间", "DB62.D802"));
|
list.add(new ItemDto(item_error_time, "故障时间", "DB62.D802"));
|
||||||
list.add(new ItemDto(item_total_split, "累计拆垛数量", "DB62.D806"));
|
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_product_code, "产品编号", "DB62.W1066"));
|
||||||
list.add(new ItemDto(item_AlongSide, "A长边", "DB62.W1068"));
|
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_allow_pallet_qty, "允许码垛数量", "DB63.W6"));
|
||||||
list.add(new ItemDto(item_to_material_type, "托盘类型", "DB63.D8"));
|
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_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_product_code, "产品编号", "DB63.W272"));
|
||||||
list.add(new ItemDto(item_to_AlongSide, "A长边", "DB63.W274"));
|
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_container_getQty, "1#托盘抓取数", "DB63.W394"));
|
||||||
list.add(new ItemDto(item_to_getX_offset, "1#抓取X偏移", "DB63.W396"));
|
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_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;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -773,6 +773,11 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe
|
|||||||
if (!requireSucess) {
|
if (!requireSucess) {
|
||||||
applyEmptyIn();
|
applyEmptyIn();
|
||||||
}
|
}
|
||||||
|
case 13:
|
||||||
|
//申请空盘入库
|
||||||
|
if (!requireSucess) {
|
||||||
|
queryCribbingInfo();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
@@ -1096,8 +1101,164 @@ public class RljnPackagePalletSplitManipulatorDeviceDriver extends AbstractOpcDe
|
|||||||
this.writing("to_two_qty",two_qty);
|
this.writing("to_two_qty",two_qty);
|
||||||
this.writing("to_tool_coordinate",tool_coordinate);
|
this.writing("to_tool_coordinate",tool_coordinate);
|
||||||
|
|
||||||
}
|
|
||||||
this.setRequireSucess(true);
|
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<String> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user