| | |
| | | continue; |
| | | } |
| | | RgvRunProtocol rgvRun = RgvRunCache.getRgvRun(); |
| | | if (!rgvRun.getRgvNo().equals(slave.getId())){ |
| | | continue; |
| | | if (slave.getId()>2){ |
| | | if (!rgvRun.getRgvNo2().equals(slave.getId())){ |
| | | continue; |
| | | } |
| | | } else { |
| | | if (!rgvRun.getRgvNo().equals(slave.getId())){ |
| | | continue; |
| | | } |
| | | } |
| | | try { |
| | | Thread.sleep(100); |
| | |
| | | // System.out.println(JSON.toJSON(rgvRun)); |
| | | |
| | | // 休眠 1 秒 |
| | | if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | } else { |
| | | continue; |
| | | if (slave.getId()>2){ |
| | | if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld2 > 500L) { |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | } else { |
| | | continue; |
| | | } |
| | | }else { |
| | | if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 500L) { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | } else { |
| | | continue; |
| | | } |
| | | } |
| | | if (!deviceDetection()) { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | if (slave.getId()>2){ |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo2(slave.getOtherId()); |
| | | } else { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | } |
| | | RgvRunCache.updateRgvStatus(rgvRun); |
| | | if (!errorRgv.equals("无")){ |
| | | RgvErrCache.updateRgvErr(slave.getId(),errorRgv); |
| | |
| | | rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); |
| | | } |
| | | if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){ |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | if (slave.getId()>2){ |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo2(slave.getOtherId()); |
| | | } else { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | } |
| | | RgvRunCache.updateRgvStatus(rgvRun); |
| | | continue; |
| | | } |
| | | if (rgvProtocol.getLoaded() == -1){ |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | if (slave.getId()>2){ |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo2(slave.getOtherId()); |
| | | } else { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | } |
| | | RgvRunCache.updateRgvStatus(rgvRun); |
| | | RgvErrCache.updateRgvErr(slave.getId(),"小车探物物状态异常"); |
| | | continue; |
| | | } |
| | | if (rgvTaskProtocol.getAvoid() != 0) { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | if (slave.getId()>2){ |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo2(slave.getOtherId()); |
| | | } else { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | } |
| | | RgvRunCache.updateRgvStatus(rgvRun); |
| | | continue; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | if (slave.getId()>2){ |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo2(slave.getOtherId()); |
| | | } else { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | } |
| | | RgvRunCache.updateRgvStatus(rgvRun); |
| | | } catch (Exception e) { |
| | | log.error("RGV任务下发线程异常!!! ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); |
| | |
| | | // log.error("e2:"+e2.getMessage()); |
| | | } |
| | | rgvRun = RgvRunCache.getRgvRun(); |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | if (slave.getId()>2){ |
| | | rgvRun.currentTimeMilliOld2 = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo2(slave.getOtherId()); |
| | | } else { |
| | | rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; |
| | | rgvRun.setRgvNo(slave.getOtherId()); |
| | | } |
| | | RgvRunCache.updateRgvStatus(rgvRun); |
| | | continue; |
| | | // e.printStackTrace(); |
| | |
| | | |
| | | RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId()); |
| | | TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache(); |
| | | TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos()); |
| | | TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask3(rgvProtocolOther.getRgvPos()); |
| | | if (!Cools.isEmpty(nowPosRunTask)){ |
| | | boolean signNowPosRun = true; |
| | | if (nowPosRunTask.getTaskStatus()==3){ |
| | |
| | | } |
| | | } |
| | | signNowPosRun =false; |
| | | } else { |
| | | signNowPosRun =false; |
| | | } |
| | | } |
| | | if (new TrackRangeUtils().IsItSmall(slave)){ |
| | | signNowPosRun = false; |
| | | } |
| | | } else { |
| | | long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos()); |
| | |
| | | } |
| | | if (Math.abs(onePos - twoPos)>100){ |
| | | if (onePos-50>twoPos+50){ |
| | | signNowPosRun =true; |
| | | } else { |
| | | signNowPosRun =false; |
| | | } |
| | | } else { |
| | | if (new TrackRangeUtils().IsItSmall(slave)){ |
| | | signNowPosRun = false; |
| | | } |
| | | } |
| | | } |
| | |
| | | } else { |
| | | RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId()); |
| | | TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache(); |
| | | TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos()); |
| | | TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask3(rgvProtocolOther.getRgvPos()); |
| | | if (!Cools.isEmpty(nowPosRunTask)){ |
| | | boolean signNowPosRun = true; |
| | | if (nowPosRunTask.getTaskStatus()==3){ |
| | |
| | | } |
| | | } |
| | | signNowPosRun =false; |
| | | } else { |
| | | signNowPosRun =false; |
| | | } |
| | | } |
| | | if (new TrackRangeUtils().IsItSmall(slave)){ |
| | | signNowPosRun = false; |
| | | } |
| | | } else { |
| | | long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos()); |
| | |
| | | } |
| | | if (Math.abs(onePos - twoPos)>100){ |
| | | if (onePos-50>twoPos+50){ |
| | | signNowPosRun =true; |
| | | } else { |
| | | signNowPosRun =false; |
| | | } |
| | | } else { |
| | | if (new TrackRangeUtils().IsItSmall(slave)){ |
| | | signNowPosRun = false; |
| | | } |
| | | } |
| | | } |
| | | } |