| | |
| | | return null; |
| | | } |
| | | |
| | | // /** |
| | | // * 绑定小车方法 |
| | | // */ |
| | | // public synchronized void rgvBindSte() { |
| | | // //获取等待绑定RGV的任务 |
| | | // List<WrkMast> wrkMasts = wrkMastMapper.selectWaitBindRGV(); |
| | | // for (WrkMast wrkMast : wrkMasts) { |
| | | // //目标站 |
| | | // Integer staNo = wrkMast.getStaNo(); |
| | | // //源站 |
| | | // Integer sourceStaNo = wrkMast.getSourceStaNo(); |
| | | // //通过目标站搜索rgv号 |
| | | // Integer rgvNo=0; |
| | | // if (wrkMast.getCrnNo()==1){ |
| | | // rgvNo=1; |
| | | // }else if (wrkMast.getCrnNo()==6){ |
| | | // rgvNo=2; |
| | | // }else { |
| | | // rgvNo = this.searchRgvNo(staNo); |
| | | // } |
| | | // if (rgvNo == null || rgvNo==0) {//未找到可用的rgv |
| | | // continue; |
| | | // } |
| | | // |
| | | // wrkMast.setRgvNo(rgvNo);//绑定rgv号 |
| | | // wrkMast.setRgvDstaNo(wrkMast.getSourceStaNo());//设置RGV前往工作档源站取货 |
| | | // if (wrkMastMapper.updateById(wrkMast)==0){ |
| | | // log.error("绑定小车更新工作档失败!!! [工作号:{}]", wrkMast.getWrkNo()); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | /** |
| | | * 绑定小车方法 |
| | | */ |
| | | public synchronized void rgvBindSte() { |
| | | //获取等待绑定RGV的任务 |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectWaitBindRGV(); |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | //目标站 |
| | | Integer staNo = wrkMast.getStaNo(); |
| | | //源站 |
| | | Integer sourceStaNo = wrkMast.getSourceStaNo(); |
| | | //通过目标站搜索rgv号 |
| | | Integer rgvNo = this.searchRgvNo(staNo); |
| | | if (rgvNo == null) {//未找到可用的rgv |
| | | try { |
| | | // 根据输送线plc遍历 |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | if (devp.getId()==2){ |
| | | continue; |
| | | } |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | //入库绑小车 |
| | | for (DevpSlave.Sta Sta : devp.getInRgvSta()) { |
| | | StaProtocol staProtocol = devpThread.getStation().get(Sta.getStaNo()); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() != 0 && staProtocol.getWorkNo() < 9990){ |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectList(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).eq("wrk_sts", 2L)); |
| | | if (Cools.isEmpty(wrkMasts) || wrkMasts.size()!=1){ |
| | | continue; |
| | | } |
| | | WrkMast wrkMast = wrkMasts.get(0); |
| | | //目标站 |
| | | Integer staNo = wrkMast.getStaNo(); |
| | | //通过目标站搜索rgv号 |
| | | Integer rgvNo=0; |
| | | if (wrkMast.getCrnNo()==1){ |
| | | rgvNo=1; |
| | | }else if (wrkMast.getCrnNo()==6){ |
| | | rgvNo=2; |
| | | }else { |
| | | rgvNo = this.searchRgvNo(staNo); |
| | | } |
| | | if (rgvNo == null || rgvNo==0) {//未找到可用的rgv |
| | | continue; |
| | | } |
| | | wrkMast.setRgvNo(rgvNo);//绑定rgv号 |
| | | if (wrkMastMapper.updateById(wrkMast)==0){ |
| | | log.error("绑定小车更新工作档失败!!! [工作号:{}]", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } |
| | | //出库绑小车 |
| | | for (DevpSlave.Sta Sta : devp.getOutRgvSta()) { |
| | | StaProtocol staProtocol = devpThread.getStation().get(Sta.getStaNo()); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() != 0 && staProtocol.getWorkNo() < 9990){ |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectList(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getWorkNo()).eq("wrk_sts", 14L)); |
| | | if (Cools.isEmpty(wrkMasts) || wrkMasts.size()!=1){ |
| | | continue; |
| | | } |
| | | WrkMast wrkMast = wrkMasts.get(0); |
| | | //目标站 |
| | | Integer staNo = wrkMast.getStaNo(); |
| | | //通过目标站搜索rgv号 |
| | | Integer rgvNo=0; |
| | | if (wrkMast.getCrnNo()==1){ |
| | | rgvNo=1; |
| | | }else if (wrkMast.getCrnNo()==6){ |
| | | rgvNo=2; |
| | | }else { |
| | | rgvNo = this.searchRgvNo(staNo); |
| | | } |
| | | if (rgvNo == null || rgvNo==0) {//未找到可用的rgv |
| | | continue; |
| | | } |
| | | wrkMast.setRgvNo(rgvNo);//绑定rgv号 |
| | | if (wrkMastMapper.updateById(wrkMast)==0){ |
| | | log.error("绑定小车更新工作档失败!!! [工作号:{}]", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("绑定小车异常:{}", e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 绑定小车方法 |
| | | */ |
| | | public synchronized void rgvBindSte2() { |
| | | for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectWaitBindRGVRgvNo(rgv.getId()); |
| | | if (!Cools.isEmpty(wrkMasts) && wrkMasts.size()!=0){ |
| | | continue; |
| | | } |
| | | |
| | | wrkMast.setRgvNo(rgvNo);//绑定rgv号 |
| | | wrkMast.setRgvDstaNo(wrkMast.getSourceStaNo());//设置RGV前往工作档源站取货 |
| | | if (wrkMastMapper.updateById(wrkMast)==0){ |
| | | log.error("绑定小车更新工作档失败!!! [工作号:{}]", wrkMast.getWrkNo()); |
| | | List<WrkMast> wrkMasts2 = wrkMastMapper.selectWaitBindRgvNo2(rgv.getId()); |
| | | for (WrkMast wrkMast : wrkMasts2) { |
| | | if (wrkMastMapper.selectWaitBindRgvNoOneWrkNo(wrkMast.getWrkNo())!=null){ |
| | | continue; |
| | | } |
| | | //目标站 |
| | | BasDevp basDevp = basDevpService.selectById(wrkMast.getRgvDstaNo()); |
| | | if (Cools.isEmpty(basDevp) || !basDevp.getAutoing().equals("Y") || !basDevp.getLoading().equals("N") || basDevp.getWrkNo()!=0){ |
| | | continue; |
| | | } |
| | | wrkMastMapper.insertRgvMast(wrkMast.getWrkNo()); |
| | | wrkMastMapper.updateRgvMast(wrkMast.getWrkNo()); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 入出库 ===>> RGV入出库作业下发 |
| | | */ |
| | | public synchronized void rgvIoExecute() { |
| | | public synchronized void rgvIoExecuteOld() { |
| | | for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | // 获取RGV信息 |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); |
| | |
| | | && rgvProtocol.getModeType() == RgvModeType.AUTO |
| | | // && rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 |
| | | // && rgvProtocol.getLoaded1() == 0 && rgvProtocol.getLoaded2() == 0 |
| | | ) { |
| | | ) { |
| | | |
| | | //查找是否存在入出库工作中等待RGV搬运的任务 |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectIoRgvNo(rgv.getId()); |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | if (wrkMast.getWrkSts() == 2) {//2.设备上走1 => 3.RGV取货中 |
| | | if (rgvProtocol.getTaskNo1() != 0 || rgvProtocol.getLoaded1() != 0) {//RGV是否无任务、RGV是否无货 |
| | | continue; |
| | | } |
| | | |
| | | //判断行走路径是否被占用 |
| | | Integer staNo = wrkMast.getSourceStaNo(); |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp == null) { |
| | | continue;//目标站不存在 |
| | | } |
| | | //起始路径 |
| | | int startPath = rgvProtocol.getRgvPos().intValue(); |
| | | //目标路径值 |
| | | int endPath = basDevp.getLocType3().intValue(); |
| | | // boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//判断行走路径是否被占用 |
| | | boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//判断行走路径是否被占用 |
| | | if (pathUsed) { |
| | | //行走路径被占用,禁止下发命令 |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | | rgvCommand.setRgvNo(wrkMast.getRgvNo()); // RGV编号 |
| | | rgvCommand.setAckFinish1((short) 0); // 工位1任务完成确认位 |
| | | rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue()); // 工位1工作号 |
| | | rgvCommand.setTaskMode1(RgvTaskModeType.FETCH); // 工位1任务模式: 取货 |
| | | rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //工位1目标站点 |
| | | rgvCommand.setCommand((short) 1); //工位1任务确认 |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getRgvNo(), new Task(4, rgvCommand))) { |
| | | //step=2,工位1、2写任务; step=4,工位1写任务; step=5,工位2写任务 |
| | | log.error("RGV命令下发失败,RGV号={},任务数据={}", wrkMast.getRgvNo(), JSON.toJSON(rgvCommand)); |
| | | } else { |
| | | // 修改工作档状态 2.设备上走1 => 3.RGV取货中 |
| | | Date now = new Date(); |
| | | wrkMast.setWrkSts(3L); |
| | | wrkMast.setModiTime(now); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("修改工作档状态 2.设备上走1 => 3.RGV取货中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } else if (wrkMast.getWrkSts() == 14) {//4.RGV取货完成 => 5.RGV放货中 14出库完成 |
| | | if (rgvProtocol.getTaskNo1() == 0 || !rgvProtocol.getTaskNo1().equals(wrkMast.getWrkNo().shortValue())) {//RGV必须有任务且任务和当前工作档一致 |
| | | continue; |
| | | } |
| | | if (rgvProtocol.getLoaded1() == 0) {//RGV必须有物 |
| | | continue; |
| | | } |
| | | |
| | | //判断行走路径是否被占用 |
| | | Integer staNo = wrkMast.getStaNo(); |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp == null) { |
| | | continue;//目标站不存在 |
| | | } |
| | | //起始路径 |
| | | int startPath = rgvProtocol.getRgvPos().intValue(); |
| | | //目标路径值 |
| | | int endPath = basDevp.getLocType3().intValue(); |
| | | boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//判断行走路径是否被占用 |
| | | if (pathUsed) { |
| | | //行走路径被占用,禁止下发命令 |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | | rgvCommand.setRgvNo(wrkMast.getRgvNo()); // RGV编号 |
| | | rgvCommand.setAckFinish1((short) 0); // 工位1任务完成确认位 |
| | | rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue()); // 工位1工作号 |
| | | rgvCommand.setTaskMode1(RgvTaskModeType.PUT); // 工位1任务模式: 放货 |
| | | rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //工位1目标站点 |
| | | rgvCommand.setCommand((short) 1); //工位1任务确认 |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getRgvNo(), new Task(4, rgvCommand))) { |
| | | //step=2,工位1、2写任务; step=4,工位1写任务; step=5,工位2写任务 |
| | | log.error("RGV命令下发失败,RGV号={},任务数据={}", wrkMast.getRgvNo(), JSON.toJSON(rgvCommand)); |
| | | } else { |
| | | // 修改工作档状态 4.RGV取货完成 => 5.RGV放货中 |
| | | Date now = new Date(); |
| | | wrkMast.setWrkSts(5L); |
| | | wrkMast.setModiTime(now); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("修改工作档状态 4.RGV取货完成 => 5.RGV放货中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } else if (wrkMast.getWrkSts() == 23) {//23.设备上走1 => 24.RGV取货中 |
| | | if (rgvProtocol.getTaskNo1() != 0 || rgvProtocol.getLoaded1() != 0) {//RGV是否无任务、RGV是否无货 |
| | | continue; |
| | | } |
| | |
| | | //step=2,工位1、2写任务; step=4,工位1写任务; step=5,工位2写任务 |
| | | log.error("RGV命令下发失败,RGV号={},任务数据={}", wrkMast.getRgvNo(), JSON.toJSON(rgvCommand)); |
| | | } else { |
| | | // 修改工作档状态 23.设备上走1 => 24.RGV取货中 |
| | | Date now = new Date(); |
| | | wrkMast.setWrkSts(24L); |
| | | wrkMast.setModiTime(now); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("修改工作档状态 23.设备上走1 => 24.RGV取货中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } else if (wrkMast.getWrkSts() == 25) {//25.RGV取货完成 => 26.RGV放货中 |
| | | if (rgvProtocol.getTaskNo1() == 0 || !rgvProtocol.getTaskNo1().equals(wrkMast.getWrkNo().shortValue())) {//RGV必须有任务且任务和当前工作档一致 |
| | | continue; |
| | | } |
| | | if (rgvProtocol.getLoaded1() == 0) {//RGV必须有物 |
| | | continue; |
| | | } |
| | | |
| | | //判断行走路径是否被占用 |
| | | Integer staNo = wrkMast.getStaNo(); |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp == null) { |
| | | continue;//目标站不存在 |
| | | } |
| | | //起始路径 |
| | | int startPath = rgvProtocol.getRgvPos().intValue(); |
| | | //目标路径值 |
| | | int endPath = basDevp.getLocType3().intValue(); |
| | | boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//判断行走路径是否被占用 |
| | | if (pathUsed) { |
| | | //行走路径被占用,禁止下发命令 |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | | rgvCommand.setRgvNo(wrkMast.getRgvNo()); // RGV编号 |
| | | rgvCommand.setAckFinish1((short) 0); // 工位1任务完成确认位 |
| | | rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue()); // 工位1工作号 |
| | | rgvCommand.setTaskMode1(RgvTaskModeType.PUT); // 工位1任务模式: 放货 |
| | | rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //工位1目标站点 |
| | | rgvCommand.setCommand((short) 1); //工位1任务确认 |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getRgvNo(), new Task(4, rgvCommand))) { |
| | | //step=2,工位1、2写任务; step=4,工位1写任务; step=5,工位2写任务 |
| | | log.error("RGV命令下发失败,RGV号={},任务数据={}", wrkMast.getRgvNo(), JSON.toJSON(rgvCommand)); |
| | | } else { |
| | | // 修改工作档状态 25.RGV取货完成 => 26.RGV放货中 |
| | | Date now = new Date(); |
| | | wrkMast.setWrkSts(26L); |
| | | wrkMast.setModiTime(now); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("修改工作档状态 25.RGV取货完成 => 26.RGV放货中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 入出库 ===>> RGV入出库作业下发 |
| | | */ |
| | | public synchronized void rgvIoExecute() { |
| | | for (RgvSlave rgv : slaveProperties.getRgv()) { |
| | | RgvSlave rgvSlave=null; |
| | | if (rgv.getId()==1){ |
| | | rgvSlave = slaveProperties.getRgv().get(1); |
| | | }else { |
| | | rgvSlave = slaveProperties.getRgv().get(0); |
| | | } |
| | | |
| | | // 获取RGV信息 |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); |
| | | RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); |
| | | if (rgvProtocol == null) { |
| | | continue; |
| | | } |
| | | |
| | | RgvThread rgvThreadSlave = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); |
| | | RgvProtocol rgvProtocolSlave = rgvThreadSlave.getRgvProtocol(); |
| | | BasRgv basRgvSlave = null; |
| | | if (rgvProtocolSlave == null) { |
| | | rgvSlave=null; |
| | | }else { |
| | | basRgvSlave = basRgvService.selectById(rgv.getId()); |
| | | if (basRgvSlave == null) { |
| | | rgvSlave=null; |
| | | } |
| | | } |
| | | |
| | | BasRgv basRgv = basRgvService.selectById(rgv.getId()); |
| | | if (basRgv == null) { |
| | | log.error("{}号RGV尚未在数据库进行维护!", rgv.getId()); |
| | | continue; |
| | | } |
| | | |
| | | boolean signSlave=false;//此处判断RgvSlave是否已经规避 |
| | | boolean signSlaveState=false;//此处判断RgvSlave是否空闲 |
| | | Integer staSlave = 0;//此处记录RgvSlave当前位置 |
| | | |
| | | // 只有当RGV空闲、自动, |
| | | if (rgvProtocol.getStatusType() == RgvStatusType.IDLE |
| | | && rgvProtocol.getModeType() == RgvModeType.AUTO |
| | | // && rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 |
| | | // && rgvProtocol.getLoaded1() == 0 && rgvProtocol.getLoaded2() == 0 |
| | | ) { |
| | | |
| | | //查找是否存在入出库工作中等待RGV搬运的任务 |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectIoRgvNo(rgv.getId()); |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | if (wrkMast.getWrkSts() == 2) {//2.设备上走1 => 3.RGV取货中 |
| | | if (rgvProtocol.getTaskNo1() != 0 || rgvProtocol.getLoaded1() != 0) {//RGV是否无任务、RGV是否无货 |
| | | continue; |
| | | } |
| | | |
| | | //判断行走路径是否被占用 |
| | | Integer staNo = wrkMast.getSourceStaNo(); |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp == null) { |
| | | continue;//目标站不存在 |
| | | } |
| | | //起始路径 |
| | | int startPath = rgvProtocol.getRgvPos().intValue(); |
| | | //目标路径值 |
| | | int endPath = basDevp.getLocType3().intValue(); |
| | | // boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//判断行走路径是否被占用 |
| | | boolean pathUsed = RgvUtils.isPathUsed(startPath, endPath);//判断行走路径是否被占用 |
| | | if (pathUsed) { |
| | | //行走路径被占用,禁止下发命令 |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | | rgvCommand.setRgvNo(wrkMast.getRgvNo()); // RGV编号 |
| | | rgvCommand.setAckFinish1((short) 0); // 工位1任务完成确认位 |
| | | rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue()); // 工位1工作号 |
| | | rgvCommand.setTaskMode1(RgvTaskModeType.FETCH); // 工位1任务模式: 取货 |
| | | rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //工位1目标站点 |
| | | rgvCommand.setCommand((short) 1); //工位1任务确认 |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getRgvNo(), new Task(4, rgvCommand))) { |
| | | //step=2,工位1、2写任务; step=4,工位1写任务; step=5,工位2写任务 |
| | | log.error("RGV命令下发失败,RGV号={},任务数据={}", wrkMast.getRgvNo(), JSON.toJSON(rgvCommand)); |
| | | } else { |
| | | // 修改工作档状态 2.设备上走1 => 3.RGV取货中 |
| | | Date now = new Date(); |
| | | wrkMast.setWrkSts(3L); |
| | |
| | | log.error("修改工作档状态 2.设备上走1 => 3.RGV取货中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | } else if (wrkMast.getWrkSts() == 4) {//4.RGV取货完成 => 5.RGV放货中 |
| | | } else if (wrkMast.getWrkSts() == 14) {//4.RGV取货完成 => 5.RGV放货中 14出库完成 |
| | | if (rgvProtocol.getTaskNo1() == 0 || !rgvProtocol.getTaskNo1().equals(wrkMast.getWrkNo().shortValue())) {//RGV必须有任务且任务和当前工作档一致 |
| | | continue; |
| | | } |