wu
2023-12-01 4f9f6a63ecdd3406c5e1f4db86232717824f469b
更新测试后的理片逻辑
4个文件已修改
61 ■■■■ 已修改文件
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -49,9 +49,6 @@
      // e.printStackTrace();
      // }
      
       List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 获取prc进片请求数据
      List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态
      List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 获取进片车任务是否启动
@@ -68,6 +65,7 @@
         spianMapper.UpdatetaskOut(B01glassid.toString()); // 完成上一次出片或者进片任务
         spianMapper.OverOutSlice(B01glassid.toString(),2);//完成出片队列任务
        S7control.getinstance().WriteWord("DB106.60", (short) 0);// 恢复B01小车应答改为0
        System.out.println("汇报时B01|" + B01glassid);
       
        //S7control.getinstance().WriteWord("DB105.48", (short) 1);//汇报B01小车收到
      }
@@ -80,6 +78,7 @@
        spianMapper.OverOutSlice(B02glassid.toString(),2);//完成出片队列任务
        S7control.getinstance().WriteWord("DB106.62", (short) 0);// 恢复B02小车应答改为0
        // S7control.getinstance().WriteWord("DB105.50", (short) 1);//汇报B02小车收到
        System.out.println("汇报时B02|" + B02glassid);
      }
      // 获取DO1数据
@@ -88,6 +87,7 @@
      StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14);
      System.out.println("D01|" + queueid1);
      System.out.println("D02|" + queueid2);
      int questate = spianMapper.Selectquecount(queueid1.toString());// 判断扫码位是否有玻璃已确认
      // queueid1.toString().isEmpty()
      north_glass_buffer1 glass1 = spianMapper.selectGlass(queueid1.toString());// D01的玻璃信息
@@ -100,7 +100,9 @@
          spianMapper.Updatequeue(null,null,null,null, 0, null, null, null, null, 1);
        } else {
          
          spianMapper.Updatequeue(queueid1.toString(),glass1.getordernumber(),glass1.getlistnumber(),glass1.getboxnumber(),0,glass1.getglasslengthmm().toString(),glass1.getglassheightmm().toString(),glass1.getglasslength().toString(),glass1.getglassheight().toString(),1);
          spianMapper.Updatequeue(queueid1.toString(), glass1.getordernumber(), glass1.getlistnumber(),
              glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
              glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
        }
      }
@@ -109,7 +111,9 @@
        if(glass2==null){
          spianMapper.Updatequeue(null,null,null,null, 0, null, null, null, null, 2);
        }else{
        spianMapper.Updatequeue(queueid2.toString(),glass2.getordernumber(),glass2.getlistnumber(),glass2.getboxnumber(),0,glass2.getglasslengthmm().toString(),glass2.getglassheightmm().toString(),glass2.getglasslength().toString(),glass2.getglassheight().toString(),2);
          spianMapper.Updatequeue(queueid2.toString(), glass2.getordernumber(), glass2.getlistnumber(),
              glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
              glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
        spianMapper.overqueue2(queueid2.toString(), 0, 1);// 更改扫码位任务表的状态为0
        S7control.getinstance().WriteWord("DB105.16", (short) 0);//关闭任务启动
        }
@@ -156,7 +160,7 @@
          // 判断铝框出片队列表是否有待出片的玻璃
          String outglassid = spianMapper.SelectOutSlice();
          if (outglassid != null) {
            spianMapper.OverOutSlice(outglassid,1);
            spianService.selectout2(outglassid);
            outstate = false;
          }
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -37,26 +37,26 @@
     new PlcHold().start();
    new Plcaction().start();
    //
    new Plchome().start();
    //
   new PlcParameter().start();
    //
  //new Plcalarm().start();
    //
    new Plcsign().start();
    //
 new Plcstate().start();
    new PlcPositioning1().start();
    new PlcPositioning2().start();
    new PlcParameter2().start();
    new PlcParameter1().start();
    new PLCAutomaticParameterSetting().start();
    // new PlcParameter().start();
    // //
    // // new Plcalarm().start();
    // //
    // new Plcsign().start();
    // //
    // new Plcaction().start();
    // new Plcstate().start();
    // new PlcPositioning1().start();
    // new PlcPositioning2().start();
    // new PlcParameter2().start();
    // new PlcParameter1().start();
    // new PLCAutomaticParameterSetting().start();
      new PlcManualonePosition().start();
      new PlcManualonePosition2().start();
     new PlcServoManualone().start();
      new PLCManualJog().start();
    // new PlcManualonePosition().start();
    // new PlcManualonePosition2().start();
    // new PlcServoManualone().start();
    // new PLCManualJog().start();
  }
}
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -152,12 +152,12 @@
     @Select("select state from queue where type=1")
     int Selectqueuestate();
     //判断铝框出片表是否有玻璃需要出
     @Select("SELECT glassid FROM `out_slice` where state=0  order by id limit 1;")
     @Select("SELECT glassid FROM `out_slice` where state=0  order by sequence,id  limit 1;")
     String SelectOutSlice();
     //判断铝框出片表是否有玻璃正在出片中
     @Select("SELECT count(*) FROM `out_slice` where state=1;")
     int SelectOutSliceshu();
     //完成出片队列的任务
     //更新出片队列的任务状态
     @Update("update out_slice set state=#{state} where glassid=#{glassid}")
     void OverOutSlice(String glassid,int state);
  
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -428,7 +428,7 @@
            datas.add((short) 1000);
            datas.add((short) state);
            datas.add((short) 1);
            spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中
            spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息
            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增任务
@@ -453,6 +453,7 @@
                datas.add((short) 1);
                datas.add((short) 1);
                outmesid(glassid,"DB105.34");// 派发出片ID
                spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中
                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增任务
                spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息
@@ -486,7 +487,7 @@
                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据
                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid);// 新增调度任务
                    spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务
                    //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务
                    // 传输mes数据,坐标,数据
                    S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务
@@ -510,7 +511,7 @@
                    datas.add((short) 1);
                    String glassids = spianMapper.SelectGlassid(cage, cell); // 获取被调拨的玻璃id
                    spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassid);// 新增调度任务
                    spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务
                    //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务
                    spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里
                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度
                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度