| | |
| | | |
| | | String barcode = wrkMast.getBarcode(); |
| | | if(!Cools.isEmpty(barcode)) { |
| | | if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) { |
| | | if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || "empty".equals(barcode)) { |
| | | continue; |
| | | } |
| | | } else { |
| | |
| | | String barcode = staProtocol.getBarcode(); |
| | | if (!Cools.isEmpty(barcode)) { |
| | | // log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) { |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) { |
| | | continue; |
| | | } |
| | | } else { |
| | |
| | | if (jarMaxLoc == 0 || basJarOther.getJarCount() == 0) { |
| | | break; |
| | | } |
| | | int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 6)); |
| | | int count = basJarMastService.selectCount(new EntityWrapper<BasJarMast>().eq("jar_regin", basJar.getRegion()).lt("status", 17).gt("status", 5)); |
| | | if (count>0){ |
| | | break; |
| | | } |
| | |
| | | case 3: |
| | | case 4: |
| | | signExecute = jarWrkMastExecuteGenerateJar(signExecute,sign);//硫化罐任务 |
| | | case 5: |
| | | signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//冷却槽取输送线 |
| | | // case 5: |
| | | // signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//冷却槽去输送线 |
| | | default: |
| | | jarWrkMastExecuteGenerateSte(signExecute,sign);//小车移动 |
| | | // signExecute = jarWrkMastExecuteGenerateBurial(signExecute, sign);//冷却槽取输送线 |
| | |
| | | if (!basJarMastListOther.isEmpty() && basJarMastListOther.size() < basJarOther.getJarCount()){ |
| | | return false; |
| | | } |
| | | if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){ |
| | | return false; |
| | | } |
| | | // if (basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(),4)!=0 && !basJarMastService.selectJarMastOperation(jarSlave.getJarOtherId(), 4).equals(basJarOther.getJarCount() )){ |
| | | // return false; |
| | | // } |
| | | |
| | | // //临时 |
| | | // if (basJar.getJarCode()==1){ |
| | |
| | | if (jarWrkMastExecuteActionExecute5Three(wrkMastExecute,sign)){ |
| | | break; |
| | | } |
| | | return; |
| | | continue; |
| | | case 6: |
| | | if (jarWrkMastExecuteActionExecute6Three(wrkMastExecute,sign)){ |
| | | break; |
| | | } |
| | | return; |
| | | continue; |
| | | } |
| | | } |
| | | } catch (Exception e){ |
| | |
| | | return false; |
| | | } |
| | | //调车 == > 取货 |
| | | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT25.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ |
| | | if (!jarSteTake(wrkMastExecute,SteLocaType.POINT23.id,SteLocaType.POINT26.id,SteTaskModeType.STE_WFFH_13,false,SteAndJarUtil.getBJarNo(wrkMastExecute.getJarId()))){ |
| | | log.error("穿梭板Ste命令下发失败,ste号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getJarId(), JSON.toJSONString(wrkMastExecute), JSON.toJSONString(jarProtocol),sign); |
| | | } |
| | |
| | | switch (sign){ |
| | | case 1: |
| | | if (jarWrkMastExecuteGenerateSteComplete(sign)){ |
| | | break; |
| | | return; |
| | | } |
| | | case 2: |
| | | if (jarWrkMastExecuteGenerateJarComplete(sign)){ |
| | | break; |
| | | return; |
| | | } |
| | | case 3: |
| | | if (jarWrkMastExecuteGenerateRgvComplete1(sign)){ |
| | | break; |
| | | return; |
| | | } |
| | | case 4: |
| | | if (jarWrkMastExecuteGenerateRgvComplete2(sign)){ |
| | | break; |
| | | return; |
| | | } |
| | | default: |
| | | return; |
| | | break; |
| | | } |
| | | jarWrkMastExecuteGenerateDevComplete(sign); |
| | | }catch (Exception e){ |
| | | log.error("JarWrkMastExecute任务完成报错!"+e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * JarWrkMastExecute任务完成 ===>Devp //完成 |
| | | */ |
| | | public synchronized boolean jarWrkMastExecuteGenerateDevComplete(Integer sign) { |
| | | try{ |
| | | // 根据输送线plc遍历 |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | // 遍历入库口 |
| | | for (DevpSlave.Sta inSta : devp.getOutJarInSta()) { |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | // 判断是否满足条件 |
| | | if (staProtocol.isAutoing() |
| | | && staProtocol.isLoading() |
| | | && staProtocol.isInEnable() |
| | | && staProtocol.getWorkNo() == 0 |
| | | && staProtocol.isPakMk()) { |
| | | for (DevpSlave.Jar jar : inSta.getJarList()) { |
| | | // 判断重复工作档 |
| | | List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusListB(jar.getBurial(), new ArrayList<Integer>() {{ |
| | | add(9); |
| | | add(11); |
| | | }}); |
| | | if (basJarMastList.isEmpty()){ |
| | | continue; |
| | | } |
| | | BasJarMast jarMastByWrkNo = basJarMastList.get(0); |
| | | jarMastByWrkNo.setStatus(jarMastByWrkNo.getStatusComplete(6)); |
| | | |
| | | |
| | | StaProtocol staProtocolNew = new StaProtocol(); |
| | | staProtocolNew.setSiteId(staProtocol.getSiteId()); |
| | | staProtocolNew.setWorkNo(basJarMastList.get(0).getWrkNo().intValue()); |
| | | staProtocolNew.setStaNo(jar.getEndStaNo()); |
| | | devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew)); |
| | | if (!result) { |
| | | LedErrorThreadUtil.ledErrorThread("更新plc站点信息失败!站点号:"+inSta.getStaNo(),inSta.getLed(), LedErrorAreaType.ONE_OTHER.getDesc()); |
| | | throw new CoolException("更新plc站点信息失败"); |
| | | } |
| | | if (!basJarMastService.updateById(jarMastByWrkNo)){ |
| | | log.error("硫化区域分段任务完成异常,BasJarMast={},异常信息={}",JSON.toJSONString(jarMastByWrkNo),"更新basJarMast失败"); |
| | | throw new CoolException("更新basJarMast失败"); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return true; |
| | | }catch (Exception e){ |
| | | log.error("JarWrkMastExecute任务完成 ===>Ste报错!"+e); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | |
| | | if (Cools.isEmpty(basJar)){ |
| | | log.error("{}号硫化罐查询设备档案无信息!!!",jarProtocol.getJarNo()); |
| | | continue; |
| | | } |
| | | if (jarProtocol.getJarErr()==0 && (jarProtocol.getStatusType().equals(JarStatusType.WAITING1) || jarProtocol.getStatusType().equals(JarStatusType.MOVING)) |
| | | && jarProtocol.isRightDoor() && jarProtocol.isLeftDoor() |
| | | && jarProtocol.leftDoorOpen==0 && jarProtocol.leftDoorClose==0 && jarProtocol.rightDoorOpen==0 && jarProtocol.rightDoorClose==0 |
| | | ){ |
| | | List<BasJarMast> basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarSlave.getId(), new ArrayList<Integer>() {{ |
| | | add(6);//硫化完成 |
| | | }}); |
| | | if (!basJarMastList.isEmpty()){ |
| | | WrkMastExecute wrkMastExecuteSou = new WrkMastExecute(); |
| | | wrkMastExecuteSou.setWrkSts(3); |
| | | List<WrkMastExecute> wrkMastExecuteList = wrkMastExecuteService.selectWrkMastExecuteByWrk(wrkMastExecuteSou); |
| | | for (WrkMastExecute wrkMastExecute : wrkMastExecuteList){ |
| | | if (wrkMastExecute.getIoType() == 3){ |
| | | wrkMastExecute.setWrkSts(4); |
| | | if (!wrkMastExecuteService.updateById(wrkMastExecute)){ |
| | | log.error("硫化罐Jar命令修改失败===>更新wrkMastExecute失败,jar号={},任务数据={},硫化罐数据={},sign={}", |
| | | wrkMastExecute.getSteId(), JSON.toJSON(wrkMastExecute), JSON.toJSON(jarProtocol),sign); |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //WAITING2(4, "硫化完成"), |
| | | if (jarProtocol.getJarErr()==0 && jarProtocol.getStatusType().equals(JarStatusType.WAITING2) |
| | |
| | | String barcode = staProtocol607.getBarcode(); |
| | | if (!Cools.isEmpty(barcode)) { |
| | | // log.info("{}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode); |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) { |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) { |
| | | return; |
| | | } |
| | | } else { |
| | |
| | | && staProtocol607.getStaNo() == 0 && staProtocol607.isInEnable()){ |
| | | WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode); |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | staProtocol607.setWorkNo(wrkMast.getWrkNo()); |
| | | staProtocol607.setStaNo(staNo1); |
| | | boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol607)); |
| | | |
| | | StaProtocol staProtocolNew = new StaProtocol(); |
| | | staProtocolNew.setSiteId(staProtocol607.getSiteId()); |
| | | staProtocolNew.setWorkNo(wrkMast.getWrkNo()); |
| | | staProtocolNew.setStaNo(staNo1); |
| | | // devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocolNew)); |
| | | } |
| | | } |
| | | } else { |
| | |
| | | |
| | | } |
| | | } |
| | | |
| | | // try{ |
| | | // for (int idi = 1;idi<5;idi++){ |
| | | // LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, idi); |
| | | // |
| | | // if (ledThread != null) { |
| | | // ErrMsg errMsg1 = new ErrMsg(); |
| | | // errMsg1.setErrMsg("测试:"+idi); |
| | | // errMsg1.setArea("1"); |
| | | // MessageQueue.offer(SlaveType.Led, idi, new Task(5, errMsg1)); |
| | | // } try { |
| | | // Thread.sleep(500); |
| | | // } catch (Exception e){ |
| | | // |
| | | // } |
| | | // } |
| | | // LedThread ledThread3 = (LedThread) SlaveConnection.get(SlaveType.Led, 3); |
| | | // |
| | | // if (ledThread3 != null) { |
| | | // ErrMsg errMsg1 = new ErrMsg(); |
| | | // errMsg1.setErrMsg("测试测试测试测试测试测试测试测试测试测试测试测试测试:"+3); |
| | | // errMsg1.setArea("1"); |
| | | // MessageQueue.offer(SlaveType.Led, 3, new Task(5, errMsg1)); |
| | | // } try { |
| | | // Thread.sleep(500); |
| | | // } catch (Exception e){ |
| | | // |
| | | // } |
| | | // } catch (Exception e){ } |
| | | |
| | | |
| | | } |
| | | public synchronized void stackingCompletionDriveTray2() { |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2); |
| | | StaProtocol staProtocol = devpThread.getStation().get(518); |
| | | String barcode = staProtocol.getBarcode(); |
| | | if (!Cools.isEmpty(barcode)) { |
| | | if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) { |
| | | return; |
| | | } |
| | | } else { |
| | | return; |
| | | } |
| | | if (staProtocol.getWorkNo()==0 && staProtocol.isLoading() && staProtocol.isAutoing() |
| | | && staProtocol.getStaNo() == 0 && staProtocol.isInEnable()){ |
| | | WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode); |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | StaProtocol staProtocolNew = new StaProtocol(); |
| | | staProtocolNew.setSiteId(staProtocol.getSiteId()); |
| | | staProtocolNew.setWorkNo(wrkMast.getWrkNo()); |
| | | staProtocolNew.setStaNo(wrkMast.getStaNo()); |
| | | devpThread.setPakMk(staProtocolNew.getSiteId(), false,7989); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocolNew)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public synchronized Integer jarGetStartStaNo(Integer staNo) { |
| | | try { |
| | | int[] jarNos=new int[]{3,1,4,2};//(607分配硫化罐) |