| | |
| | | </dependencies> |
| | | |
| | | <build> |
| | | <finalName>yhfzwcs</finalName> |
| | | <finalName>wcs</finalName> |
| | | <plugins> |
| | | <plugin> |
| | | <groupId>org.springframework.boot</groupId> |
| | |
| | | private boolean barcodeErr = false; |
| | | |
| | | // 货物高度 1.低 2.中 3.高 |
| | | private short goodsHeight; |
| | | private short goodsHeight = 0; |
| | | |
| | | //故障----------------------------------------------------------------------- |
| | | private Boolean breakerErr = false; //断路器故障 |
| | |
| | | News.error("堆垛机写入命令为空"); |
| | | return false; |
| | | } |
| | | // 向堆垛机发任务前的堆垛机状态 |
| | | try{ |
| | | OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24); |
| | | if (resultRead.IsSuccess) { |
| | | CrnCommand one = new CrnCommand(); |
| | | one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2)); |
| | | one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4)); |
| | | one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6)); |
| | | one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8)); |
| | | one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10)); |
| | | one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12)); |
| | | one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14)); |
| | | one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16)); |
| | | if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode()) |
| | | || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY()) |
| | | || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX()) |
| | | || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ()) |
| | | ){ |
| | | News.error("下发前:[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); |
| | | } else { |
| | | News.info("下发前:[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); |
| | | int writeAck = 0; |
| | | do { |
| | | OperateResult resultAck = siemensNet.Write("DB100.0", (short) 0); |
| | | if (resultAck.IsSuccess){ |
| | | Thread.sleep(200); |
| | | OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 2); |
| | | short ack = siemensNet.getByteTransform().TransInt16(resultRead.Content, 0); |
| | | if (ack != 0) { |
| | | writeAck++; |
| | | }else { |
| | | News.info("堆垛机命令下发[id:{}] >>>>> {}", slave.getId(), "ack复位完成"); |
| | | break; |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | News.error("堆垛机命令地址写入后回读出错"); |
| | | } |
| | | }while (writeAck <5); |
| | | |
| | | |
| | | command.setCrnNo(slave.getId()); |
| | | |
| | | // short[] array = new short[10]; |
| | | short[] array = new short[10]; |
| | | array[0] = command.getAckFinish(); // 任务完成确认位 |
| | | array[1] = command.getTaskNo(); // 任务号 |
| | |
| | | array[7] = command.getDestinationPosY(); // 目标位置列号 |
| | | array[8] = command.getDestinationPosZ(); // 目标位置层号 |
| | | array[9] = command.getCommand(); |
| | | // array[10] = 0; //备用1 |
| | | |
| | | |
| | | |
| | | OperateResult result = siemensNet.Write("DB100.0", array); |
| | | News.info("堆垛机命令下发[id:{}] >>>>> {}", slave.getId(), array); |
| | | |
| | | if (!result.IsSuccess) { |
| | | News.error("写入堆垛机plc数据失败,重新添加任务到队列 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command)); |
| | | MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command)); |
| | | Thread.sleep(100); |
| | | readStatus(); |
| | | return false; |
| | | } |
| | | News.info("堆垛机命令下发[id:{}] >>>>> {}", slave.getId(), array); |
| | | |
| | | //堆垛机任务写入后,回读一次,看是否成功 |
| | | Thread.sleep(200); |
| | | try{ |
| | | OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24); |
| | | if (resultRead.IsSuccess) { |
| | | CrnCommand one = new CrnCommand(); |
| | | one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2)); |
| | | one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4)); |
| | | one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6)); |
| | | one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8)); |
| | | one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10)); |
| | | one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12)); |
| | | one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14)); |
| | | one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16)); |
| | | one.setTraySize(siemensNet.getByteTransform().TransBool(resultRead.Content, 22)); |
| | | if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode()) |
| | | || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY()) |
| | | || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX()) |
| | | || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ()) |
| | | int writeCount1 = 1; |
| | | |
| | | ){ |
| | | try{ |
| | | News.error("堆垛机命令地址写入后回读失败[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); |
| | | }catch (Exception e){ |
| | | try{ |
| | | News.error("日志打印失败:===>>参数one报错 [id:{}],{}", slave.getId(), JSON.toJSON(command),JSON.toJSON(resultRead)); |
| | | }catch (Exception e1){ |
| | | News.error("日志打印失败:===>> [id:{}],{}", slave.getId(), JSON.toJSON(command)); |
| | | } |
| | | } |
| | | News.error("堆垛机命令回读失败后,重新添加任务到队列 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command)); |
| | | MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command)); |
| | | do { |
| | | try{ |
| | | if(!result.IsSuccess ){ |
| | | News.error("写入堆垛机plc数据失败,重新下发任务 写入直接失败 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount1); |
| | | // MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command)); |
| | | result = siemensNet.Write("DB100.0", array); |
| | | Thread.sleep(100); |
| | | readStatus(); |
| | | return false; |
| | | } else { |
| | | News.info("堆垛机命令地址写入后回读成功[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); |
| | | writeCount1++; |
| | | continue; |
| | | } |
| | | OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24); |
| | | if (resultRead.IsSuccess) { |
| | | CrnCommand one = new CrnCommand(); |
| | | one.setAckFinish(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0)); |
| | | one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2)); |
| | | one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4)); |
| | | one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6)); |
| | | one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8)); |
| | | one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10)); |
| | | one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12)); |
| | | one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14)); |
| | | one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16)); |
| | | one.setCommand(siemensNet.getByteTransform().TransInt16(resultRead.Content, 18)); |
| | | if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode()) |
| | | || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY()) |
| | | || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX()) |
| | | || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ()) |
| | | || !command.getCommand().equals(one.getCommand()) |
| | | || !command.getAckFinish().equals(one.getAckFinish()) |
| | | ){ |
| | | try{ |
| | | News.error("堆垛机命令地址写入后回读失败==>不一致[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); |
| | | }catch (Exception e){ |
| | | try{ |
| | | News.error("日志打印失败:===>>参数one报错 [id:{}],{}", slave.getId(), JSON.toJSON(command),JSON.toJSON(resultRead)); |
| | | }catch (Exception e1){ |
| | | News.error("日志打印失败:===>> [id:{}],{}", slave.getId(), JSON.toJSON(command)); |
| | | } |
| | | } |
| | | News.error("写入堆垛机plc数据失败,重新下发任务 回读不一致 ===>> [id:{}],{},[写入次数:{}]", slave.getId(), JSON.toJSON(command),writeCount1); |
| | | result = siemensNet.Write("DB100.0", array); |
| | | writeCount1++; |
| | | continue; |
| | | |
| | | } else { |
| | | News.info("堆垛机命令地址写入后回读成功[id:{}] >>>>> 写入[{}],===>>回读[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); |
| | | break; |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | News.error("堆垛机命令地址写入后回读出错,异常:"+e); |
| | | } |
| | | }catch (Exception e){ |
| | | News.error("堆垛机命令地址写入后回读出错"); |
| | | } |
| | | writeCount1++; |
| | | } while (writeCount1<6); |
| | | |
| | | |
| | | if (command.getAckFinish() == 0) { |
| | |
| | | if(result.IsSuccess){ |
| | | //堆垛机任务写入后,回读一次,看是否成功 |
| | | Thread.sleep(200); |
| | | log.info("堆垛机任务完成复位,此时堆垛机状态:"+crnProtocol.getStatusType()+",堆垛机id:"+crnProtocol.getCrnNo()); |
| | | OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.18", (short) 2); |
| | | if (resultRead.IsSuccess) { |
| | | commandFinish=siemensNet.getByteTransform().TransInt16(resultRead.Content, 0); |
| | |
| | | News.error("堆垛机任务确认位"+commandFinish+"写入数据与回读数据不一致!"+"循环执行次数:"+writeCount2+"次"); |
| | | }else{ |
| | | //任务命令写入成功 |
| | | News.info("堆垛机任务确认位"+commandFinish+"回读成功!"+"循环执行次数:"+writeCount2+"次"); |
| | | // News.info("堆垛机任务确认位"+commandFinish+"回读成功!"+"循环执行次数:"+writeCount2+"次"); |
| | | break; |
| | | } |
| | | }else { |
| | |
| | | } |
| | | }while (writeCount2<5); |
| | | } |
| | | } else { |
| | | BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class); |
| | | BasCrnp basCrnp = basCrnpService.selectById(slave.getId()); |
| | | basCrnp.setModiTime(new Date()); |
| | | basCrnpService.updateById(basCrnp); |
| | | } |
| | | |
| | | |
| | | try { |
| | | // 日志记录 |
| | |
| | | bean.insert(basCrnOpt); |
| | | } catch (Exception ignore) {} |
| | | |
| | | if (result.IsSuccess) { |
| | | if (result != null && result.IsSuccess) { |
| | | Thread.sleep(200); |
| | | this.readStatus(); |
| | | News.info("堆垛机命令下发[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); |
| | | // News.info("堆垛机命令下发[id:{}] >>>>> {}", slave.getId(), JSON.toJSON(command)); |
| | | OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); |
| | | return true; |
| | | } else { |
| | |
| | | private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); |
| | | private short heartBeatVal = 1; |
| | | private StaError1 staError1; |
| | | public static final ArrayList<Integer> staNos; |
| | | |
| | | static { |
| | | ArrayList<Integer> list = new ArrayList<>(); |
| | | for (int i = 1; i <= 48; i++) { |
| | | list.add(1000 + i); |
| | | } |
| | | for (int i = 9; i <= 40; i++) { |
| | | list.add(1100 + i); |
| | | } |
| | | list.add(1701); |
| | | list.add(1702); |
| | | staNos = list; // 不可修改,安全 |
| | | } |
| | | |
| | | public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{ |
| | | add(1); add(2);add(3); add(4);add(5); add(6);add(7); add(8); |
| | | |
| | | public static final ArrayList<Integer> staNos1= new ArrayList<Integer>() {{ |
| | | add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007);add(1008);add(1009);add(1010); |
| | | add(1011);add(1012);add(1013);add(1014);add(1015);add(1016);add(1017);add(1018);add(1019); |
| | | add(1020);add(1021);add(1022);add(1023);add(1024);add(1071); |
| | | }}; |
| | | public static final ArrayList<Integer> staNosErrList = new ArrayList<Integer>() {{ |
| | | add(104); add(106); |
| | | public static final ArrayList<Integer> staNos2= new ArrayList<Integer>() {{ |
| | | add(1025);add(1026);add(1027);add(1028);add(1029);add(1030);add(1031);add(1032);add(1033); |
| | | add(1034);add(1035);add(1036);add(1037);add(1039);add(1040);add(1041);add(1042);add(1043); |
| | | add(1044);add(1045);add(1046);add(1047);add(1048); |
| | | }}; |
| | | |
| | | /** |
| | | * 条码数量 |
| | | */ |
| | | private int barcodeSize = 2; |
| | | |
| | | public static final ArrayList<Integer> BarcodeList1 = new ArrayList<Integer>() {{ |
| | | add(1002); add(1004);add(1006); add(1008); |
| | | }}; |
| | | public static final ArrayList<Integer> BarcodeList2 = new ArrayList<Integer>() {{ |
| | | add(1041); add(1043);add(1045); add(1047); |
| | | }}; |
| | | |
| | | /** |
| | | * 入出库模式 |
| | |
| | | } |
| | | |
| | | private ArrayList<Integer> getStaNo() { |
| | | return staNos; |
| | | if (slave.getId() == 1){ |
| | | return staNos2; |
| | | }else { |
| | | return staNos1; |
| | | } |
| | | |
| | | } |
| | | private ArrayList<Integer> getBarcodeList() { |
| | | if (slave.getId() == 1){ |
| | | return BarcodeList2; |
| | | }else { |
| | | return BarcodeList1; |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | * 读取状态 ====> 整块plc |
| | | */ |
| | | private void read() { |
| | | |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | // 站点信息 |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (8*8)); |
| | | OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNos.size()*8)); |
| | | if (result.IsSuccess) { |
| | | for (int i = 0; i < staNos.size(); i++) { |
| | | Integer siteId = staNos.get(i); // 站点编号 |
| | |
| | | News.error("SiemensCrn"+" - 4"+" - 读取输送线plc状态信息失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); |
| | | return; |
| | | } |
| | | |
| | | ArrayList<Integer> barcodeList = getBarcodeList(); |
| | | // 条码扫描器 |
| | | OperateResultExOne<byte[]> barcodeResult = siemensS7Net.Read("DB101.400", (short) (BarcodeList.size() * 10)); |
| | | OperateResultExOne<byte[]> barcodeResult = siemensS7Net.Read("DB101.860", (short) (barcodeList.size() * 8)); |
| | | if (barcodeResult.IsSuccess) { |
| | | for (int i = 0; i < BarcodeList.size(); i++) { |
| | | String barcode = siemensS7Net.getByteTransform().TransString(barcodeResult.Content,i*10 + 2,8, "UTF-8"); |
| | | BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, BarcodeList.get(i)); |
| | | for (int i = 0; i < barcodeList.size(); i++) { |
| | | String barcode = siemensS7Net.getByteTransform().TransString(barcodeResult.Content,i*8 ,8, "UTF-8"); |
| | | BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeList.get(i)); |
| | | if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) { |
| | | barcodeThread.setBarcode(barcode); |
| | | } |
| | |
| | | } |
| | | |
| | | // 外形检测 |
| | | OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.430", (short) (staNosErrList.size() *4)); // 不连续,多读中间一个 |
| | | OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.800", (short) (barcodeList.size() *6)); // 不连续,多读中间一个 |
| | | if (resultErr.IsSuccess){ |
| | | for (int i = 0;i<staNosErrList.size();i++){ |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4, 1); |
| | | StaProtocol staProtocol = station.get(staNosErrList.get(i)); |
| | | for (int i = 0;i<barcodeList.size();i++){ |
| | | StaProtocol staProtocol = station.get(barcodeList.get(i)); |
| | | short goodsHeight = siemensS7Net.getByteTransform().TransInt16(resultErr.Content, i * 4); |
| | | staProtocol.setGoodsHeight(goodsHeight); |
| | | boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4+2, 1); |
| | | staProtocol.setFrontErr(status[0]); |
| | | staProtocol.setBackErr(status[1]); |
| | | staProtocol.setHighErr(status[2]); |
| | |
| | | staProtocol.setGroupSupportErr(status[5]); |
| | | staProtocol.setBarcodeErr(status[6]); |
| | | staProtocol.setWeightErr(status[7]); |
| | | short goodsHeight = siemensS7Net.getByteTransform().TransInt16(resultErr.Content, i * 4 + 2); |
| | | staProtocol.setGoodsHeight(goodsHeight); |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | if (null == staProtocol) { |
| | | return; |
| | | } |
| | | |
| | | int address = staNos.indexOf(staProtocol.getSiteId()) * 4; |
| | | ArrayList<Integer> staNos = getStaNo(); |
| | | int address = staNos.indexOf(staProtocol.getSiteId()) * 6; |
| | | |
| | | OperateResult write; |
| | | OperateResult write1; |
| | | //任务下发次数 |
| | | int writeCount = 0; |
| | | do { |
| | | write = siemensS7Net.Write("DB100." + address, staProtocol.getWorkNo().shortValue()); // 工作号 |
| | | write = siemensS7Net.Write("DB100." + address, staProtocol.getWorkNo()); // 工作号 |
| | | write1 = siemensS7Net.Write("DB100." + (address + 2), staProtocol.getStaNo()); // 目标站 |
| | | Thread.sleep(200); |
| | | if(write.IsSuccess && write1.IsSuccess){ |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | |
| | | @Value("${wms.url}") |
| | | private String wmsUrl; |
| | | |
| | | public Integer wrkNo = 9997; |
| | | @Autowired |
| | | private MainServiceImpl mainService; |
| | | |
| | | public Integer wrkNo = 10000; |
| | | |
| | | /** |
| | | * 组托 |
| | |
| | | if (back && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9998) && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()) { |
| | | MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); |
| | | staProtocol.setWorkNo(wrkNo); |
| | | wrkNo++; |
| | | News.info("{}入库回退:{},任务号:{}", inSta.getStaNo(), errMsg,wrkNo); |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | |
| | | } |
| | | } else { |
| | | staProtocol.setWorkNo(wrkNo); |
| | | wrkNo++; |
| | | staProtocol.setStaNo(inSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | |
| | | if (Cools.isEmpty(staDesc)) { |
| | | News.error(""+mark+" - 2"+" - 入库路径不存在!type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); |
| | | staProtocol.setWorkNo(wrkNo); |
| | | wrkNo++; |
| | | staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1)); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | |
| | | |
| | | // 更新站点信息 且 下发plc命令 |
| | | staProtocol.setWorkNo(dto.getWorkNo()); |
| | | staProtocol.setStaNo(staProtocol.getSiteId().shortValue()); |
| | | staProtocol.setStaNo(dto.getStaNo().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | log.error("输送线下发6:"+dto.getWorkNo()+","+staProtocol.getSiteId()); |
| | |
| | | } |
| | | } else { |
| | | staProtocol.setWorkNo(wrkNo); |
| | | wrkNo++; |
| | | staProtocol.setStaNo(emptyInSta.getBackSta().shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | |
| | | * 因双深库位阻塞,对浅库位进行移转(立即执行版) |
| | | * tip:同步 |
| | | */ |
| | | private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc,Integer mark) { |
| | | /** |
| | | * 因双深库位阻塞,对浅库位进行移转(立即执行版) |
| | | * tip:同步 |
| | | */ |
| | | private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark) { |
| | | |
| | | try { |
| | | News.warnNoLog(""+mark+"moveLocForDeepLoc"+" - 0"+" - 开始执行:因双深库位阻塞,对浅库位进行移转(立即执行版)"); |
| | | News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 开始执行:因双深库位阻塞,对浅库位进行移转(立即执行版)"); |
| | | List<Integer> rows = locMastService.queryDistinctRow(crn.getId()); |
| | | LocMast loc = null; |
| | | for (Integer row : rows) { |
| | |
| | | } |
| | | |
| | | if (null == loc) { |
| | | News.error(""+mark+"moveLocForDeepLoc"+" - 1"+" - 双深库位 --- 浅库位阻塞异常! 待移转浅库位:" + shallowLoc.getLocNo()); |
| | | News.error("" + mark + "moveLocForDeepLoc" + " - 1" + " - 双深库位 --- 浅库位阻塞异常! 待移转浅库位:" + shallowLoc.getLocNo()); |
| | | // throw new CoolException("双深库位 --- 浅库位阻塞异常! 待移转浅库位:" + shallowLoc.getLocNo()); |
| | | } else { |
| | | }else { |
| | | mainService.createMoveWrkMast(crn, shallowLoc, loc); |
| | | } |
| | | |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(0); |
| | | // 保存工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(new Date()); |
| | | wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID |
| | | wrkMast.setIoType(11); // 入出库状态: 11.库格移载 |
| | | wrkMast.setIoPri(13D); |
| | | wrkMast.setCrnNo(crn.getId()); |
| | | wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 源库位 |
| | | wrkMast.setLocNo(loc.getLocNo()); // 目标库位 |
| | | wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 满板 |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 空板 |
| | | wrkMast.setBarcode(shallowLoc.getBarcode()); // 托盘码 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setAppeTime(new Date()); |
| | | wrkMast.setModiTime(new Date()); |
| | | int res = wrkMastMapper.insert(wrkMast); |
| | | if (res == 0) { |
| | | News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 2" + " - 保存工作档失败"); |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | // 工作档明细保存 |
| | | if (shallowLoc.getLocSts().equals("F")) { |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); |
| | | for (LocDetl locDetl : locDetls) { |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setIoTime(new Date()); |
| | | wrkDetl.setAnfme(locDetl.getAnfme()); |
| | | VersionUtils.setWrkDetl(wrkDetl, locDetl); // 版本控制 |
| | | wrkDetl.setAppeTime(new Date()); |
| | | wrkDetl.setModiTime(new Date()); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 3" + " - 保存工作档明细失败"); |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | | } |
| | | } |
| | | // 修改源库位状态 |
| | | if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) { |
| | | shallowLoc.setLocSts("R"); // R.出库预约 |
| | | shallowLoc.setModiTime(new Date()); |
| | | if (!locMastService.updateById(shallowLoc)) { |
| | | News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 4" + " - 更新源库位状态失败"); |
| | | throw new CoolException("更新源库位状态失败"); |
| | | } |
| | | } else { |
| | | News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 5" + " - 源库位出库失败"); |
| | | throw new CoolException("源库位出库失败"); |
| | | } |
| | | // 修改目标库位状态 |
| | | if (loc.getLocSts().equals("O")) { |
| | | loc.setLocSts("S"); // S.入库预约 |
| | | loc.setModiTime(new Date()); |
| | | if (!locMastService.updateById(loc)) { |
| | | News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 6" + " - 更新目标库位状态失败"); |
| | | throw new CoolException("更新目标库位状态失败"); |
| | | } |
| | | } else { |
| | | News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 7" + " - 移转失败"); |
| | | throw new CoolException("移转失败"); |
| | | |
| | | } catch (Exception e) { |
| | | News.error("" + mark + "moveLocForDeepLoc" + " - 8" + " - 双深库位阻塞,对浅库位进行移转失败", e); |
| | | |
| | | } |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) |
| | | public synchronized void createMoveWrkMast(CrnSlave crn, LocMast shallowLoc, LocMast loc) { |
| | | // 获取工作号 |
| | | int workNo = commonService.getWorkNo(0); |
| | | // 保存工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(new Date()); |
| | | wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID |
| | | wrkMast.setIoType(11); // 入出库状态: 11.库格移载 |
| | | wrkMast.setIoPri(13D); |
| | | wrkMast.setCrnNo(crn.getId()); |
| | | wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 源库位 |
| | | wrkMast.setLocNo(loc.getLocNo()); // 目标库位 |
| | | wrkMast.setFullPlt(shallowLoc.getLocSts().equals("F") ? "Y" : "N"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 空板 |
| | | wrkMast.setBarcode(shallowLoc.getBarcode()); // 托盘码 |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setAppeTime(new Date()); |
| | | wrkMast.setModiTime(new Date()); |
| | | int res = wrkMastMapper.insert(wrkMast); |
| | | if (res == 0) { |
| | | News.errorNoLog("" + "moveLocForDeepLoc" + " - 2" + " - 保存工作档失败"); |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | // 工作档明细保存 |
| | | if (shallowLoc.getLocSts().equals("F")) { |
| | | List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); |
| | | for (LocDetl locDetl : locDetls) { |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setIoTime(new Date()); |
| | | wrkDetl.setAnfme(locDetl.getAnfme()); |
| | | VersionUtils.setWrkDetl(wrkDetl, locDetl); // 版本控制 |
| | | wrkDetl.setAppeTime(new Date()); |
| | | wrkDetl.setModiTime(new Date()); |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | News.errorNoLog("" + "moveLocForDeepLoc" + " - 3" + " - 保存工作档明细失败"); |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | News.error(""+mark+"moveLocForDeepLoc"+" - 8"+" - 双深库位阻塞,对浅库位进行移转失败", e); |
| | | e.printStackTrace(); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | // 修改源库位状态 |
| | | if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) { |
| | | shallowLoc.setLocSts("R"); // R.出库预约 |
| | | shallowLoc.setModiTime(new Date()); |
| | | if (!locMastService.updateById(shallowLoc)) { |
| | | News.errorNoLog("" + "moveLocForDeepLoc" + " - 4" + " - 更新源库位状态失败"); |
| | | throw new CoolException("更新源库位状态失败"); |
| | | } |
| | | } else { |
| | | News.errorNoLog("" + "moveLocForDeepLoc" + " - 5" + " - 源库位出库失败"); |
| | | throw new CoolException("源库位出库失败"); |
| | | } |
| | | // 修改目标库位状态 |
| | | if (loc.getLocSts().equals("O")) { |
| | | loc.setLocSts("S"); // S.入库预约 |
| | | loc.setModiTime(new Date()); |
| | | if (!locMastService.updateById(loc)) { |
| | | News.errorNoLog("" + "moveLocForDeepLoc" + " - 6" + " - 更新目标库位状态失败"); |
| | | throw new CoolException("更新目标库位状态失败"); |
| | | } |
| | | } else { |
| | | News.errorNoLog("" + "moveLocForDeepLoc" + " - 7" + " - 移转失败"); |
| | | throw new CoolException("移转失败"); |
| | | } |
| | | } |
| | | |
| New file |
| | |
| | | server: |
| | | port: 9090 |
| | | servlet: |
| | | context-path: /@pom.build.finalName@ |
| | | |
| | | spring: |
| | | application: |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://127.0.0.1:1433;databasename=yhfzasrs |
| | | username: sa |
| | | password: sa@12345 |
| | | mvc: |
| | | static-path-pattern: /** |
| | | redis: |
| | | host: localhost |
| | | port: 6379 |
| | | database: 0 |
| | | # password: xltys1995 |
| | | |
| | | mybatis-plus: |
| | | mapper-locations: classpath:mapper/*.xml |
| | | # global-config: |
| | | # field-strategy: 0 |
| | | |
| | | logging: |
| | | path: /stock/out/@pom.build.finalName@/logs |
| | | |
| | | super: |
| | | pwd: xltys1995 |
| | | |
| | | swagger: |
| | | enable: false |
| | | |
| | | wms: |
| | | url: 127.0.0.1:8080/wms |
| | | |
| | | # 下位机配置 |
| | | wcs-slave: |
| | | # 双深 |
| | | doubleDeep: true |
| | | # 双深库位排号 |
| | | doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32 |
| | | # 一个堆垛机负责的货架排数 |
| | | groupCount: 4 |
| | | |
| | | # 堆垛机1 |
| | | crn[0]: |
| | | id: 1 |
| | | ip: 10.10.10.10 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 104 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 102 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 104 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 102 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机2 |
| | | crn[1]: |
| | | id: 2 |
| | | ip: 10.10.10.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机3 |
| | | crn[2]: |
| | | id: 3 |
| | | ip: 10.10.10.30 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机4 |
| | | crn[3]: |
| | | id: 4 |
| | | ip: 10.10.10.40 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 1032 |
| | | row: 15 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 1031 |
| | | row: 14 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机5 |
| | | crn[4]: |
| | | id: 5 |
| | | ip: 10.10.10.50 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机6 |
| | | crn[5]: |
| | | id: 6 |
| | | ip: 10.10.10.60 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机7 |
| | | crn[6]: |
| | | id: 7 |
| | | ip: 10.10.10.70 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机8 |
| | | crn[7]: |
| | | id: 8 |
| | | ip: 10.10.10.80 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | |
| | | # 输送线1 原点侧输送线 |
| | | devp[0]: |
| | | id: 1 |
| | | ip: 10.10.10.120 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | #西面 |
| | | # 入库口1 |
| | | inSta[0]: |
| | | staNo: 1026 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 1041 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 1042 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口2 |
| | | inSta[1]: |
| | | staNo: 1028 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1043 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 出库口2 |
| | | outSta[1]: |
| | | staNo: 1044 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口3 |
| | | inSta[2]: |
| | | staNo: 1038 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | backSta: 1045 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 出库口3 |
| | | outSta[2]: |
| | | staNo: 1046 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 入库口4 |
| | | inSta[3]: |
| | | staNo: 1040 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | backSta: 1047 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 出库口4 |
| | | outSta[3]: |
| | | staNo: 1048 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 1026 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 1041 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口2 |
| | | emptyInSta[1]: |
| | | staNo: 1028 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1043 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口3 |
| | | emptyInSta[2]: |
| | | staNo: 1038 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | backSta: 1045 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 空板入库口4 |
| | | emptyInSta[3]: |
| | | staNo: 1040 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | backSta: 1047 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 1026 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 1041 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口2 |
| | | pickSta[1]: |
| | | staNo: 1028 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1043 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口3 |
| | | pickSta[2]: |
| | | staNo: 1038 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | backSta: 1045 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 拣料入库口4 |
| | | pickSta[3]: |
| | | staNo: 1040 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | backSta: 1047 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 输送线2 反原点侧输送线 |
| | | #东面 |
| | | devp[1]: |
| | | id: 2 |
| | | ip: 10.10.10.140 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | #东面 |
| | | # 入库口5 |
| | | inSta[0]: |
| | | staNo: 1015 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1002 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 出库口5 |
| | | outSta[0]: |
| | | staNo: 1001 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 入库口6 |
| | | inSta[1]: |
| | | staNo: 1017 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1004 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 出库口6 |
| | | outSta[1]: |
| | | staNo: 1003 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 入库口7 |
| | | inSta[2]: |
| | | staNo: 1019 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1006 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 出库口7 |
| | | outSta[2]: |
| | | staNo: 1005 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 入库口8 |
| | | inSta[3]: |
| | | staNo: 1021 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1008 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 出库口8 |
| | | outSta[3]: |
| | | staNo: 1007 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 1015 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1002 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 空板入库口2 |
| | | emptyInSta[1]: |
| | | staNo: 1017 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1004 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 空板入库口3 |
| | | emptyInSta[2]: |
| | | staNo: 1019 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1006 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 空板入库口4 |
| | | emptyInSta[3]: |
| | | staNo: 1021 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1008 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 1015 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1002 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 拣料入库口2 |
| | | pickSta[1]: |
| | | staNo: 1017 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1004 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 拣料入库口3 |
| | | pickSta[2]: |
| | | staNo: 1019 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1006 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 拣料入库口4 |
| | | pickSta[3]: |
| | | staNo: 1021 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1008 |
| | | led: ${wcs-slave.led[3].id} |
| | | |
| | | |
| | | |
| | | # 条码扫描仪1 |
| | | barcode[0]: |
| | | id: 1 |
| | | ip: 10.10.10.122 |
| | | port: 51236 |
| | | # 条码扫描仪2 |
| | | barcode[1]: |
| | | id: 2 |
| | | ip: 10.10.10.123 |
| | | port: 51236 |
| | | # 条码扫描仪3 |
| | | barcode[2]: |
| | | id: 3 |
| | | ip: 10.10.10.124 |
| | | port: 51236 |
| | | # 条码扫描仪4 |
| | | barcode[3]: |
| | | id: 4 |
| | | ip: 10.10.10.125 |
| | | port: 51236 |
| | | # 条码扫描仪5 |
| | | barcode[4]: |
| | | id: 5 |
| | | ip: 10.10.10.142 |
| | | port: 51236 |
| | | # 条码扫描仪6 |
| | | barcode[5]: |
| | | id: 6 |
| | | ip: 10.10.10.143 |
| | | port: 51236 |
| | | # 条码扫描仪7 |
| | | barcode[6]: |
| | | id: 7 |
| | | ip: 10.10.10.144 |
| | | port: 51236 |
| | | # 条码扫描仪8 |
| | | barcode[7]: |
| | | id: 8 |
| | | ip: 10.10.10.145 |
| | | port: 51236 |
| | | |
| | | # LED1 |
| | | led[0]: |
| | | id: 1 |
| | | ip: 10.10.10.160 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 101 |
| | | crnId: 1 |
| | | # LED2 |
| | | led[1]: |
| | | id: 2 |
| | | ip: 10.10.10.161 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 104 |
| | | crnId: 1 |
| | | # LED3 |
| | | led[2]: |
| | | id: 3 |
| | | ip: 10.10.10.162 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 106 |
| | | crnId: 2 |
| | | # LED4 |
| | | led[3]: |
| | | id: 4 |
| | | ip: 10.10.10.163 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | # LED5 |
| | | led[4]: |
| | | id: 5 |
| | | ip: 10.10.10.164 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | # LED6 |
| | | led[5]: |
| | | id: 6 |
| | | ip: 10.10.10.165 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| New file |
| | |
| | | server: |
| | | port: 9090 |
| | | servlet: |
| | | context-path: /@pom.build.finalName@ |
| | | |
| | | spring: |
| | | application: |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://127.0.0.1:1433;databasename=yhfzasrs |
| | | username: sa |
| | | password: sa@12345 |
| | | mvc: |
| | | static-path-pattern: /** |
| | | redis: |
| | | host: localhost |
| | | port: 6379 |
| | | database: 0 |
| | | # password: xltys1995 |
| | | |
| | | mybatis-plus: |
| | | mapper-locations: classpath:mapper/*.xml |
| | | # global-config: |
| | | # field-strategy: 0 |
| | | |
| | | logging: |
| | | path: /stock/out/@pom.build.finalName@/logs |
| | | |
| | | super: |
| | | pwd: xltys1995 |
| | | |
| | | swagger: |
| | | enable: false |
| | | |
| | | wms: |
| | | url: 127.0.0.1:8080/wms |
| | | |
| | | # 下位机配置 |
| | | wcs-slave: |
| | | # 双深 |
| | | doubleDeep: true |
| | | # 双深库位排号 |
| | | doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32 |
| | | # 一个堆垛机负责的货架排数 |
| | | groupCount: 4 |
| | | |
| | | # 堆垛机1 |
| | | crn[0]: |
| | | id: 1 |
| | | ip: 10.10.10.10 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 104 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 102 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机入库站点 |
| | | crnInStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 104 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[1]: |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staNo: 102 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机2 |
| | | crn[1]: |
| | | id: 2 |
| | | ip: 10.10.10.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机3 |
| | | crn[2]: |
| | | id: 3 |
| | | ip: 10.10.10.30 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机4 |
| | | crn[3]: |
| | | id: 4 |
| | | ip: 10.10.10.40 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机5 |
| | | crn[4]: |
| | | id: 5 |
| | | ip: 10.10.10.50 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机6 |
| | | crn[5]: |
| | | id: 6 |
| | | ip: 10.10.10.60 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机7 |
| | | crn[6]: |
| | | id: 7 |
| | | ip: 10.10.10.70 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机8 |
| | | crn[7]: |
| | | id: 8 |
| | | ip: 10.10.10.80 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | |
| | | # 输送线1 原点侧输送线 |
| | | devp[0]: |
| | | id: 1 |
| | | ip: 10.10.10.120 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | #西面 |
| | | # 入库口1 |
| | | inSta[0]: |
| | | staNo: 1026 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 1041 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 1042 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口2 |
| | | inSta[1]: |
| | | staNo: 1028 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1043 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 出库口2 |
| | | outSta[1]: |
| | | staNo: 1044 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口3 |
| | | inSta[2]: |
| | | staNo: 1038 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | backSta: 1045 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 出库口3 |
| | | outSta[2]: |
| | | staNo: 1046 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 入库口4 |
| | | inSta[3]: |
| | | staNo: 1040 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | backSta: 1047 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 出库口4 |
| | | outSta[3]: |
| | | staNo: 1048 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 1026 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 1041 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口2 |
| | | emptyInSta[1]: |
| | | staNo: 1028 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1043 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口3 |
| | | emptyInSta[2]: |
| | | staNo: 1038 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | backSta: 1045 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 空板入库口4 |
| | | emptyInSta[3]: |
| | | staNo: 1040 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | backSta: 1047 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 1026 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 1041 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口2 |
| | | pickSta[1]: |
| | | staNo: 1028 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1043 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口3 |
| | | pickSta[2]: |
| | | staNo: 1038 |
| | | barcode: ${wcs-slave.barcode[2].id} |
| | | backSta: 1045 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 拣料入库口4 |
| | | pickSta[3]: |
| | | staNo: 1040 |
| | | barcode: ${wcs-slave.barcode[3].id} |
| | | backSta: 1047 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 输送线2 反原点侧输送线 |
| | | #东面 |
| | | devp[1]: |
| | | id: 2 |
| | | ip: 10.10.10.140 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | #东面 |
| | | # 入库口5 |
| | | inSta[0]: |
| | | staNo: 1015 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1002 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 出库口5 |
| | | outSta[0]: |
| | | staNo: 1001 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 入库口6 |
| | | inSta[1]: |
| | | staNo: 1017 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1004 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 出库口6 |
| | | outSta[1]: |
| | | staNo: 1003 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 入库口7 |
| | | inSta[2]: |
| | | staNo: 1019 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1006 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 出库口7 |
| | | outSta[2]: |
| | | staNo: 1005 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 入库口8 |
| | | inSta[3]: |
| | | staNo: 1021 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1008 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 出库口8 |
| | | outSta[3]: |
| | | staNo: 1007 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 1015 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1002 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 空板入库口2 |
| | | emptyInSta[1]: |
| | | staNo: 1017 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1004 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 空板入库口3 |
| | | emptyInSta[2]: |
| | | staNo: 1019 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1006 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 空板入库口4 |
| | | emptyInSta[3]: |
| | | staNo: 1021 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1008 |
| | | led: ${wcs-slave.led[3].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 1015 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1002 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 拣料入库口2 |
| | | pickSta[1]: |
| | | staNo: 1017 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1004 |
| | | led: ${wcs-slave.led[5].id} |
| | | # 拣料入库口3 |
| | | pickSta[2]: |
| | | staNo: 1019 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1006 |
| | | led: ${wcs-slave.led[4].id} |
| | | # 拣料入库口4 |
| | | pickSta[3]: |
| | | staNo: 1021 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 1008 |
| | | led: ${wcs-slave.led[3].id} |
| | | |
| | | |
| | | |
| | | # 条码扫描仪1 |
| | | barcode[0]: |
| | | id: 1 |
| | | ip: 10.10.10.122 |
| | | port: 51236 |
| | | # 条码扫描仪2 |
| | | barcode[1]: |
| | | id: 2 |
| | | ip: 10.10.10.123 |
| | | port: 51236 |
| | | # 条码扫描仪3 |
| | | barcode[2]: |
| | | id: 3 |
| | | ip: 10.10.10.124 |
| | | port: 51236 |
| | | # 条码扫描仪4 |
| | | barcode[3]: |
| | | id: 4 |
| | | ip: 10.10.10.125 |
| | | port: 51236 |
| | | # 条码扫描仪5 |
| | | barcode[4]: |
| | | id: 5 |
| | | ip: 10.10.10.142 |
| | | port: 51236 |
| | | # 条码扫描仪6 |
| | | barcode[5]: |
| | | id: 6 |
| | | ip: 10.10.10.143 |
| | | port: 51236 |
| | | # 条码扫描仪7 |
| | | barcode[6]: |
| | | id: 7 |
| | | ip: 10.10.10.144 |
| | | port: 51236 |
| | | # 条码扫描仪8 |
| | | barcode[7]: |
| | | id: 8 |
| | | ip: 10.10.10.145 |
| | | port: 51236 |
| | | |
| | | # LED1 |
| | | led[0]: |
| | | id: 1 |
| | | ip: 10.10.10.160 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 101 |
| | | crnId: 1 |
| | | # LED2 |
| | | led[1]: |
| | | id: 2 |
| | | ip: 10.10.10.161 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 104 |
| | | crnId: 1 |
| | | # LED3 |
| | | led[2]: |
| | | id: 3 |
| | | ip: 10.10.10.162 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 106 |
| | | crnId: 2 |
| | | # LED4 |
| | | led[3]: |
| | | id: 4 |
| | | ip: 10.10.10.163 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | # LED5 |
| | | led[4]: |
| | | id: 5 |
| | | ip: 10.10.10.164 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | # LED6 |
| | | led[5]: |
| | | id: 6 |
| | | ip: 10.10.10.165 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[1].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | |
| | | server: |
| | | port: 9090 |
| | | servlet: |
| | | context-path: /@pom.build.finalName@ |
| | | |
| | | spring: |
| | | application: |
| | | name: @pom.build.finalName@ |
| | | datasource: |
| | | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| | | url: jdbc:sqlserver://127.0.0.1:1433;databasename=yhfzasrs |
| | | username: sa |
| | | password: sa@123 |
| | | mvc: |
| | | static-path-pattern: /** |
| | | redis: |
| | | host: localhost |
| | | port: 6379 |
| | | database: 0 |
| | | # password: xltys1995 |
| | | |
| | | mybatis-plus: |
| | | mapper-locations: classpath:mapper/*.xml |
| | | # global-config: |
| | | # field-strategy: 0 |
| | | |
| | | logging: |
| | | path: /stock/out/@pom.build.finalName@/logs |
| | | |
| | | super: |
| | | pwd: xltys1995 |
| | | |
| | | swagger: |
| | | enable: false |
| | | |
| | | wms: |
| | | url: 127.0.0.1:8080/yhfzwms |
| | | |
| | | # 下位机配置 |
| | | wcs-slave: |
| | | # 双深 |
| | | doubleDeep: true |
| | | # 双深库位排号 |
| | | doubleLocs: 1,4,5,8,9,12,13,16,17,20,21,24,25,28,29,32 |
| | | # 一个堆垛机负责的货架排数 |
| | | groupCount: 4 |
| | | |
| | | # 堆垛机1 |
| | | crn[0]: |
| | | id: 1 |
| | | ip: 192.168.5.10 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 104 |
| | | row: 3 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 102 |
| | | row: 2 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机2 |
| | | crn[1]: |
| | | id: 2 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机3 |
| | | crn[2]: |
| | | id: 3 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机4 |
| | | crn[3]: |
| | | id: 4 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机5 |
| | | crn[4]: |
| | | id: 5 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机6 |
| | | crn[5]: |
| | | id: 6 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机7 |
| | | crn[6]: |
| | | id: 7 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机8 |
| | | crn[7]: |
| | | id: 8 |
| | | ip: 192.168.5.20 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 偏移量,当堆垛机站点列号=1时,偏移量=2 |
| | | offset: 2 |
| | | demo: false |
| | | # 堆垛机入库站点 |
| | | crnInStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 106 |
| | | row: 6 |
| | | bay: 1 |
| | | lev: 1 |
| | | # 堆垛机出库站点 |
| | | crnOutStn[0]: |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staNo: 108 |
| | | row: 7 |
| | | bay: 1 |
| | | lev: 1 |
| | | |
| | | # 输送线1 |
| | | devp[0]: |
| | | id: 1 |
| | | ip: 192.168.5.40 |
| | | port: 102 |
| | | rack: 0 |
| | | slot: 0 |
| | | # 入库口1 |
| | | inSta[0]: |
| | | staNo: 104 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 103 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 入库口2 |
| | | inSta[1]: |
| | | staNo: 106 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 105 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 空板入库口1 |
| | | emptyInSta[0]: |
| | | staNo: 104 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 103 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 空板入库口2 |
| | | emptyInSta[1]: |
| | | staNo: 106 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 105 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 拣料入库口1 |
| | | pickSta[0]: |
| | | staNo: 104 |
| | | barcode: ${wcs-slave.barcode[0].id} |
| | | backSta: 103 |
| | | led: ${wcs-slave.led[1].id} |
| | | # 拣料入库口2 |
| | | pickSta[1]: |
| | | staNo: 106 |
| | | barcode: ${wcs-slave.barcode[1].id} |
| | | backSta: 105 |
| | | led: ${wcs-slave.led[2].id} |
| | | # 出库口1 |
| | | outSta[0]: |
| | | staNo: 101 |
| | | led: ${wcs-slave.led[0].id} |
| | | # 出库口2 |
| | | outSta[1]: |
| | | staNo: 107 |
| | | led: ${wcs-slave.led[3].id} |
| | | |
| | | # 条码扫描仪1 |
| | | barcode[0]: |
| | | id: 1 |
| | | ip: 192.168.5.42 |
| | | port: 51236 |
| | | # 条码扫描仪2 |
| | | barcode[1]: |
| | | id: 2 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | # 条码扫描仪3 |
| | | barcode[2]: |
| | | id: 3 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | # 条码扫描仪4 |
| | | barcode[3]: |
| | | id: 4 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | # 条码扫描仪5 |
| | | barcode[4]: |
| | | id: 5 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | # 条码扫描仪6 |
| | | barcode[5]: |
| | | id: 6 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | # 条码扫描仪7 |
| | | barcode[6]: |
| | | id: 7 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | # 条码扫描仪8 |
| | | barcode[7]: |
| | | id: 8 |
| | | ip: 192.168.5.43 |
| | | port: 51236 |
| | | |
| | | # LED1 |
| | | led[0]: |
| | | id: 1 |
| | | ip: 192.168.5.104 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 101 |
| | | crnId: 1 |
| | | # LED2 |
| | | led[1]: |
| | | id: 2 |
| | | ip: 192.168.5.105 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 104 |
| | | crnId: 1 |
| | | # LED3 |
| | | led[2]: |
| | | id: 3 |
| | | ip: 192.168.5.106 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 106 |
| | | crnId: 2 |
| | | # LED4 |
| | | led[3]: |
| | | id: 4 |
| | | ip: 192.168.5.107 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | # LED5 |
| | | led[4]: |
| | | id: 5 |
| | | ip: 192.168.5.107 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | # LED6 |
| | | led[5]: |
| | | id: 6 |
| | | ip: 192.168.5.107 |
| | | port: 5005 |
| | | devpPlcId: ${wcs-slave.devp[0].id} |
| | | staArr: 107 |
| | | crnId: 2 |
| | | profiles: |
| | | active: dev |
| | |
| | | var baseUrl = "/yhfzwcs"; |
| | | var baseUrl = "/wcs"; |
| | | |
| | | // 赋值 |
| | | function setVal(el, val) { |