rev:机械手码垛

Signed-off-by: jiaoliming <dawnjiao@foxmail.com>
This commit is contained in:
jiaoliming
2023-09-01 10:04:20 +08:00
parent bb30c8e84c
commit 2ea54295a4
3 changed files with 99 additions and 54 deletions

View File

@@ -139,7 +139,7 @@ public class HailiangStackingStationDriver extends AbstractOpcDeviceDriver imple
move = this.itemProtocol.getItem_move(); move = this.itemProtocol.getItem_move();
line_ready = this.itemProtocol.getItem_line_ready(); line_ready = this.itemProtocol.getItem_line_ready();
all_ready = this.itemProtocol.getItem_all_ready(); all_ready = this.itemProtocol.getItem_all_ready();
finish = this.itemProtocol.getItem_finish(); finish = this.itemProtocol.getItem_finish1();
is_full_1 = this.itemProtocol.getItem_is_full_1(); is_full_1 = this.itemProtocol.getItem_is_full_1();
is_full_2 = this.itemProtocol.getItem_is_full_2(); is_full_2 = this.itemProtocol.getItem_is_full_2();
is_full_3 = this.itemProtocol.getItem_is_full_3(); is_full_3 = this.itemProtocol.getItem_is_full_3();
@@ -149,7 +149,7 @@ public class HailiangStackingStationDriver extends AbstractOpcDeviceDriver imple
move_3 = this.itemProtocol.getItem_move_3(); move_3 = this.itemProtocol.getItem_move_3();
move_4 = this.itemProtocol.getItem_move_4(); move_4 = this.itemProtocol.getItem_move_4();
error = this.itemProtocol.getItem_error(); error = this.itemProtocol.getItem_error();
lane_error = this.itemProtocol.getItem_lane_error(); lane_error = this.itemProtocol.getItem_lane_error1();
pallet_num_1 = this.itemProtocol.getItem_pallet_num_1(); pallet_num_1 = this.itemProtocol.getItem_pallet_num_1();
pallet_num_2 = this.itemProtocol.getItem_pallet_num_2(); pallet_num_2 = this.itemProtocol.getItem_pallet_num_2();
pallet_num_3 = this.itemProtocol.getItem_pallet_num_3(); pallet_num_3 = this.itemProtocol.getItem_pallet_num_3();
@@ -158,9 +158,9 @@ public class HailiangStackingStationDriver extends AbstractOpcDeviceDriver imple
material_2 = this.itemProtocol.getItem_material_2(); material_2 = this.itemProtocol.getItem_material_2();
material_3 = this.itemProtocol.getItem_material_3(); material_3 = this.itemProtocol.getItem_material_3();
material_4 = this.itemProtocol.getItem_material_4(); material_4 = this.itemProtocol.getItem_material_4();
order_now = this.itemProtocol.getItem_order_now(); order_now = this.itemProtocol.getItem_order_now1();
tray_now = this.itemProtocol.getItem_tray_now(); tray_now = this.itemProtocol.getItem_tray_now1();
order = this.itemProtocol.getItem_order(); order = this.itemProtocol.getItem_order1();
isonline = this.itemProtocol.getIsonline(); isonline = this.itemProtocol.getIsonline();
@@ -392,21 +392,25 @@ public class HailiangStackingStationDriver extends AbstractOpcDeviceDriver imple
// } // }
String lane_tray_template = dto.getLane_tray_template(); String lane_tray_template = dto.getLane_tray_template();
String to_tray_info = ""; String to_tray_info = "";
if (lane_tray_template.equals("1")) {
to_tray_info = lane_tray_template + "12";
}
if (lane_tray_template.equals("2")) {
to_tray_info = lane_tray_template + "24";
}
if (StrUtil.isEmpty(dto.getTray_num())) { if (StrUtil.isEmpty(dto.getTray_num())) {
dto.setTray_num("1"); dto.setTray_num("1");
} }
int num = 0;
//判断包装机1对应巷道2包装机2对应巷道2
if(StrUtil.equals(dto.getDevice_code(),"A1_BZJ_1")){
num = 2;
to_tray_info = dto.getLane_tray_template() + num + "4";
} else if(StrUtil.equals(dto.getDevice_code(),"A1_BZJ_2")){
num = 1;
to_tray_info = dto.getLane_tray_template() + num + "2";
}
// this.writing("to_clear"+num, "1");
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("to_clear", "1"); map.put("to_order"+num, dto.getOrder_code());
map.put("to_order", dto.getOrder_code()); map.put("to_order_prod_num"+num, dto.getEalingOrderDto().getOrder_box_num());
map.put("to_order_prod_num", dto.getQty().toString()); map.put("to_tray_num"+num, dto.getTray_num());
map.put("to_tray_num", dto.getTray_num()); map.put("to_tray_info"+num, to_tray_info);
map.put("to_tray_info", to_tray_info);
this.writing(map); this.writing(map);
} }

View File

@@ -24,7 +24,8 @@ public class ItemProtocol {
//所有设备就绪 //所有设备就绪
public static String item_all_ready = "all_ready"; public static String item_all_ready = "all_ready";
//1、2#订单完成 //1、2#订单完成
public static String item_finish = "finish"; public static String item_finish1 = "finish1";
public static String item_finish2 = "finish2";
//1托盘是否满托 //1托盘是否满托
public static String item_is_full_1 = "is_full_1"; public static String item_is_full_1 = "is_full_1";
//2托盘是否满托 //2托盘是否满托
@@ -44,7 +45,8 @@ public class ItemProtocol {
//线体故障信息 //线体故障信息
public static String item_error = "error"; public static String item_error = "error";
//1、2#巷道故障信息 //1、2#巷道故障信息
public static String item_lane_error = "lane_error"; public static String item_lane_error1 = "lane_error1";
public static String item_lane_error2 = "lane_error2";
//1#托盘当前码垛箱数 //1#托盘当前码垛箱数
public static String item_pallet_num_1 = "pallet_num_1"; public static String item_pallet_num_1 = "pallet_num_1";
//2#托盘当前码垛箱数 //2#托盘当前码垛箱数
@@ -62,23 +64,28 @@ public class ItemProtocol {
//4#托盘物料信息 //4#托盘物料信息
public static String item_material_4 = "material_4"; public static String item_material_4 = "material_4";
//1、2#当前生产总量(订单实时) //1、2#当前生产总量(订单实时)
public static String item_order_now = "order_now"; public static String item_order_now1 = "order_now1";
public static String item_order_now2 = "order_now2";
//1、2#当前托盘总数(实时) //1、2#当前托盘总数(实时)
public static String item_tray_now = "tray_now"; public static String item_tray_now1 = "tray_now1";
public static String item_tray_now2 = "tray_now2";
//1、2#工单号 //1、2#工单号
public static String item_order = "order"; public static String item_order1 = "order1";
public static String item_order2 = "order2";
//设备开关 //设备开关
public static String item_to_open = "to_open"; public static String item_to_open = "to_open";
//机械手启动开关 //机械手启动开关
public static String item_to_open_pulator = "to_open_pulator"; public static String item_to_open_pulator = "to_open_pulator";
//1、2 码盘信息模板号 //1、2 码盘信息模板号
public static String item_to_tray_info = "to_tray_info"; public static String item_to_tray_info1 = "to_tray_info1";
public static String item_to_tray_info2 = "to_tray_info2";
//1、2当前产量清零 //1、2当前产量清零
public static String item_to_clear = "to_clear"; public static String item_to_clear1 = "to_clear1";
public static String item_to_clear2 = "to_clear2";
//1、2确认完成订单完成状态置零 //1、2确认完成订单完成状态置零
public static String item_to_confirm_finished = "to_confirm_finished"; public static String item_to_confirm_finished1 = "to_confirm_finished1";
public static String item_to_confirm_finished2 = "to_confirm_finished2";
//1、2巷道箱子长 //1、2巷道箱子长
public static String item_to_lane_box_l = "to_lane_box_l"; public static String item_to_lane_box_l = "to_lane_box_l";
//1、2巷道箱子宽 //1、2巷道箱子宽
@@ -94,15 +101,20 @@ public class ItemProtocol {
//巷道4号托盘强制满托 //巷道4号托盘强制满托
public static String item_to_lane4_tray_compel_full = "to_lane4_tray_compel_full"; public static String item_to_lane4_tray_compel_full = "to_lane4_tray_compel_full";
//1、2巷道禁用 //1、2巷道禁用
public static String item_to_lane_off = "to_lane_off"; public static String item_to_lane_off1 = "to_lane_off1";
public static String item_to_lane_off2 = "to_lane_off2";
//1、2工单强制完成 //1、2工单强制完成
public static String item_to_compel_finish = "to_compel_finish"; public static String item_to_compel_finish1 = "to_compel_finish1";
public static String item_to_compel_finish2 = "to_compel_finish2";
//1、2订单生产总量 //1、2订单生产总量
public static String item_to_order_prod_num = "to_order_prod_num"; public static String item_to_order_prod_num1 = "to_order_prod_num1";
public static String item_to_order_prod_num2 = "to_order_prod_num2";
//1、2订单需托盘总数 //1、2订单需托盘总数
public static String item_to_tray_num = "to_tray_num"; public static String item_to_tray_num1 = "to_tray_num1";
public static String item_to_tray_num2 = "to_tray_num2";
//1、2工单号 //1、2工单号
public static String item_to_order = "to_order"; public static String item_to_order1 = "to_order1";
public static String item_to_order2 = "to_order2";
private HailiangStackingStationDriver driver; private HailiangStackingStationDriver driver;
@@ -130,8 +142,11 @@ public class ItemProtocol {
public int getItem_all_ready() { public int getItem_all_ready() {
return this.getOpcIntegerValue(item_all_ready); return this.getOpcIntegerValue(item_all_ready);
} }
public int getItem_finish() { public int getItem_finish1() {
return this.getOpcIntegerValue(item_finish); return this.getOpcIntegerValue(item_finish1);
}
public int getItem_finish2() {
return this.getOpcIntegerValue(item_finish2);
} }
public int getItem_is_full_1() { public int getItem_is_full_1() {
return this.getOpcIntegerValue(item_is_full_1); return this.getOpcIntegerValue(item_is_full_1);
@@ -160,8 +175,11 @@ public class ItemProtocol {
public int getItem_error() { public int getItem_error() {
return this.getOpcIntegerValue(item_error); return this.getOpcIntegerValue(item_error);
} }
public int getItem_lane_error() { public int getItem_lane_error1() {
return this.getOpcIntegerValue(item_lane_error); return this.getOpcIntegerValue(item_lane_error1);
}
public int getItem_lane_error2() {
return this.getOpcIntegerValue(item_lane_error2);
} }
public int getItem_pallet_num_1() { public int getItem_pallet_num_1() {
return this.getOpcIntegerValue(item_pallet_num_1); return this.getOpcIntegerValue(item_pallet_num_1);
@@ -187,14 +205,23 @@ public class ItemProtocol {
public int getItem_material_4() { public int getItem_material_4() {
return this.getOpcIntegerValue(item_material_4); return this.getOpcIntegerValue(item_material_4);
} }
public int getItem_order_now() { public int getItem_order_now1() {
return this.getOpcIntegerValue(item_order_now); return this.getOpcIntegerValue(item_order_now1);
} }
public int getItem_tray_now() { public int getItem_order_now2() {
return this.getOpcIntegerValue(item_tray_now); return this.getOpcIntegerValue(item_order_now2);
} }
public int getItem_order() { public int getItem_tray_now1() {
return this.getOpcIntegerValue(item_order); return this.getOpcIntegerValue(item_tray_now1);
}
public int getItem_tray_now2() {
return this.getOpcIntegerValue(item_tray_now2);
}
public int getItem_order1() {
return this.getOpcIntegerValue(item_order1);
}
public int getItem_order2() {
return this.getOpcIntegerValue(item_order2);
} }
@@ -240,7 +267,8 @@ public class ItemProtocol {
list.add(new ItemDto(item_move, "光电信号", "DB1.B1.1")); list.add(new ItemDto(item_move, "光电信号", "DB1.B1.1"));
list.add(new ItemDto(item_line_ready, "线体就绪", "DB1.B2.1")); list.add(new ItemDto(item_line_ready, "线体就绪", "DB1.B2.1"));
list.add(new ItemDto(item_all_ready, "所有设备就绪", "DB1.B2.2")); list.add(new ItemDto(item_all_ready, "所有设备就绪", "DB1.B2.2"));
list.add(new ItemDto(item_finish, "工单完成", "DB1.B2.3")); list.add(new ItemDto(item_finish1, "工单完成", "DB1.B2.3"));
list.add(new ItemDto(item_finish2, "工单完成", "DB1.B2.4"));
list.add(new ItemDto(item_is_full_1, "托盘1是否满托", "DB1.B2.5")); list.add(new ItemDto(item_is_full_1, "托盘1是否满托", "DB1.B2.5"));
list.add(new ItemDto(item_is_full_2, "托盘2是否满托", "DB1.B2.6")); list.add(new ItemDto(item_is_full_2, "托盘2是否满托", "DB1.B2.6"));
list.add(new ItemDto(item_is_full_3, "托盘3是否满托", "DB1.B2.7")); list.add(new ItemDto(item_is_full_3, "托盘3是否满托", "DB1.B2.7"));
@@ -250,7 +278,8 @@ public class ItemProtocol {
list.add(new ItemDto(item_move_3, "托盘3光电信号", "DB1.B3.3")); list.add(new ItemDto(item_move_3, "托盘3光电信号", "DB1.B3.3"));
list.add(new ItemDto(item_move_4, "托盘4光电信号", "DB1.B3.4")); list.add(new ItemDto(item_move_4, "托盘4光电信号", "DB1.B3.4"));
list.add(new ItemDto(item_error, "故障信息", "DB1.W4")); list.add(new ItemDto(item_error, "故障信息", "DB1.W4"));
list.add(new ItemDto(item_lane_error, "巷道故障", "DB1.W10")); list.add(new ItemDto(item_lane_error1, "巷道1故障", "DB1.W10"));
list.add(new ItemDto(item_lane_error2, "巷道2故障", "DB1.W12"));
list.add(new ItemDto(item_pallet_num_1, "托盘1当前码垛箱数", "DB1.W64")); list.add(new ItemDto(item_pallet_num_1, "托盘1当前码垛箱数", "DB1.W64"));
list.add(new ItemDto(item_pallet_num_2, "托盘2当前码垛箱数", "DB1.W66")); list.add(new ItemDto(item_pallet_num_2, "托盘2当前码垛箱数", "DB1.W66"));
list.add(new ItemDto(item_pallet_num_3, "托盘3当前码垛箱数", "DB1.W68")); list.add(new ItemDto(item_pallet_num_3, "托盘3当前码垛箱数", "DB1.W68"));
@@ -259,9 +288,13 @@ public class ItemProtocol {
list.add(new ItemDto(item_material_2, "托盘2物料信息", "DB1.W74")); list.add(new ItemDto(item_material_2, "托盘2物料信息", "DB1.W74"));
list.add(new ItemDto(item_material_3, "托盘3物料信息", "DB1.W76")); list.add(new ItemDto(item_material_3, "托盘3物料信息", "DB1.W76"));
list.add(new ItemDto(item_material_4, "托盘4物料信息", "DB1.W78")); list.add(new ItemDto(item_material_4, "托盘4物料信息", "DB1.W78"));
list.add(new ItemDto(item_order_now, "当前生产总量(订单实时)", "DB1.D84")); list.add(new ItemDto(item_order_now1, "当前生产总量1(订单1实时)", "DB1.D84"));
list.add(new ItemDto(item_tray_now, "当前托盘总数(实时)", "DB1.D88")); list.add(new ItemDto(item_order_now2, "当前生产总量2订单2实时)", "DB1.D92"));
list.add(new ItemDto(item_order, "工单号", "DB1.D156")); list.add(new ItemDto(item_tray_now1, "当前托盘1总数实时", "DB1.D88"));
list.add(new ItemDto(item_tray_now2, "当前托盘2总数实时", "DB1.D96"));
list.add(new ItemDto(item_order1, "工单号1", "DB1.D156"));
list.add(new ItemDto(item_order2, "工单号2", "DB1.D160"));
return list; return list;
} }
@@ -269,9 +302,12 @@ public class ItemProtocol {
ArrayList list = new ArrayList(); ArrayList list = new ArrayList();
list.add(new ItemDto(item_to_open, "设备开关", "DB2.W4")); list.add(new ItemDto(item_to_open, "设备开关", "DB2.W4"));
list.add(new ItemDto(item_to_open_pulator, "机械手开关", "DB2.W10")); list.add(new ItemDto(item_to_open_pulator, "机械手开关", "DB2.W10"));
list.add(new ItemDto(item_to_tray_info, "码盘信息(模板号)", "DB2.W12")); list.add(new ItemDto(item_to_tray_info1, "码盘信息1(模板号)", "DB2.W12"));
list.add(new ItemDto(item_to_clear, "当前产量清零", "DB2.W16")); list.add(new ItemDto(item_to_tray_info2, "码盘信息2(模板号)", "DB2.W14"));
list.add(new ItemDto(item_to_confirm_finished, "订单确认完成", "DB2.W20")); list.add(new ItemDto(item_to_clear1, "1号当前产量清零", "DB2.W16"));
list.add(new ItemDto(item_to_clear2, "2号当前产量清零", "DB2.W18"));
list.add(new ItemDto(item_to_confirm_finished1, "订单1确认完成", "DB2.W20"));
list.add(new ItemDto(item_to_confirm_finished2, "订单2确认完成", "DB2.W22"));
list.add(new ItemDto(item_to_lane_box_l, "巷道箱子长", "DB2.W28")); list.add(new ItemDto(item_to_lane_box_l, "巷道箱子长", "DB2.W28"));
list.add(new ItemDto(item_to_lane_box_w, "巷道箱子宽", "DB2.W30")); list.add(new ItemDto(item_to_lane_box_w, "巷道箱子宽", "DB2.W30"));
list.add(new ItemDto(item_to_lane_box_h, "巷道箱子高", "DB2.W32")); list.add(new ItemDto(item_to_lane_box_h, "巷道箱子高", "DB2.W32"));
@@ -279,11 +315,16 @@ public class ItemProtocol {
list.add(new ItemDto(item_to_lane2_tray_compel_full, "托盘2强制满托", "DB2.W42")); list.add(new ItemDto(item_to_lane2_tray_compel_full, "托盘2强制满托", "DB2.W42"));
list.add(new ItemDto(item_to_lane3_tray_compel_full, "托盘3强制满托", "DB2.W44")); list.add(new ItemDto(item_to_lane3_tray_compel_full, "托盘3强制满托", "DB2.W44"));
list.add(new ItemDto(item_to_lane4_tray_compel_full, "托盘4强制满托", "DB2.W46")); list.add(new ItemDto(item_to_lane4_tray_compel_full, "托盘4强制满托", "DB2.W46"));
list.add(new ItemDto(item_to_lane_off, "巷道暂停", "DB2.W48")); list.add(new ItemDto(item_to_lane_off1, "巷道暂停", "DB2.W48"));
list.add(new ItemDto(item_to_compel_finish, "工单强制完成", "DB2.W80")); list.add(new ItemDto(item_to_lane_off2, "巷道暂停", "DB2.W50"));
list.add(new ItemDto(item_to_order_prod_num, "订单生产总量", "DB2.D84")); list.add(new ItemDto(item_to_compel_finish1, "工单1强制完成", "DB2.W80"));
list.add(new ItemDto(item_to_tray_num, "托盘总量", "DB2.D88")); list.add(new ItemDto(item_to_compel_finish2, "工单2强制完成", "DB2.W82"));
list.add(new ItemDto(item_to_order, "工单号", "DB2.D156")); list.add(new ItemDto(item_to_order_prod_num1, "订单1生产总量", "DB2.D84"));
list.add(new ItemDto(item_to_order_prod_num2, "订单2生产总量", "DB2.D92"));
list.add(new ItemDto(item_to_tray_num1, "托盘1总量", "DB2.D88"));
list.add(new ItemDto(item_to_tray_num2, "托盘2总量", "DB2.D96"));
list.add(new ItemDto(item_to_order1, "工单号1", "DB2.D156"));
list.add(new ItemDto(item_to_order2, "工单号2", "DB2.D160"));
return list; return list;
} }

View File

@@ -41,7 +41,7 @@ public class ItemProtocol {
public static String item_order = "order"; public static String item_order = "order";
//是否正转 //是否正转正常情况下都是正转1开箱机1给包装机1或开箱机2给包装机2。另一情况反转0例如开箱机1给包装机2号
public static String item_to_foreward = "to_foreward"; public static String item_to_foreward = "to_foreward";
//当前产量清零 //当前产量清零
public static String item_to_clear = "to_clear"; public static String item_to_clear = "to_clear";