| | |
| | | put(1101, 2508);put(1102, 2600);put(1103, 2692);put(1104, 2784);put(1105, 2876); |
| | | put(1106, 2968);put(1107, 3060);put(1108, 3152);put(1109, 3244);put(1110, 3336); |
| | | |
| | | put(2001, 392);put(2002, 116);put(2003, 208);put(2004, 0);put(2005, 300); |
| | | put(2006, 508);put(2007, 692);put(2008, 600);put(2009, 808);put(2010, 992); |
| | | put(2011, 900);put(2012, 1108);put(2013, 1500);put(2014, 1292);put(2015, 1200); |
| | | put(2016, 1384);put(2017, 1616);put(2018, 1708);put(2019, 1800);put(2020, 1916); |
| | | put(2021, 2008);put(2022, 2100);put(2023, 2216);put(2024, 2308);put(2025, 2400); |
| | | put(2026, 2516);put(2027, 2608);put(2028, 2792);put(2029, 2700);put(2030, 2908); |
| | | put(2031, 464);put(2032, 348);put(2033, 556);put(2034, 92);put(2035, 0); |
| | | put(2037, 256); |
| | | |
| | | put(4001, 0);put(4002, 116);put(4003, 508);put(4004, 392);put(4005, 300); |
| | | put(4006, 208); |
| | | // 其他站点同理继续加 |
| | | }}; |
| | | |
| | |
| | | |
| | | // 特殊站点集合 |
| | | private static final Set<Integer> specialSites = new HashSet<>( |
| | | Arrays.asList(1001,1005,1008,1011,1015,1019,1022,1025,1029, 1032,1039)); |
| | | Arrays.asList(1001,1005,1008,1011,1015,1019,1022,1025,1029, 1032,1039,2004,2001,2007,2010,2016,2013,2019,2022,2025,2030,4001,4004)); |
| | | |
| | | // 特殊站点集合 |
| | | private static final Set<Integer> specialSites2 = new HashSet<>( |
| | | Arrays.asList(1051,1055,1057,1065,1067,1069,1077,1081,1083,1086,1089,1092,1095,1097,1100)); |
| | | Arrays.asList(1051,1055,1057,1065,1067,1069,1077,1081,1083,1086,1089,1092,1095,1097,1100,2034)); |
| | | |
| | | private static final Set<Integer> specialSites3 = new HashSet<>(//机械臂站点 |
| | | Arrays.asList(1098,1093,1087,1082,1074,1071,1061,1058)); |
| | |
| | | staProtocol.setEmptyMk(false); // 空板信号 |
| | | staProtocol.setStaNo((short) 0); // 目标站 |
| | | |
| | | if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { |
| | | if (!staProtocol.isPakMk() && staProtocol.isLoading()) { |
| | | staProtocol.setPakMk(true); |
| | | } |
| | | } |
| | |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | int staNoSize = staNos.size(); |
| | | OperateResultExOne<byte[]> result = null; |
| | | OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100.0", (short) (2768));//1001-1028 |
| | | OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.0", (short) (1268));//1029-1037 |
| | | OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB104.0", (short) (1268));//1042-1053 |
| | | OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB103.0", (short) (2824));//1054-1079 |
| | | OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB102.0", (short) (3428));//1080-1110 |
| | | OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB3.0", (short) (536));//1080-1110 |
| | | OperateResultExOne<byte[]> result1 = null; |
| | | OperateResultExOne<byte[]> result2 = null;//1029-1037 |
| | | OperateResultExOne<byte[]> result3 = null;//1042-1053 |
| | | OperateResultExOne<byte[]> result4 = null;//1054-1079 |
| | | OperateResultExOne<byte[]> result5 = null;//1080-1110 |
| | | OperateResultExOne<byte[]> resultErr = null;//1080-1110 |
| | | if(staNoSize == 99){ |
| | | result1 = siemensS7Net.Read("DB100.0", (short) (2768));//1001-1028 |
| | | result2 = siemensS7Net.Read("DB101.0", (short) (1268));//1029-1037 |
| | | result3 = siemensS7Net.Read("DB104.0", (short) (1268));//1042-1053 |
| | | result4 = siemensS7Net.Read("DB103.0", (short) (2824));//1054-1079 |
| | | result5 = siemensS7Net.Read("DB102.0", (short) (3428));//1080-1110 |
| | | resultErr = siemensS7Net.Read("DB3.0", (short) (536));//1080-1110 |
| | | }else{ |
| | | result1 = siemensS7Net.Read("DB200.0", (short) (3000));//2001-2030 |
| | | result2 = siemensS7Net.Read("DB201.0", (short) (720));//2031-2037 |
| | | result3 = siemensS7Net.Read("DB400.0", (short) (600));//4001-4006 |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | staProtocol.setSiteId(siteId); |
| | | station.put(siteId, staProtocol); |
| | | } |
| | | if (staNoSize == 99) { |
| | | if(siteId < 1029){ |
| | | result = result1; |
| | | }else if(siteId < 1042){ |
| | |
| | | result = result4; |
| | | }else if(siteId < 1111){ |
| | | result = result5; |
| | | } |
| | | }else{ |
| | | if (siteId < 2031) { |
| | | result = result1; |
| | | } else if (siteId < 4001) { |
| | | result = result2; |
| | | } else { |
| | | result = result3; |
| | | } |
| | | } |
| | | // 获取该站点对应的偏移量 |
| | | Integer offset = siteOffsetMap.get(siteId); |
| | |
| | | // staProtocol.setHigh(status[6]); // 高库位 |
| | | // staProtocol.setLow(status[7]); // 低库位 |
| | | |
| | | if (!staProtocol.isPakMk() && (!staProtocol.isLoading() || !staProtocol.isInEnable())) { |
| | | if (!staProtocol.isPakMk() && (!staProtocol.isLoading() || staProtocol.getWorkNo()==0)) { |
| | | staProtocol.setPakMk(true); |
| | | } |
| | | } |
| | |
| | | write1 = siemensS7Net.Write("DB102." + (offset + offset2 + 48), staProtocol.getStaNo().intValue()); // 目标站 |
| | | }else{ |
| | | write1 = siemensS7Net.Write("DB102." + (offset + offset2 + 12), staProtocol.getStaNo().intValue()); // 目标站 |
| | | } } |
| | | } |
| | | }else if(siteId < 2031){ |
| | | write = siemensS7Net.Write("DB200." + (offset + offset2), staProtocol.getWorkNo()); // 工作号 |
| | | Thread.sleep(200); |
| | | if(specialSites2.contains(siteId)){ |
| | | write1 = siemensS7Net.Write("DB200." + (offset + offset2 + 48), staProtocol.getStaNo().intValue()); // 目标站 |
| | | }else{ |
| | | write1 = siemensS7Net.Write("DB200." + (offset + offset2 + 12), staProtocol.getStaNo().intValue()); // 目标站 |
| | | } |
| | | }else if(siteId < 4000){ |
| | | write = siemensS7Net.Write("DB201." + (offset + offset2), staProtocol.getWorkNo()); // 工作号 |
| | | Thread.sleep(200); |
| | | if(specialSites2.contains(siteId)){ |
| | | write1 = siemensS7Net.Write("DB201." + (offset + offset2 + 48), staProtocol.getStaNo().intValue()); // 目标站 |
| | | }else{ |
| | | write1 = siemensS7Net.Write("DB201." + (offset + offset2 + 12), staProtocol.getStaNo().intValue()); // 目标站 |
| | | } |
| | | }else{ |
| | | write = siemensS7Net.Write("DB400." + (offset + offset2), staProtocol.getWorkNo()); // 工作号 |
| | | Thread.sleep(200); |
| | | if(specialSites2.contains(siteId)){ |
| | | write1 = siemensS7Net.Write("DB400." + (offset + offset2 + 48), staProtocol.getStaNo().intValue()); // 目标站 |
| | | }else{ |
| | | write1 = siemensS7Net.Write("DB400." + (offset + offset2 + 12), staProtocol.getStaNo().intValue()); // 目标站 |
| | | } |
| | | } |
| | | if(write.IsSuccess && write1.IsSuccess){ |
| | | log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); |
| | | break; |