src/main/java/com/zy/asrs/controller/SiteController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/model/LocTypeDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/StaProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/console.map.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/pipeline.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -44,7 +44,6 @@ List<Map<String, Object>> res = new ArrayList<>(); for (DevpSlave devp : slaveProperties.getDevp()) { SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); if (devp.getId() == 1) { Map<String, Object> map1 = new HashMap<>(); map1.put("floor", 1); map1.put("modeVal", devpThread.ioModeOf1F1.id); @@ -56,46 +55,6 @@ map2.put("modeVal", devpThread.ioModeOf1F2.id); map2.put("modeDesc", devpThread.ioModeOf1F2.desc); res.add(map2); } else { Map<String, Object> map3 = new HashMap<>(); map3.put("floor", 3); map3.put("modeVal", devpThread.ioModeOf1F3.id); map3.put("modeDesc", devpThread.ioModeOf1F3.desc); res.add(map3); Map<String, Object> map4 = new HashMap<>(); map4.put("floor", 4); map4.put("modeVal", devpThread.ioModeOf1F4.id); map4.put("modeDesc", devpThread.ioModeOf1F4.desc); res.add(map4); Map<String, Object> map5 = new HashMap<>(); map5.put("floor", 5); map5.put("modeVal", devpThread.ioModeOf2F1.id); map5.put("modeDesc", devpThread.ioModeOf2F1.desc); res.add(map5); Map<String, Object> map6 = new HashMap<>(); map6.put("floor", 6); map6.put("modeVal", devpThread.ioModeOf2F2.id); map6.put("modeDesc", devpThread.ioModeOf2F2.desc); res.add(map6); Map<String, Object> map7 = new HashMap<>(); map7.put("floor", 7); map7.put("modeVal", devpThread.ioModeOf3F1.id); map7.put("modeDesc", devpThread.ioModeOf3F1.desc); res.add(map7); Map<String, Object> map8 = new HashMap<>(); map8.put("floor", 8); map8.put("modeVal", devpThread.ioModeOf3F2.id); map8.put("modeDesc", devpThread.ioModeOf3F2.desc); res.add(map8); } } return R.ok().add(res); } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -102,58 +102,17 @@ for (DevpSlave.Sta inSta : devp.getInSta()) { // 获取条码扫描仪信息 BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode()); BarcodeThread barcodeThread1 = null; BarcodeThread barcodeThread2 = null; if (barcodeThread == null) { continue; } String barcode = barcodeThread.getBarcode(); String barcode1 = ""; String barcode2 = ""; //101站有3个扫码器,当0扫码器没有数据时,获取9、10两个扫码器数据 if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104))){ barcodeThread1 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode1()); if (barcodeThread1 != null) { barcode1 = barcodeThread1.getBarcode(); } barcodeThread2 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode2()); if (barcodeThread2 != null) { barcode2 = barcodeThread2.getBarcode(); } Integer len1=0 , len2=0, len3=0; if(barcode != null) { String b[]=barcode.split(";"); barcode=b[b.length-1]; len1 = barcode.length(); } if(barcode1 != null) { String b[]=barcode1.split(";"); barcode1=b[b.length-1]; len2 = barcode1.length(); } if(barcode2 != null) { String b[]=barcode2.split(";"); barcode2=b[b.length-1]; len3 = barcode2.length(); } if(len2 > len1 && len2 >= len3){ barcode = barcode1; } else if (len3 > len1 && len3 >= len2){ barcode = barcode2; } } //判断101和104是否是拣料、并板、盘点再入库 WrkMast wrkMast1=wrkMastMapper.selectpj(inSta.getStaNo(),barcode); if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) &&!Cools.isEmpty(barcode)&&!Cools.isEmpty(wrkMast1)){ log.error("101或104拣料、并板、盘点再入库", wrkMast1.getWrkNo()); continue; } ////判断101和104是否是拣料、并板、盘点再入库 //WrkMast wrkMast1=wrkMastMapper.selectpj(inSta.getStaNo(),barcode); //if((inSta.getStaNo().equals(101) || inSta.getStaNo().equals(104)) &&!Cools.isEmpty(barcode)&&!Cools.isEmpty(wrkMast1)){ // log.error("101或104拣料、并板、盘点再入库", wrkMast1.getWrkNo()); // continue; //} if (!Cools.isEmpty(barcode)) { log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); @@ -184,24 +143,6 @@ continue; } if (inSta.getStaNo() == 104 && devpThread.ioModeOf1F2 == IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 111 && devpThread.ioModeOf1F3 == IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 114 && devpThread.ioModeOf1F4 == IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 201 && devpThread.ioModeOf2F1 == IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 204 && devpThread.ioModeOf2F2 == IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 301 && devpThread.ioModeOf3F1 == IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 304 && devpThread.ioModeOf3F2 == IoModeType.PAKOUT_MODE) { continue; } @@ -264,12 +205,6 @@ StartupDto dto = jsonObject.getObject("data", StartupDto.class); barcodeThread.setBarcode(""); if(barcodeThread1 !=null){ barcodeThread1.setBarcode(""); } if(barcodeThread2 !=null){ barcodeThread2.setBarcode(""); } staProtocol.setWorkNo(dto.getWorkNo().shortValue()); staProtocol.setStaNo(dto.getStaNo().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); @@ -411,24 +346,6 @@ if (inSta.getStaNo() == 101 && devpThread.ioModeOf1F2 != IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 114 && devpThread.ioModeOf1F3 != IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 111 && devpThread.ioModeOf1F4 != IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 204 && devpThread.ioModeOf2F1 != IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 201 && devpThread.ioModeOf2F2 != IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 301 && devpThread.ioModeOf3F1 != IoModeType.PAKOUT_MODE) { continue; } if (inSta.getStaNo() == 304 && devpThread.ioModeOf3F2 != IoModeType.PAKOUT_MODE) { continue; } // 判断是否满足入库条件 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() @@ -482,27 +399,9 @@ String barcode = barcodeThread.getBarcode(); //101站有3个扫码器,当0扫码器没有数据时,获取9、10两个扫码器数据 if((pickSta.getStaNo().equals(101) || pickSta.getStaNo().equals(104)) && ( "NoRead".equals(barcode) || Cools.isEmpty(barcode) )){ BarcodeThread barcodeThread1 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode1()); if (barcodeThread1 != null) { barcode = barcodeThread1.getBarcode(); } if("NoRead".equals(barcode) || Cools.isEmpty(barcode)) { BarcodeThread barcodeThread2 = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode2()); if (barcodeThread2 != null) { barcode = barcodeThread2.getBarcode(); } } } if (!Cools.isEmpty(barcode)) { log.info("{}号条码扫描器检测条码信息:{}", pickSta.getBarcode(), barcode); // if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { // continue; // } } else { continue; } @@ -575,24 +474,6 @@ break; case 103: sourceStaNo = 104; break; case 110: sourceStaNo = 111; break; case 113: sourceStaNo = 114; break; case 200: sourceStaNo = 201; break; case 203: sourceStaNo = 204; break; case 300: sourceStaNo = 301; break; case 303: sourceStaNo = 304; break; } @@ -986,24 +867,6 @@ continue; } if (wrkMast.getStaNo() == 103 && devpThread.ioModeOf1F2 != IoModeType.PAKOUT_MODE) { continue; } if (wrkMast.getStaNo() == 110 && devpThread.ioModeOf1F3 != IoModeType.PAKOUT_MODE) { continue; } if (wrkMast.getStaNo() == 113 && devpThread.ioModeOf1F4 != IoModeType.PAKOUT_MODE) { continue; } if (wrkMast.getStaNo() == 200 && devpThread.ioModeOf2F1 != IoModeType.PAKOUT_MODE) { continue; } if (wrkMast.getStaNo() == 203 && devpThread.ioModeOf2F2 != IoModeType.PAKOUT_MODE) { continue; } if (wrkMast.getStaNo() == 300 && devpThread.ioModeOf3F1 != IoModeType.PAKOUT_MODE) { continue; } if (wrkMast.getStaNo() == 303 && devpThread.ioModeOf3F2 != IoModeType.PAKOUT_MODE) { continue; } @@ -2178,24 +2041,6 @@ case 104: staNo = 106; break; case 111: staNo = 112; break; case 114: staNo = 116; break; case 201: staNo = 202; break; case 204: staNo = 205; break; case 301: staNo = 302; break; case 304: staNo = 305; break; } WrkMast pakout = wrkMastMapper.selectWorkingPakout(staNo); switch (inSta.getStaNo()) { @@ -2233,114 +2078,6 @@ } else { // 入库模式 devpThread.ioModeOf1F2 = IoModeType.PAKIN_MODE; } break; case 111: // 1F3 if (pakout != null) { if (devpThread.ioModeOf1F3 != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf1F3 = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo() - 1).isLoading() && devpThread.getStation().get(inSta.getStaNo() - 1).getWorkNo() == 0) { // 出库模式 devpThread.ioModeOf1F3 = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf1F3 = IoModeType.PAKIN_MODE; } break; case 114: // 1F4 if (pakout != null) { if (devpThread.ioModeOf1F4 != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf1F4 = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo() - 1).isLoading() && devpThread.getStation().get(inSta.getStaNo() - 1).getWorkNo() == 0) { // 出库模式 devpThread.ioModeOf1F4 = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf1F4 = IoModeType.PAKIN_MODE; } break; case 201: // 2F1 if (pakout != null) { if (devpThread.ioModeOf2F1 != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf2F1 = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo() - 1).isLoading() && devpThread.getStation().get(inSta.getStaNo() - 1).getWorkNo() == 0) { // 出库模式 devpThread.ioModeOf2F1 = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf2F1 = IoModeType.PAKIN_MODE; } break; case 204: // 2F2 if (pakout != null) { if (devpThread.ioModeOf2F2 != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf2F2 = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo() - 1).isLoading() && devpThread.getStation().get(inSta.getStaNo() - 1).getWorkNo() == 0) { // 出库模式 devpThread.ioModeOf2F2 = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf2F2 = IoModeType.PAKIN_MODE; } break; case 301: // 3F1 if (pakout != null) { if (devpThread.ioModeOf3F1 != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf3F1 = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo() - 1).isLoading() && devpThread.getStation().get(inSta.getStaNo() - 1).getWorkNo() == 0) { // 出库模式 devpThread.ioModeOf3F1 = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf3F1 = IoModeType.PAKIN_MODE; } break; case 304: // 3F2 if (pakout != null) { if (devpThread.ioModeOf3F2 != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf3F2 = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo() - 1).isLoading() && devpThread.getStation().get(inSta.getStaNo() - 1).getWorkNo() == 0) { // 出库模式 devpThread.ioModeOf3F2 = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf3F2 = IoModeType.PAKIN_MODE; } break; } src/main/java/com/zy/common/model/LocTypeDto.java
@@ -10,7 +10,7 @@ @Data public class LocTypeDto { // 高低类型{0:未知,1:低库位,2:高库位} // 高低类型{0:未知,1:较低库位,2:低库位,3:高库位,4: 特高库位} private Short locType1; // 宽窄类型{0:未知,1:窄库位,2:宽库位} @@ -29,13 +29,31 @@ } public LocTypeDto(StaProtocol staProtocol) { if (staProtocol.isHigh() == staProtocol.isLow()) { throw new CoolException("plc高低检测异常"); int trueLen = 0; if (staProtocol.isHigh()) { trueLen++; } if (staProtocol.isHigh1()) { trueLen++; } if (staProtocol.isLow()) { this.locType1 = 1; // 低库位 } else { this.locType1 = 2; // 高库位 trueLen++; } if (staProtocol.isLow1()) { trueLen++; } if (trueLen != 1) { throw new CoolException("plc高低检测异常"); } if (staProtocol.isLow()) { this.locType1 = 1; // 较低库位 } else if (staProtocol.isLow1()){ this.locType1 = 2; // 低库位 } else if (staProtocol.isHigh()){ this.locType1 = 3; // 高库位 } else if (staProtocol.isHigh1()){ this.locType1 = 4; // 特高库位 } } src/main/java/com/zy/core/MainProcess.java
@@ -87,7 +87,7 @@ mainService.outOfDevp(); //空托盘自动出库 mainService.autoEmptyOut(); //mainService.autoEmptyOut(); // //空托盘自动入库 // mainService.autoEmptyIn(); src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -46,6 +46,12 @@ // 低 private boolean low; // 高 private boolean high1; // 低 private boolean low1; // 锁定标记 private boolean pakMk = true; src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -43,19 +43,12 @@ private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); private short heartBeatVal = 1; public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ add(100);add(101);add(102);add(103);add(104);add(105);add(106); add(100);add(101);add(102);add(103);add(104);add(105); }}; public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ add(110);add(111);add(112);add(113);add(114);add(115);add(116); add(200);add(201);add(202);add(203);add(204);add(205); add(300);add(301);add(302);add(303);add(304);add(305); }}; /** * 条码数量 */ private int barcodeSize = 6; private int barcodeSize = 2; /** * 入出库模式 @@ -67,14 +60,6 @@ */ public IoModeType ioModeOf1F1 = IoModeType.NONE; public IoModeType ioModeOf1F2 = IoModeType.NONE; public IoModeType ioModeOf1F3 = IoModeType.NONE; public IoModeType ioModeOf1F4 = IoModeType.NONE; public IoModeType ioModeOf2F1 = IoModeType.NONE; public IoModeType ioModeOf2F2 = IoModeType.NONE; public IoModeType ioModeOf3F1 = IoModeType.NONE; public IoModeType ioModeOf3F2 = IoModeType.NONE; public SiemensDevpThread(DevpSlave slave) { this.slave = slave; @@ -83,8 +68,6 @@ switch (slave.getId()) { case 1: return staNos1; case 2: return staNos2; default: throw new CoolException("获取站点失败!"); } @@ -181,7 +164,7 @@ } Thread.sleep(200); OperateResultExOne<byte[]> result1 = null; result1 = siemensS7Net.Read("DB102.100", (short) (staNoSize * 2)); result1 = siemensS7Net.Read("DB101.1", (short) (staNoSize * 2)); if (result1.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 站点编号 @@ -193,9 +176,10 @@ staProtocol.setOutEnable(status[3]);// 可出 staProtocol.setEmptyMk(status[4]); // 空板信号 staProtocol.setFullPlt(status[5]); // 满托盘 staProtocol.setHigh(status[6]); // 高库位 捷丰大托盘 staProtocol.setLow(status[7]); // 低库位 捷丰小托盘 staProtocol.setFull(status[8]); // 托盘是可否整垛 staProtocol.setHigh(status[6]); staProtocol.setHigh1(status[7]); staProtocol.setLow(status[8]); staProtocol.setLow1(status[9]); if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); @@ -207,10 +191,10 @@ if(slave.getId() == 2) { Thread.sleep(200); OperateResultExOne<byte[]> result2 = null; result2 = siemensS7Net.Read("DB100.200", (short) (barcodeSize * 16)); result2 = siemensS7Net.Read("DB100.200", (short) (barcodeSize * 8)); if (result2.IsSuccess) { for (int i = 0; i < barcodeSize; i++) { String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 16, 8, "UTF-8"); String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8"); BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1); if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { barcodeThread.setBarcode(barcode); @@ -306,42 +290,6 @@ if (!siemensS7Net.Write("DB100.302", this.ioModeOf1F2.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F2入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线1F2入出库模式失败。输送线plc编号={}", slave.getId()); } } if (slave.getId() == 2 && this.ioModeOf1F3 != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.300", this.ioModeOf1F3.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F3入出库模式失败。输送线plc编号={2}", slave.getId())); log.error("写入输送线1F3入出库模式失败。输送线plc编号={}", slave.getId()); } } if (slave.getId() == 2 && this.ioModeOf1F4 != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.302", this.ioModeOf1F4.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F4入出库模式失败。输送线plc编号={2}", slave.getId())); log.error("写入输送线1F4入出库模式失败。输送线plc编号={}", slave.getId()); } } if (slave.getId() == 2 && this.ioModeOf2F1 != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.304", this.ioModeOf2F1.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F1入出库模式失败。输送线plc编号={2}", slave.getId())); log.error("写入输送线2F1入出库模式失败。输送线plc编号={}", slave.getId()); } } if (slave.getId() == 2 && this.ioModeOf2F2 != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.306", this.ioModeOf2F2.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F2入出库模式失败。输送线plc编号={2}", slave.getId())); log.error("写入输送线2F2入出库模式失败。输送线plc编号={}", slave.getId()); } } if (slave.getId() == 2 && this.ioModeOf3F1 != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.308", this.ioModeOf3F1.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线3F1入出库模式失败。输送线plc编号={2}", slave.getId())); log.error("写入输送线3F1入出库模式失败。输送线plc编号={}", slave.getId()); } } if (slave.getId() == 2 && this.ioModeOf3F2 != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.310", this.ioModeOf3F2.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线3F2入出库模式失败。输送线plc编号={2}", slave.getId())); log.error("写入输送线3F2入出库模式失败。输送线plc编号={}", slave.getId()); } } } src/main/resources/application.yml
@@ -35,16 +35,16 @@ enable: false wms: url: localhost:8088/jfwms url: localhost:8088/kdywms # 下位机配置 wcs-slave: # 双深 doubleDeep: true doubleDeep: false # 双深库位排号 doubleLocs: 1,4,5,8 doubleLocs: 1 # 一个堆垛机负责的货架排数 groupCount: 4 groupCount: 2 # 堆垛机1 crn[0]: id: 1 @@ -55,128 +55,34 @@ # 偏移量,当堆垛机站点列号=1时,偏移量=2 offset: 2 demo: false # 堆垛机入库站点1 右上 crnInStn[0]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 106 row: 2 bay: 84 lev: 1 # 堆垛机入库站点2 左上 crnInStn[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 116 row: 2 bay: 1 lev: 1 # 堆垛机入库站点3 左上 2楼 crnInStn[2]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 205 row: 2 bay: 1 lev: 4 # 堆垛机入库站点 左上 3楼 crnInStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 305 row: 2 bay: 1 lev: 7 # 堆垛机出库站点1 右上 crnOutStn[0]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 106 row: 2 bay: 84 lev: 1 # 堆垛机出库站点2 左上 crnOutStn[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 116 row: 2 bay: 1 lev: 1 # 堆垛机出库站点3 左上 2楼 crnOutStn[2]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 205 row: 2 bay: 1 lev: 4 # 堆垛机出库站点 左上 3楼 crnOutStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 305 row: 2 bay: 1 lev: 7 # 堆垛机2 crn[1]: id: 2 ip: 10.10.10.20 port: 102 rack: 0 slot: 0 # 偏移量,当堆垛机站点列号=1时,偏移量=2 offset: 2 demo: false # 堆垛机入库站点1 右下 # 堆垛机入库站1 crnInStn[0]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 102 row: 7 bay: 84 row: 2 bay: 32 lev: 1 # 堆垛机入库站点2 左下 # 堆垛机入库站点2 crnInStn[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 112 row: 7 bay: 1 devpPlcId: ${wcs-slave.devp[0].id} staNo: 105 row: 2 bay: 31 lev: 1 # 堆垛机入库站点3 左下 2楼 crnInStn[2]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 202 row: 7 bay: 1 lev: 4 # 堆垛机入库站点4 左下 3楼 crnInStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 302 row: 7 bay: 1 lev: 7 # 堆垛机出库站点1 右下 # 堆垛机出库站点1 crnOutStn[0]: devpPlcId: ${wcs-slave.devp[0].id} staNo: 102 row: 7 bay: 84 row: 2 bay: 32 lev: 1 # 堆垛机出库站点2 左下 # 堆垛机出库站点2 crnOutStn[1]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 112 row: 7 bay: 1 devpPlcId: ${wcs-slave.devp[0].id} staNo: 105 row: 2 bay: 31 lev: 1 # 堆垛机出库站点3 左下 2楼 crnOutStn[2]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 202 row: 7 bay: 1 lev: 4 # 堆垛机出库站点3 左下 3楼 crnOutStn[3]: devpPlcId: ${wcs-slave.devp[1].id} staNo: 302 row: 7 bay: 1 lev: 7 # 输送线1 devp[0]: id: 1 @@ -187,17 +93,13 @@ # 入库口1 inSta[0]: staNo: 101 barcode: ${wcs-slave.barcode[6].id} barcode1: ${wcs-slave.barcode[7].id} barcode2: ${wcs-slave.barcode[8].id} barcode: ${wcs-slave.barcode[0].id} backSta: 100 led: ${wcs-slave.led[0].id} # 入库口2 inSta[1]: staNo: 104 barcode: ${wcs-slave.barcode[9].id} barcode1: ${wcs-slave.barcode[10].id} barcode2: ${wcs-slave.barcode[11].id} barcode: ${wcs-slave.barcode[1].id} backSta: 103 led: ${wcs-slave.led[0].id} # 空板入库口1 @@ -215,136 +117,15 @@ # 拣料入库口1 pickSta[0]: staNo: 101 barcode: ${wcs-slave.barcode[6].id} barcode1: ${wcs-slave.barcode[7].id} barcode2: ${wcs-slave.barcode[8].id} barcode: ${wcs-slave.barcode[0].id} backSta: 100 led: ${wcs-slave.led[0].id} # 拣料入库口2 pickSta[1]: staNo: 104 barcode: ${wcs-slave.barcode[9].id} barcode1: ${wcs-slave.barcode[10].id} barcode2: ${wcs-slave.barcode[11].id} barcode: ${wcs-slave.barcode[1].id} backSta: 103 led: ${wcs-slave.led[0].id} # 输送线2 devp[1]: id: 2 ip: 10.10.10.90 port: 102 rack: 0 slot: 0 # 入库口1 inSta[0]: staNo: 111 barcode: ${wcs-slave.barcode[0].id} backSta: 110 led: ${wcs-slave.led[0].id} # 入库口2 inSta[1]: staNo: 114 barcode: ${wcs-slave.barcode[1].id} backSta: 113 led: ${wcs-slave.led[0].id} # 入库口3 inSta[2]: staNo: 201 barcode: ${wcs-slave.barcode[2].id} backSta: 200 led: ${wcs-slave.led[0].id} # 入库口4 inSta[3]: staNo: 204 barcode: ${wcs-slave.barcode[3].id} backSta: 203 led: ${wcs-slave.led[0].id} # 入库口5 inSta[4]: staNo: 301 barcode: ${wcs-slave.barcode[4].id} backSta: 300 led: ${wcs-slave.led[0].id} # 入库口6 inSta[5]: staNo: 304 barcode: ${wcs-slave.barcode[5].id} backSta: 303 led: ${wcs-slave.led[0].id} # 空板入库口1 emptyInSta[0]: staNo: 111 # 空板入库口2 emptyInSta[1]: staNo: 114 # 空板入库口3 emptyInSta[2]: staNo: 201 # 空板入库口4 emptyInSta[3]: staNo: 204 # 空板入库口5 emptyInSta[4]: staNo: 301 # 空板入库口6 emptyInSta[5]: staNo: 304 # 出库口1 outSta[0]: staNo: 110 # 出库口2 outSta[1]: staNo: 113 # 出库口3 outSta[2]: staNo: 200 # 出库口4 outSta[3]: staNo: 203 # 出库口5 outSta[4]: staNo: 300 # 出库口6 outSta[5]: staNo: 303 # 拣料入库口1 pickSta[0]: staNo: 111 barcode: ${wcs-slave.barcode[0].id} backSta: 110 led: ${wcs-slave.led[0].id} # 拣料入库口2 pickSta[1]: staNo: 114 barcode: ${wcs-slave.barcode[1].id} backSta: 113 led: ${wcs-slave.led[0].id} # 拣料入库口3 pickSta[2]: staNo: 201 barcode: ${wcs-slave.barcode[2].id} backSta: 200 led: ${wcs-slave.led[0].id} # 拣料入库口4 pickSta[3]: staNo: 204 barcode: ${wcs-slave.barcode[3].id} backSta: 203 led: ${wcs-slave.led[0].id} # 拣料入库口5 pickSta[4]: staNo: 301 barcode: ${wcs-slave.barcode[4].id} backSta: 300 led: ${wcs-slave.led[0].id} # 拣料入库口6 pickSta[5]: staNo: 304 barcode: ${wcs-slave.barcode[5].id} backSta: 303 led: ${wcs-slave.led[0].id} # 条码扫描仪1 左下 1楼开始,111 barcode[0]: id: 1 @@ -355,56 +136,6 @@ id: 2 ip: 10.10.10.101 port: 51236 # 条码扫描仪3, 201 barcode[2]: id: 3 ip: 10.10.10.102 port: 51236 # 条码扫描仪4,204 barcode[3]: id: 4 ip: 10.10.10.103 port: 51236 # 条码扫描仪5,301 barcode[4]: id: 5 ip: 10.10.10.104 port: 51236 # 条码扫描仪6,304 barcode[5]: id: 6 ip: 10.10.10.105 port: 51236 # 条码扫描仪7,101 barcode[6]: id: 7 ip: 10.10.10.106 port: 2002 # 条码扫描仪8,101 barcode[7]: id: 8 ip: 10.10.10.107 port: 2002 # 条码扫描仪9,101 barcode[8]: id: 9 ip: 10.10.10.108 port: 2002 # 条码扫描仪10,104 barcode[9]: id: 10 ip: 10.10.10.109 port: 2002 barcode[10]: id: 11 ip: 10.10.10.110 port: 2002 barcode[11]: id: 12 ip: 10.10.10.111 port: 2002 # LED1 led[0]: id: 1 @@ -419,45 +150,3 @@ port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 103 # LED3 led[2]: id: 3 ip: 10.10.10.223 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 110 # LED4 led[3]: id: 4 ip: 10.10.10.224 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 113 # LED5 led[4]: id: 5 ip: 10.10.10.225 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 200 # LED6 led[5]: id: 6 ip: 10.10.10.226 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 203 # LED7 led[6]: id: 7 ip: 10.10.10.227 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 300 # LED8 led[7]: id: 8 ip: 10.10.10.228 port: 5005 devpPlcId: ${wcs-slave.devp[1].id} staArr: 303 src/main/webapp/static/js/console.map.js
@@ -90,19 +90,10 @@ "stns": [ { "type": "stn", "id": "site-100", "text": "100", "id": "site-105", "text": "105", "top": 386, "left": 1067, "width": 78, "height": 24 }, { "type": "stn", "id": "site-101", "text": "101", "top": 386, "left": 1147, "width": 78, "height": 24 }, @@ -110,16 +101,7 @@ "type": "stn", "id": "site-102", "text": "102", "top": 412, "left": 1067, "width": 78, "height": 24 }, { "type": "stn", "id": "site-103", "text": "103", "top": 412, "top": 386, "left": 1147, "width": 78, "height": 24 @@ -128,6 +110,24 @@ "type": "stn", "id": "site-104", "text": "104", "top": 412, "left": 1067, "width": 78, "height": 24 }, { "type": "stn", "id": "site-101", "text": "101", "top": 412, "left": 1147, "width": 78, "height": 24 }, { "type": "stn", "id": "site-103", "text": "103", "top": 438, "left": 1067, "width": 78, @@ -135,8 +135,8 @@ }, { "type": "stn", "id": "site-105", "text": "105", "id": "site-100", "text": "100", "top": 438, "left": 1147, "width": 78, src/main/webapp/views/pipeline.html
@@ -60,36 +60,12 @@ <fieldset> <legend>入出库模式(IO-Mode)</legend> <div class="io-mode-box"> <label>1F1</label> <label>102</label> <button id="io-mode-1" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>1F2</label> <label>105</label> <button id="io-mode-2" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>1F3</label> <button id="io-mode-3" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>1F4</label> <button id="io-mode-4" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>2F1</label> <button id="io-mode-5" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>2F2</label> <button id="io-mode-6" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>3F1</label> <button id="io-mode-7" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> <div class="io-mode-box"> <label>3F2</label> <button id="io-mode-8" class="ioModeBtn" onclick="ioModeSwitch(this.id)"> - </button> </div> </fieldset> </div>