wu
2024-01-26 3f4124093b81a6ccd6a393947cab2282ab13b248
DB区josn文件上传
6个文件已修改
3 文件已重命名
194 ■■■■■ 已修改文件
springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/JsonFile/PlcMes.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/JsonFile/PlcRead.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/JsonFile/Plcframe.json 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/InitUtil.java
@@ -47,8 +47,7 @@
                plcParameterObject.addPlcParameter(plcParameterInfo);
            }
           // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
            byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
            plcParameterObject.setPlcParameterList(getplcvlues);
            return plcParameterObject;
        } catch (IOException e) {
@@ -94,12 +93,7 @@
        } catch (IOException e) {
            e.printStackTrace();
        }
           //Boolean[] values1 = { false, true, true, true, false, false, true, false,
          //  false, true ,true };
   // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
//        List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
//        plcBitObject.setPlcBitList(getplcvlues);
        return plcBitObject;
    }
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutoMes.java
@@ -50,32 +50,35 @@
            String jsonFilePath = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
                   
            String jsonFilePath2 = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
            String jsonFilePath3 = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
            System.out.println(jsonFilePath);
            // String jsonFilePath3 = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
            // System.out.println(jsonFilePath);
            // 调用initword方法
            PlcParameterObject  PlcMesObject= initUtil.initword(jsonFilePath);
            // 调用initbit方法
            PlcParameterObject  PlcReadObject= initUtil.initword(jsonFilePath2);
             // 调用initbit方法
            PlcParameterObject  PlcframeObject= initUtil.initword(jsonFilePath3);
            readAndUpdateWordValues(PlcframeObject);
            readAndUpdateWordValues(PlcMesObject);
             PlcParameterObject  PlcReadObject= initUtil.initword(jsonFilePath2);
            //  // 调用initbit方法
            // PlcParameterObject  PlcframeObject= initUtil.initword(jsonFilePath3);
            readAndUpdateWordValues(PlcReadObject);
            readAndUpdateWordValues(PlcMesObject);
            // readAndUpdateWordValues(PlcframeObject);
            
            // readAndUpdateWordValues(plcStateObject);
            int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
            System.out.println(index);
            //System.out.println(index);
            PlcMesObject.getPlcParameter("AddStart").getAddress(index);
            System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
            //System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
            List<String> addresses = new ArrayList<>();
            addresses.add("FeedCarStatus");
            addresses.add("OutRequest");
            System.out.println(PlcReadObject.getPlcParameterValues(addresses));
            addresses.add("FeedID");
            addresses.add("AddStart");
            //System.out.println(addresses);
            //System.out.println(PlcMesObject.getPlcParameterValues(addresses));
            List<String> addresses2 = new ArrayList<>();
            addresses2.add("conveyorVelocity(AutoSLOW)");
            addresses2.add("D01.SRdec");
            addresses2.add("FeedID");
            addresses2.add("FeedCarStatus");
            System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -1,19 +1,10 @@
package com.example.springboot.component;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.service.JdbcConnections;
import com.example.springboot.service.SpianService;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.mapper.AlarmMapper;
import com.example.springboot.mapper.SpianMapper;
@@ -26,7 +17,6 @@
  private JdbcConnections jdbcConnections;
  private SpianMapper spianMapper;
  private SpianService spianService;
  int aaa;
  @Override
@@ -35,24 +25,16 @@
    while (this != null) {
      try {
        Thread.sleep(50);
        Thread.sleep(100);
      } catch (InterruptedException e) {
        // \\ TODO Auto-generated catch block
        e.printStackTrace();
      }
      // if (S7control.getinstance().CheckConnected() == false) {
      spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
      spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
      jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
    String str = "";
    BufferedReader bufferedReader = null;
    FileInputStream fileInputStream;
      // 根据玻璃id获取订单号,单独数据源
      // try {
      // north_glass_buffer1 glass = jdbcConnections.selectGlass(112);
@@ -61,27 +43,38 @@
      // // TODO Auto-generated catch block
      // e.printStackTrace();
      // }
      // 出片任务////////////////////////////////
      List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 出片车状态
      List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 出片任务是否启动
      boolean Plcout = spianService.listbool("DB106.64"); // 出片请求字
      boolean Plcout2 = spianService.listbool("DB105.18"); // 出片启动
      if (Plcout == false&&Plcout2==true) {
        S7control.getinstance().WriteWord("DB105.18", (short) 0);// 出片任务启动改为0
        System.out.println("关闭出片启动" + LocalDateTime.now());// 出片任务发送字改为0
      }
      boolean Plcadd = spianService.listbool("DB106.24"); // 进片请求字
      boolean Plcadd2 = spianService.listbool("DB105.16"); // 进片启动
      if (Plcadd == false&&Plcadd2==true) {
        S7control.getinstance().WriteWord("DB105.16", (short) 0);//进片任务启动改为0
        System.out.println("关闭进片启动" + LocalDateTime.now());// 进片任务发送字改为0
      }
      // StringBuilder writedstrIdOut = new StringBuilder();
      // 获取已下发的出片id
      byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14);
      String writedstrIdOut = new String(writedglassidbytesOut);
      boolean outstate = false;// 出片车空闲判断
      boolean outstate1 = false;// 出片车任务是否启动
      if (outlist != null && outlist1 != null) {
        outstate = outlist.contains((short) 0);// 出片车空闲判断 当出片车空闲时为true
        outstate1 = outlist1.contains((short) 1);// 出片车任务是否启动 当出片车任务启动时为true
      if (Plcout == true) {
        // 判断当前是否有未执行的任务
        int outnum = spianMapper.SelectOutSliceshu();
        int cageoutsum = spianMapper.Selectcageout(3);
        int outnum = spianMapper.SelectOutSliceshu();//是否有正在出片的任务
        int cageoutsum = spianMapper.Selectcageout(3);//笼子内是否还有在出片的玻璃
        // 当没有任务执行并且出片车空闲时
        if (outnum == 0 && outstate == true && Plchome.isAllowQueue == true && cageoutsum == 0) {
        if (outnum == 0 &&  Plchome.isAllowQueue == true && cageoutsum == 0) {
          // 判断铝框出片队列表是否有待出片的玻璃
          String outglassid = spianMapper.SelectOutSlice();
          // 当有待出片的玻璃时
@@ -92,18 +85,13 @@
            if (glassdisabled == 0) {
              spianService.selectout2(outglassid);
              Plchome.isQueueWarning = false;
              outstate = false;
            } else { // 禁用更改状态弹出提示
              Plchome.isQueueWarning = true;
            }
          }
        }
        if (outstate == true) {// 当出片车空闲时,且出片启动为1时,任务启动改为0
          if (outstate1 == true) {
            S7control.getinstance().WriteWord("DB105.18", (short) 0);// 出片任务启动改为0
          }
        }
      }
      ///////////// 进片任务
@@ -113,28 +101,46 @@
      boolean B01backs = spianService.listbool("DB106.60");// b01汇报
      boolean B02backs = spianService.listbool("DB106.62");// b02汇报
      StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1的玻璃id
      StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02的玻璃id
      // 当进片小车完成任务时
      if (B01backs == true) {
        // 当B01小车汇报完成时更改玻璃状态 为1
        // spianService.overtask(B01glassid.toString());// 完成任务
        // S7control.getinstance().WriteWord("DB106.60", (short) 0);// 恢复B01小车应答改为0
        boolean yingda = spianService.listbool("DB106.60");// b01汇报
        System.out.println("汇报时B01|第" + aaa + "次" + B01glassid + "应答" + yingda);
        aaa += 1;
        // 判断是否汇报正确的id
        int HB = spianMapper.SelectHB(B01glassid.toString());
        if (HB > 0) {
          // 当B01小车汇报完成时更改玻璃状态 为1
          S7control.getinstance().WriteWord("DB105.48", (short) 1);// 恢复B01小车应答改为1
          boolean yingda = spianService.listbool("DB105.48");// b01汇报
          if (yingda == true) {
            spianService.overtask(B01glassid.toString());// 完成任务
          }
          System.out.println("汇报时B01|第" + aaa + "次" + B01glassid + "应答" + yingda);
          aaa += 1;
        }
      }else{
        S7control.getinstance().WriteWord("DB105.48", (short) 0);// 恢复B01小车应答改为1
      }
      // 当出片小车完成任务时
      if (B02backs == true) {
        // 当B02小车汇报完成时更改玻璃状态为0
        // spianService.overtask(B02glassid.toString());// 完成任务
        // S7control.getinstance().WriteWord("DB106.62", (short) 0);// 恢复B02小车应答改为0
        // 判断是否汇报正确的id
        int HB = spianMapper.SelectHB(B02glassid.toString());
        System.out.println("汇报时B02|" + B02glassid);
        boolean yingda1 = spianService.listbool("DB106.62");// b02汇报
        System.out.println("汇报时B02|第" + aaa + "次" + B02glassid + "应答" + yingda1);
        if (HB > 0) {
          // 当B02小车汇报完成时更改玻璃状态为0
          S7control.getinstance().WriteWord("DB105.50", (short) 1);// 恢复B02小车应答改为1
          System.out.println("汇报时B02ID|" + B02glassid);
          boolean yingda = spianService.listbool("DB105.50");// b02汇报
          if (yingda == true) {
            spianService.overtask(B02glassid.toString());// 完成任务
          }
          System.out.println("汇报时B02|第" + aaa + "次" + B02glassid + "应答" + yingda);
        }
      }else{
         S7control.getinstance().WriteWord("DB105.50", (short) 0);// 恢复B02小车应答改为0
      }
@@ -160,6 +166,7 @@
        }
      }
      if (queueid2 != null) {
        // 写入D02的数据到上片队列表
        if (glass2 == null) {
@@ -173,8 +180,6 @@
        }
      }
      // 查询数据库
      // 推送到前端
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,11 +17,11 @@
        //
        System.out.println("启动完成");
         new PlcHold().start();
       //  new PLCAutoMes();
         new PLCAutomaticParameterSettingReview2();
       // new PlcHold().start();
        new PLCAutoMes().start();
        // new PLCAutomaticParameterSettingReview2().start();
        // new Plchome().start();
        //new Plchome().start();
        // new PlcLayout().start();
        // new Plcalarm().start();
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterObject.java
@@ -122,14 +122,15 @@
     */
    public void setPlcParameterList(byte[] plcValueArray) {
        if (plcParameterList != null) {
            for (PlcParameterInfo plcParameterInfo : plcParameterList) {
                byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
//                System.out.println(plcParameterInfo.getAddressLength());
                for (int i = 0; i < plcParameterInfo.getAddressLength(); i++) {
                    Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
                }
                if (plcParameterInfo.getAddressLength()==2) { 
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -117,6 +117,11 @@
                    int qidong2 = 0;
                    if (qidong == true) {
                        qidong2 = 1;
                    }else{
                        while (qidong) {
                            S7control.getinstance().WriteWord("DB105.16", (short) 1);// 出片任务发送字改为1
                            qidong = listbool("DB105.16");
                        }
                    }
                    spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,qidong2);// 新增任务
                    System.out.println("进片任务|" + datas);
@@ -193,6 +198,11 @@
            int qidong2 = 0;
            if (qidong == true) {
                qidong2 = 1;
            }else{
                while (qidong) {
                    S7control.getinstance().WriteWord("DB105.18", (short) 1);// 出片任务发送字改为1
                    qidong = listbool("DB105.18");
                }
            }
            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state, qidong2);// 新增任务
            outmesid(glassid, "DB105.34");// 派发出片ID
@@ -221,6 +231,11 @@
                int qidong2 = 0;
                if (qidong == true) {
                    qidong2 = 1;
                }else{
                    while (qidong) {
                        S7control.getinstance().WriteWord("DB105.18", (short) 1);// 出片任务发送字改为1
                        qidong = listbool("DB105.18");
                    }
                }
                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1, qidong2);// 新增任务
                return (200);// 结束
@@ -259,6 +274,11 @@
                    int qidong2 = 0;
                    if (qidong == true) {
                        qidong2 = 1;
                    }else{
                        while (qidong) {
                            S7control.getinstance().WriteWord("DB105.18", (short) 1);// 出片任务发送字改为1
                            qidong = listbool("DB105.18");
                        }
                    }
                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids, 2, qidong2);// 新增调度任务
@@ -291,6 +311,11 @@
                    int qidong2 = 2;
                    if (qidong == true) {
                        qidong2 = 1;
                    }else{
                        while (qidong) {
                            S7control.getinstance().WriteWord("DB105.18", (short) 1);// 出片任务发送字改为1
                            qidong = listbool("DB105.18");
                        }
                    }
                    spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids, 2, qidong2);// 新增调度任务
                    spianMapper.UpdateDBCage(ids, cage, cell, 2);// 将原格子数据更新到新格子里
springboot-vue3/src/main/resources/JsonFile/PlcMes.json
File was renamed from springboot-vue3/JsonFile/PlcMes.json
@@ -83,20 +83,20 @@
     {
       "codeId": "ReleaseID",
       "addressIndex":"34",
       "addressLenght":"16",
       "addressLenght":"14",
       "ratio":"1",
       "unit":"mm/S"
     },
     {
       "codeId": "B01report",
       "addressIndex":"50",
       "addressIndex":"48",
       "addressLenght":"2",
       "ratio":"1",
       "unit":"mm/S"
     },
     {
       "codeId": "B02report",
       "addressIndex":"52",
       "addressIndex":"50",
       "addressLenght":"2",
       "ratio":"1",
       "unit":"m/min"
springboot-vue3/src/main/resources/JsonFile/PlcRead.json
File was renamed from springboot-vue3/JsonFile/PlcRead.json
@@ -1,5 +1,5 @@
{
   "plcAddressBegin": "DB106.0.0",
   "plcAddressBegin": "DB106.0",
   "plcAddressLenght": "66",
   "dataType": "word",
   "parameteInfor": [{
springboot-vue3/src/main/resources/JsonFile/Plcframe.json