ZengTao
2023-12-04 1479f77b88e355ce2c7c073458d919c8e06baa18
Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

# Conflicts:
# CanadaMes-ui/src/views/home/index.vue
# springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
# springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
# springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java
17个文件已修改
385 ■■■■■ 已修改文件
CanadaMes-ui/src/configuration/AutomaticParameterSetting.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/Positioning1.json 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/Positioning2.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/parameter1.json 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter1.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Positioning1.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Positioning2.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/Glass.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/OrderOut.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
@@ -7,6 +7,7 @@
      "type": "0",
      "address": "DB100.0",
      "count": 3,
      "unit": "°",
      "value": ""
    },
    {
@@ -14,6 +15,7 @@
      "read": 11,
      "sending": "",
      "address": "DB100.0",
      "unit": "°",
      "type": "0",
      "value": ""
    },
@@ -21,6 +23,7 @@
      "name": "A01输送接片角度",
      "read": 22,
      "sending": "",
      "unit": "°",
      "address": "DB100.0",
      "type": "0",
      "value": ""
@@ -29,6 +32,7 @@
      "name": "A01笼子角度",
      "read": 22,
      "sending": "",
      "unit": "°",
      "address": "DB100.0",
      "type": "0",
      "value": ""
@@ -40,6 +44,7 @@
      "read": 33,
      "sending": "",
      "type": "0",
      "unit": "°",
      "address": "DB100.0",
      "count": 3,
      "value": ""
@@ -48,6 +53,7 @@
      "name": "A02行走低速角度",
      "read": 11,
      "sending": "",
      "unit": "°",
      "address": "DB100.0",
      "type": "0",
      "value": ""
@@ -56,6 +62,7 @@
      "name": "A02输送接片角度",
      "read": 22,
      "sending": "",
      "unit": "°",
      "address": "DB100.0",
      "type": "0",
      "value": ""
@@ -64,6 +71,7 @@
      "name": "A02笼子角度",
      "read": 22,
      "sending": "",
      "unit": "°",
      "address": "DB100.0",
      "type": "0",
      "value": ""
@@ -75,6 +83,7 @@
      "read": 100,
      "sending": "",
      "type": "0",
      "unit": "m/min",
      "address": "DB100.0",
      "count": 3,
      "value": ""
@@ -85,6 +94,7 @@
      "name": "小车自动速度",
      "read": 11,
      "sending": "",
      "unit": "m/min",
      "address": "DB100.0",
      "type": "0",
      "value": ""
@@ -95,6 +105,7 @@
      "name": "自动翻转速度",
      "read": 33,
      "sending": "",
      "unit": "m/min",
      "address": "DB100.0",
      "type": "0",
      "value": ""
CanadaMes-ui/src/configuration/Positioning1.json
@@ -4,6 +4,7 @@
    "read": 33,
    "sending": 0,
    "type": "0",
    "unit": "mm",
    "value":"0"
    
  }],
@@ -12,6 +13,7 @@
      "read": 33,
      "sending": 0,
      "type": "0",
      "unit": "mm",
      "value":"0"
      
    }],
@@ -20,6 +22,7 @@
      "read": 33,
      "sending": 0,
      "type": "0",
      "unit": "mm",
      "value":"0"
      
    }],
@@ -38,6 +41,7 @@
        "read": 33,
        "sending": 0,
        "type": "0",
        "unit": "mm",
        "value":"0",
        "address":"DB100.48",
        "count":10
@@ -46,6 +50,7 @@
        "name": "22#格地址",
        "read": 11,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -53,6 +58,7 @@
        "name": "43#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -60,6 +66,7 @@
        "name": "64#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -67,6 +74,7 @@
        "name": "85#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -74,6 +82,7 @@
        "name": "106#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -81,6 +90,7 @@
        "name": "127#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -88,6 +98,7 @@
        "name": "148#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -95,6 +106,7 @@
        "name": "169#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -102,6 +114,7 @@
        "name": "190#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      }
@@ -123,6 +136,7 @@
        "read": 33,
        "sending": 0,
        "type": "0" ,
        "unit": "mm",
        "value":"0",
        "address":"DB100.68",
        "count":10
@@ -131,6 +145,7 @@
        "name": "22#格地址",
        "read": 11,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -138,6 +153,7 @@
        "name": "43#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -145,6 +161,7 @@
        "name": "64#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -152,6 +169,7 @@
        "name": "85#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -159,6 +177,7 @@
        "name": "106#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -166,6 +185,7 @@
        "name": "127#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -173,6 +193,7 @@
        "name": "148#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -180,6 +201,7 @@
        "name": "169#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0" ,
        "value":"0"
      },
@@ -188,6 +210,7 @@
        "read": 22,
        "sending": 0,
        "type": "0" ,
        "unit": "mm",
        "value":"0"
      }
     
CanadaMes-ui/src/configuration/Positioning2.json
@@ -12,6 +12,7 @@
        "read": 33,
        "sending": 0,
        "type": "0",
        "unit": "mm",
        "address":"DB100.0",
        "count":3,
        "value":"0"
@@ -20,6 +21,7 @@
        "name": "22#格地址",
        "read": 11,
        "sending": 0,
        "unit": "mm",
        "type": "0"
        ,
        "value":"0"
@@ -28,6 +30,7 @@
        "name": "43#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0",
        "value":"0"
      },
@@ -35,6 +38,7 @@
        "name": "64#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0",
        "value":"0"
      },
@@ -42,6 +46,7 @@
        "name": "85#格地址",
        "read": 22,
        "sending": 0,
        "unit": "mm",
        "type": "0",
        "value":"0"
      }
@@ -61,6 +66,7 @@
            "name": "106#格地址",
            "read": 22,
            "sending": 0,
            "unit": "mm",
            "type": "0",
            "value":"0"
          },
@@ -68,6 +74,7 @@
            "name": "127#格地址",
            "read": 22,
            "sending": 0,
            "unit": "mm",
            "type": "0",
            "value":"0"
          },
@@ -75,6 +82,7 @@
            "name": "148#格地址",
            "read": 22,
            "sending": 0,
            "unit": "mm",
            "type": "0",
            "value":"0"
          },
@@ -82,6 +90,7 @@
            "name": "169#格地址",
            "read": 22,
            "sending": 0,
            "unit": "mm",
            "type": "0",
            "value":"0"
          },
@@ -89,6 +98,7 @@
            "name": "190#格地址",
            "read": 22,
            "sending": 0,
            "unit": "mm",
            "type": "0",
            "value":"0"
          }
CanadaMes-ui/src/configuration/parameter1.json
@@ -12,7 +12,7 @@
        "read": 33,
        "sending": 0,
        "type": "0",
        "address":"DB100.0",
        "unit": "m/min",
        "count":3,
        "value":0
      },
@@ -21,6 +21,7 @@
        "read": 11,
        "sending": 0,
        "type": "0",
        "unit": "m/min",
        "value":0
      },
      {
@@ -28,6 +29,7 @@
        "read": 11,
        "sending": 0,
        "type": "0",
        "unit": "m/min",
        "value":0
      },
      {
@@ -35,6 +37,7 @@
        "read": 22,
        "sending": 0,
        "type": "0",
        "unit": "m/min",
        "value":0
      }
      
@@ -53,7 +56,7 @@
      "read": 33,
      "sending": 0,
      "type": "0",
      "address":"DB100.0",
      "unit": "m/min",
      "count":3,
      "value":0
    },
@@ -61,6 +64,7 @@
      "name": "高速线速度",
      "read": 11,
      "sending": 0,
      "unit": "m/min",
      "type": "0",
      "value":0
    },
@@ -68,6 +72,7 @@
      "name": "低速线速度",
      "read": 11,
      "sending": 0,
      "unit": "m/min",
      "type": "0",
      "value":0
    },
@@ -75,6 +80,7 @@
      "name": "手动速度",
      "read": 22,
      "sending": 0,
      "unit": "m/min",
      "type": "0",
      "value":0
    }
@@ -92,7 +98,7 @@
    "read": 33,
    "sending": 0,
    "type": "0",
    "address":"DB100.0",
    "unit": "m/min",
    "count":3,
    "value":0
  },
@@ -101,6 +107,7 @@
    "read": 11,
    "sending": 0,
    "type": "0",
    "unit": "m/min",
    "value":0
  },
  {
@@ -108,6 +115,7 @@
    "read": 11,
    "sending": 0,
    "type": "0",
    "unit": "m/min",
    "value":0
  },
  {
@@ -115,6 +123,7 @@
    "read": 22,
    "sending": 0,
    "type": "0",
    "unit": "m/min",
    "value":0
  }
  
@@ -127,7 +136,8 @@
  "read": 33,
  "sending": 0,
  "type": "0",
  "address":"DB100.0",
  "unit": "mm/S",
  "count":3,
  "value":0
}
@@ -141,6 +151,7 @@
    "name": "小车点动速度",
    "read": 11,
    "sending": 0,
    "unit": "mm/S",
    "type": "0",
    "value":0
  }
CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -53,6 +53,8 @@
              <span class="name" v-if="item.type === '0'" style="width:300px;">{{ item.name }}</span>
              <el-input style="width:250px;" v-if="item.type === '0'" v-model="item.value" class="input-box"
                @keyup.enter.native="submitDataToBackend"></el-input>
                <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span>
            </div>
          </div>
        </el-card>
CanadaMes-ui/src/views/Electrical/Parameter1.vue
@@ -57,6 +57,8 @@
              <span class="name" style="width:250px;">{{ item.name }}</span>
              <el-input v-if="item.type === '0'" v-model="item.value" class="input-box"
                @keyup.enter.native="submitDataToBackend"></el-input>
                <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span>
            </div>
          </div>
CanadaMes-ui/src/views/Electrical/Positioning1.vue
@@ -56,7 +56,7 @@
            <div class="item-row">
              <span class="name" style="width:250px;">{{ item.name }}</span>
              <el-input v-if="item.type === '0'" v-model="item.value" class="input-box"      @keyup.enter.native="submitDataToBackend" ></el-input>
              <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span>
              <!-- <el-button
CanadaMes-ui/src/views/Electrical/Positioning2.vue
@@ -57,6 +57,7 @@
              <span class="name" style="width:250px;">{{ item.name }}</span>
              <el-input v-if="item.type === '0'" v-model="item.value" class="input-box"    @keyup.enter.native="submitDataToBackend"></el-input>
              <!-- <el-button v-if="item.type === '0'" class="input-box" @click="submitDataToBackend();">取地址</el-button> -->
              <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span>
            </div>
          </div>
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -48,7 +48,7 @@
      // // TODO Auto-generated catch block
      // e.printStackTrace(); 
      // }
      //spianService.selectout2("250");
      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);// 获取进片车任务是否启动
@@ -64,6 +64,7 @@
        spianMapper.Updatetask(1, 0);// 更改进片任务状态为1
        spianMapper.UpdatetaskOut(B01glassid.toString()); // 完成上一次出片或者进片任务
        spianMapper.OverOutSlice(B01glassid.toString(), 2);// 完成出片队列任务
        spianMapper.UpdataGlassCage(B01glassid.toString(),0);// 清除出片格子玻璃信息
        S7control.getinstance().WriteWord("DB106.60", (short) 0);// 恢复B01小车应答改为0
        System.out.println("汇报时B01|" + B01glassid);
@@ -76,6 +77,7 @@
        spianMapper.UpdateCageOver(B02glassid.toString(), 0);// 更改笼子表出片状态
        spianMapper.UpdatetaskOut(B02glassid.toString()); // 完成上一次出片或者进片任务
        spianMapper.OverOutSlice(B02glassid.toString(), 2);// 完成出片队列任务
        spianMapper.UpdataGlassCage(B01glassid.toString(),0);// 清除出片格子玻璃信息
        S7control.getinstance().WriteWord("DB106.62", (short) 0);// 恢复B02小车应答改为0
        // S7control.getinstance().WriteWord("DB105.50", (short) 1);//汇报B02小车收到
        System.out.println("汇报时B02|" + B02glassid);
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
@@ -73,26 +73,26 @@
      List<String> addresses = new ArrayList<>();
      addresses.add("DB100.108");
      addresses.add("DB100.20");
      addresses.add("DB103.52");
      addresses.add("DB103.32");
      List<Short> arraylist = S7control.getinstance().readWords(addresses);
//       System.out.println(arraylist);
      // System.out.println(arraylist);
      List<String> addresses2 = new ArrayList<>();
      addresses2.add("DB100.110");
      addresses2.add("DB100.176");
      addresses2.add("DB103.54");
      addresses2.add("DB103.34");
      List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
      List<String> addresses3 = new ArrayList<>();
      addresses3.add("DB100.112");
      addresses3.add("DB100.24");
      addresses3.add("DB103.56");
      addresses3.add("DB103.36");
      List<Short> arraylist3 = S7control.getinstance().readWords(addresses3);
      List<String> addresses4 = new ArrayList<>();
      addresses4.add("DB100.114");
      addresses4.add("DB100.178");
      addresses4.add("DB103.60");
      addresses4.add("DB103.40");
      List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
      List<Short> arraylist5 = S7control.getinstance().ReadWord("DB103.40", 1);
@@ -104,15 +104,46 @@
      addresses9.add("DB104.1.3");
      addresses9.add("DB104.1.6");
      addresses9.add("DB104.1.7");
//      addresses9.add("DB104.28");
//      addresses9.add("DB104.30");
      List<Boolean> arraylist9 = S7control.getinstance().readBits(addresses9);
      List<String> addresses10 = new ArrayList<>();
      addresses10.add("DB104.9.4");
      addresses10.add("DB104.9.5");
      addresses10.add("DB104.9.4");
      addresses10.add("DB104.9.5");
      List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
      // Short[] values1 = { 1, 2, 3 };
      // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
      // Short[] values2 = { 1, 2, 3 };
      // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
      // Short[] values3 = { 1, 2, 3 };
      // List<Short> arraylist3 = new ArrayList<>(Arrays.asList(values3));
      // Short[] values4 = { 1, 2, 3 };
      // List<Short> arraylist4 = new ArrayList<>(Arrays.asList(values4));
      // Short[] values5 = { 5 };
      // List<Short> arraylist5 = new ArrayList<>(Arrays.asList(values5));
      // Short[] values6 = { 6 };
      // List<Short> arraylist6 = new ArrayList<>(Arrays.asList(values6));
      // Short[] values7 = { 7 };
      // List<Short> arraylist7 = new ArrayList<>(Arrays.asList(values7));
      // Short[] values8 = { 8 };
      // List<Short> arraylist8 = new ArrayList<>(Arrays.asList(values8));
      // Boolean[] values9 = { false, false, true, true };
      // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
      short[] params2 = new short[arraylist9.size()];
      for (int i = 0; i < arraylist9.size(); i++) {
        boolean value = arraylist9.get(i);
        params2[i] = value ? (short) 1 : (short) 0;
      }
//      List<Short> arraylist9 = S7control.getinstance().readWords(addresses9);
      // Boolean[] values10 = { false, false, true, true };
      // List<Boolean> arraylist10 = new ArrayList<>(Arrays.asList(values10));
      short[] params3 = new short[arraylist10.size()];
      for (int i = 0; i < arraylist10.size(); i++) {
        boolean value = arraylist10.get(i);
        params3[i] = value ? (short) 1 : (short) 0;
      }
      // List<Short> arraylist9 = S7control.getinstance().readWords(addresses9);
      arraylist5.addAll(arraylist6);
      arraylist5.addAll(arraylist7);
      arraylist5.addAll(arraylist8);
@@ -125,6 +156,7 @@
      jsonObject.append("zuhe4", arraylist4);
      jsonObject.append("shishi1", arraylist5);
      jsonObject.append("guzhang", params2);
      jsonObject.append("weihuiling", params3);
      // jsonObject.append("weihuiling", arraylist8);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
@@ -138,27 +170,27 @@
        List<String> waddresses1 = new ArrayList<>();
        waddresses1.add("DB100.108");
        waddresses1.add("DB100.20");
        waddresses1.add("DB103.52");
        waddresses1.add("DB103.32");
        List<String> waddresses2 = new ArrayList<>();
        waddresses2.add("DB100.110");
        waddresses2.add("DB100.176");
        waddresses2.add("DB103.54");
       waddresses2.add("DB103.34");
        List<String> waddresses3 = new ArrayList<>();
        waddresses3.add("DB100.112");
        waddresses3.add("DB100.24");
        waddresses3.add("DB103.56");
       waddresses3.add("DB103.36");
        List<String> waddresses4 = new ArrayList<>();
        waddresses4.add("DB100.114");
        waddresses4.add("DB100.178");
        waddresses4.add("DB103.60");
        waddresses4.add("DB103.40");
        // 故障地址
        List<String> waddresses5 = new ArrayList<>();
        waddresses5.add("DB103.244");
        waddresses5.add("DB103.250");
        // waddresses5.add("DB103.244");
        // waddresses5.add("DB103.250");
        waddresses5.add("DB103.252");
        waddresses5.add("DB103.254");
@@ -171,10 +203,12 @@
        // 回零地址
        List<String> waddresses7 = new ArrayList<>();
        waddresses7.add("DB101.4.5");
        waddresses7.add("DB101.4.7");
        System.out.println(messages.isEmpty());
        // System.out.println(messages.isEmpty());
        if (!messages.isEmpty()) {
          // 将最后一个消息转换为 short 类型的列表
          String lastMessage = messages.get(messages.size() - 1);
@@ -205,7 +239,8 @@
          }
          // 写入A02
          if (messageArray.getJSONArray(1).size() > 0) {
          if (  messageArray.getJSONArray(1).size() > 0) {
            JSONArray jsonArray = messageArray.getJSONArray(1);
            List<Short> sValue2 = new ArrayList<>();
            for (int i = 0; i < jsonArray.size(); i++) {
@@ -247,7 +282,7 @@
              }
            }
            if (!sValue2.isEmpty()) {
              S7control.getinstance().WriteWord(waddresses2, sValue2);
              S7control.getinstance().WriteWord(waddresses3, sValue2);
              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3);
            }
          }
@@ -271,7 +306,7 @@
              }
            }
            if (!sValue2.isEmpty()) {
              S7control.getinstance().WriteWord(waddresses2, sValue2);
              S7control.getinstance().WriteWord(waddresses4, sValue2);
              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses4);
            }
          }
@@ -302,59 +337,49 @@
          // 写入复位地址
          if (messageArray.getJSONArray(5).size() > 0) {
            JSONArray jsonArray = messageArray.getJSONArray(5);
            List<Short> sValue2 = new ArrayList<>();
            List<Boolean> messageBooleans = new ArrayList<>();
            for (int i = 0; i < jsonArray.size(); i++) {
              Object value = jsonArray.get(i);
            JSONArray jsonArray3 = messageArray.getJSONArray(5);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  short val = Short.parseShort(cleanedValue.trim());
                  sValue2.add(val);
                  // 将消息值转换为布尔列表
                  for (short values : sValue2) {
                    messageBooleans.add(values == 1 ? true : false);
                  }
                  System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 short 类型,则忽略该部分
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!messageBooleans.isEmpty()) {
              // S7control.getinstance().WriteWord(waddresses6, messageBooleans);
              System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses6);
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses6, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses6);
            }
          }
          // 写入回零地址
          if (messageArray.getJSONArray(6).size() > 0) {
            JSONArray jsonArray = messageArray.getJSONArray(6);
            List<Short> sValue2 = new ArrayList<>();
            List<Boolean> messageBooleans = new ArrayList<>();
            for (int i = 0; i < jsonArray.size(); i++) {
              Object value = jsonArray.get(i);
            JSONArray jsonArray3 = messageArray.getJSONArray(6);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  short val = Short.parseShort(cleanedValue.trim());
                  sValue2.add(val);
                  // 将消息值转换为布尔列表
                  for (short values : sValue2) {
                    messageBooleans.add(values == 1 ? true : false);
                  }
                  System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 short 类型,则忽略该部分
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!messageBooleans.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses7, messageBooleans);
              System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses7);
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses7, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses7);
            }
          }
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
@@ -71,21 +71,21 @@
      // Integer Plccount = this.count;
      List<String> addresses = new ArrayList<>();
      addresses.add("DB100.16");
      addresses.add("DB100.116");
      addresses.add("DB100.16");
      addresses.add("DB103.20");
      List<Short> arraylist = S7control.getinstance().readWords(addresses);
//       System.out.println(arraylist);
      // System.out.println(arraylist);
      List<String> addresses2 = new ArrayList<>();
      addresses2.add("DB100.192");
      addresses2.add("DB100.118");
      addresses2.add("DB100.192");
      addresses2.add("DB103.22");
      List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
      List<String> addresses9 = new ArrayList<>();
      addresses9.add("DB104.1.2");
      addresses9.add("DB104.1.3");
@@ -96,13 +96,37 @@
        params2[i] = value ? (short) 1 : (short) 0;
      }
      // Short[] values1 = { 1, 2, 3 };
      // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1));
      // Short[] values2 = { 1, 2, 3 };
      // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2));
      // Boolean[] values9 = { false, true };
      // List<Boolean> arraylist9 = new ArrayList<>(Arrays.asList(values9));
      // short[] params2 = new short[arraylist9.size()];
      // for (int i = 0; i < arraylist9.size(); i++) {
      // boolean value = arraylist9.get(i);
      // params2[i] = value ? (short) 1 : (short) 0;
      // }
      // Boolean[] values10 = { false, true };
      List<String> addresses10 = new ArrayList<>();
      addresses10.add("DB104.9.0");
      addresses10.add("DB104.9.1");
      List<Boolean> arraylist10 = S7control.getinstance().readBits(addresses10);
      short[] params3 = new short[arraylist10.size()];
      for (int i = 0; i < arraylist10.size(); i++) {
        boolean value = arraylist10.get(i);
        params3[i] = value ? (short) 1 : (short) 0;
      }
      JSONObject jsonObject = new JSONObject();
      // System.out.println(arraylist);
      jsonObject.append("zuhe1", arraylist);
      jsonObject.append("zuhe2", arraylist2);
      jsonObject.append("guzhang", params2);
      // jsonObject.append("weihuiling", arraylist8);
      jsonObject.append("weihuiling", params3);
      // System.out.println(jsonObject);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
@@ -112,14 +136,14 @@
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
        List<String> waddresses1 = new ArrayList<>();
        waddresses1.add("DB100.108");
        waddresses1.add("DB100.20");
        waddresses1.add("DB103.52");
        waddresses1.add("DB100.116");
        waddresses1.add("DB100.16");
        List<String> waddresses2 = new ArrayList<>();
        waddresses2.add("DB100.110");
        waddresses2.add("DB100.176");
        waddresses2.add("DB103.54");
        waddresses2.add("DB100.118");
        waddresses2.add("DB100.192");
        // 故障地址
        List<String> waddresses3 = new ArrayList<>();
@@ -216,59 +240,49 @@
          // 写入复位地址
          if (messageArray.getJSONArray(3).size() > 0) {
            JSONArray jsonArray = messageArray.getJSONArray(3);
            List<Short> sValue2 = new ArrayList<>();
            List<Boolean> messageBooleans = new ArrayList<>();
            for (int i = 0; i < jsonArray.size(); i++) {
              Object value = jsonArray.get(i);
            JSONArray jsonArray3 = messageArray.getJSONArray(3);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  short val = Short.parseShort(cleanedValue.trim());
                  sValue2.add(val);
                  // 将消息值转换为布尔列表
                  for (short values : sValue2) {
                    messageBooleans.add(values == 1 ? true : false);
                  }
                  System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 short 类型,则忽略该部分
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!messageBooleans.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses4, messageBooleans);
              System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses4);
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses4, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses4);
            }
          }
          // 写入回零地址
          if (messageArray.getJSONArray(4).size() > 0) {
            JSONArray jsonArray = messageArray.getJSONArray(4);
            List<Short> sValue2 = new ArrayList<>();
            List<Boolean> messageBooleans = new ArrayList<>();
            for (int i = 0; i < jsonArray.size(); i++) {
              Object value = jsonArray.get(i);
            JSONArray jsonArray3 = messageArray.getJSONArray(4);
            List<Boolean> sValue3 = new ArrayList<>();
            for (int i = 0; i < jsonArray3.size(); i++) {
              Object value = jsonArray3.get(i);
              if (value != null && !value.toString().equals("null")) {
                try {
                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
                  short val = Short.parseShort(cleanedValue.trim());
                  sValue2.add(val);
                  // 将消息值转换为布尔列表
                  for (short values : sValue2) {
                    messageBooleans.add(values == 1 ? true : false);
                  }
                  System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
                  boolean val = "1".equals(cleanedValue.trim());
                  sValue3.add(val);
                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                } catch (NumberFormatException e) {
                  // 如果无法解析为 short 类型,则忽略该部分
                  // 如果无法解析为 boolean 类型,则忽略该部分
                  System.err.println("Could not parse value: " + value);
                }
              }
            }
            if (!messageBooleans.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses5, messageBooleans);
              System.out.println("Values " + messageBooleans + " written to PLC at address " + waddresses5);
            if (!sValue3.isEmpty()) {
              S7control.getinstance().WriteBit(waddresses5, sValue3);
              System.out.println("Values " + sValue3 + " written to PLC at address " + waddresses5);
            }
          }
springboot-vue3/src/main/java/com/example/springboot/entity/Glass.java
@@ -2,10 +2,10 @@
public class Glass {
  private Integer id;
  private String orderId;
  private double width;
  private double height;
  private String glassId;
  private String orderId;//订单id
  private double width;//宽度
  private double height;//高度
  private String glassId;//玻璃id
  public Integer id() {
    return id;
springboot-vue3/src/main/java/com/example/springboot/entity/OrderOut.java
@@ -4,8 +4,8 @@
public class OrderOut {
    private Integer id;
    private String orderid;
    private Integer state;
    private String orderid;//订单id
    private Integer state;//状态
    private Date modtime;
    public Integer id() {
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
@@ -1,22 +1,22 @@
package com.example.springboot.entity;
public class StorageCage {
    private Integer id;
    private Integer prcId;
    private String glassId;
    private Integer cage;
    private Integer cell;
    private Double width;
    private Double glasswidth;
    private Double glassheight;
    private Double glasswidthmm;
    private Double glassheightmm;
    private String state;
    private Integer tier;
    private String orderId;
    private Integer disabled;
    private String listId;
    private String boxId;
    private Integer id; //自序id
    private Integer prcId;//plcid
    private String glassId;//玻璃id
    private Integer cage;//笼子号
    private Integer cell;//格子号
    private Double width;//格子宽
    private Double glasswidth;//玻璃宽
    private Double glassheight;//玻璃高
    private Double glasswidthmm;//英寸玻璃宽
    private Double glassheightmm;//英寸玻璃高
    private String state;//状态
    private Integer tier;//内外片
    private String orderId;//订单id
    private Integer disabled;//停用
    private String listId;//集合id
    private String boxId;//箱子id
    private north_glass_buffer1 north_glass_buffer1s;
springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
@@ -1,12 +1,12 @@
package com.example.springboot.entity;
public class StorageTask{
    private Integer id;
    private String taskType;
    private String glassId;
    private Integer id;//自序
    private String taskType;//类型
    private String glassId;//玻璃id
    private String cataskStatege;
    private String shelfRack;
    private String loadrack;
    private String shelfRack;//起始位
    private String loadrack;//目标位
    
    public Integer id() {
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -58,8 +58,11 @@
     StorageCage selectGlassCage(int cage,double width,int cage1,int cage2);
    //删除笼子信息(出片)
    @Update("update storage_cage as a set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=0 where cage=#{cage} and cell=#{cell} and tier=#{tier};")
    void UpdataGlassCage(String orderid,String glassid,double width,int cage,int cell,int tier,int state);
    @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=0,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glassid=#{glassid};")
    void UpdataGlassCage(String glassid,int state);
     //改变玻璃状态为出片中
    @Update("update storage_cage as a set state=#{state} where glass_id=#{glassid};")
    void UpdataGlassCageState(String glassid,int state);
    //修改笼子信息(进片)
    @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};")
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -291,7 +291,7 @@
                datas.add((short) 1);
                spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息
                spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态
                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, orderid);// 新增任务
                S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务
                outmesid(glassid,"DB105.34");// 派发出片ID
@@ -315,7 +315,7 @@
                    datas.add((short) 1);
                    spianMapper.Inserttask(1, 0,prcid, 1000, orderid);// 新增任务
                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);// 清除格子玻璃信息
                    spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态
                    //S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务
                    //outmesid(glassid);// 派发出片ID
                    if (pd != null) {
@@ -350,7 +350,7 @@
                        spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里
                        spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度
                        spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                        spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据
                        spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态
                        spianMapper.Inserttask(2, 0, cageout.getId(), ids, orderid);// 新增调度任务
                        // 传输mes数据,坐标,数据
                        S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务
@@ -378,7 +378,7 @@
                        spianMapper.Inserttask(2, 0, cageout.getId(), ids, orderid);// 新增调度任务
                        spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度
                        spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                        spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据
                        spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态
                        // 传输mes数据,坐标,数据
                        S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务
@@ -430,7 +430,8 @@
            datas.add((short) 1);
            spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中
            spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 3);// 清除格子玻璃信息
            spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态
            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增任务
            // int state = spianMapper.selectGlassState(cage, cell);//获取格子数量
            if (state == 2) {
@@ -452,12 +453,12 @@
                datas.add((short) 1000);
                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);// 清除格子玻璃信息
                spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态
                spianMapper.OverOutSlice(glassid,2);//完成出片队列任务
                outmesid(glassid,"DB105.34");// 派发出片ID
                S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务
                return (200);// 结束
@@ -485,7 +486,7 @@
                    spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里
                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度
                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据
                    spianMapper.UpdataGlassCageState(glassids,3);//更改笼子表的玻璃状态
                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid);// 新增调度任务
                    //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务
                    // 传输mes数据,坐标,数据
@@ -515,7 +516,7 @@
                    spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里
                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度
                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度
                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 3);// 清除被调拨格子数据
                    spianMapper.UpdataGlassCageState(glassids,3);//更改笼子表的玻璃状态
                    // 传输mes数据,坐标,数据
                    S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务