ZengTao
2023-12-28 ec14c7c0b9a5d8240cfc3f2c80a48dfe1176f13e
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -39,10 +39,7 @@
    private Configuration config;
    private  StorageCageService storageCageService;
    private StorageCageService storageCageService;
    public Plchome() throws IOException {
        config = new Configuration("config.properties");
@@ -124,8 +121,11 @@
            // 获取进片车状态
            List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
                    1);// 获取进片车状态
            boolean exist1 = datas1ListState.contains((short) 0);
            if(datas1ListState!=null){
                boolean exist1 = datas1ListState.contains((short) 0);
            jsonObject.append("zhuangtai", exist1);
            }
            // 获取进片玻璃信息
            List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
            if (inglassInfo != null) {
@@ -171,19 +171,18 @@
                jsonObject.append("emergencystop", emergencystop);
            }
            //终止继续按钮
            // 终止继续按钮
            List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
            List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
//            Boolean[] value4 = { false, false};
//    List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
//            Boolean[] value5 = { true};
//            List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
            // Boolean[] value4 = { false, false};
            // List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
            // Boolean[] value5 = { true};
            // List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
            short[] anniuparams = new short[anniuread.size()];
            for (int i = 0; i < anniuread.size(); i++) {
                boolean value = anniuread.get(i);
                anniuparams[i] = value ? (short) 1 : (short) 0;
            }
            short[] resets2 = new short[resets.size()];
            for (int i = 0; i < resets.size(); i++) {
@@ -191,17 +190,14 @@
                resets2[i] = value ? (short) 1 : (short) 0;
            }
           System.out.println(resets);
            for (short number : resets2) {
                if (number == 1) {
                    System.out.println(resets);
                    jsonObject.append("Abort", anniuparams);
                }
            }
            // 铝框线交互
@@ -245,15 +241,13 @@
                    if (webserver != null) {
                        List<String> messages = webserver.getMessages();
                        if (!messages.isEmpty()) {
                            // 将最后一个消息转换为整数类型的列表
                            String lastMessage = messages.get(messages.size() - 1);
//        System.out.println("lastMessage:" + lastMessage);
                            // System.out.println("lastMessage:" + lastMessage);
                            JSONArray messageArray = new JSONArray(lastMessage);
                            try {
                                // 检查索引是否有效
@@ -275,8 +269,8 @@
                                                boolean val = "1".equals(cleanedValue.trim());
                                                // 将布尔值添加到布尔值列表中
                                                sValue.add(val);
                                                System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
                                                System.out.println(
                                                        "messageValue: " + Arrays.asList(val) + " added to the list");
                                            } catch (NumberFormatException e) {
                                                // 如果无法解析为 boolean 类型,则忽略该部分
@@ -284,7 +278,7 @@
                                            }
                                        }
                                    }
// 终止进片任务
                                    // 终止进片任务
                                    boolean Value1 = sValue.get(0);
                                    boolean Value2 = sValue.get(1);
@@ -301,7 +295,8 @@
                                        // 调用 S7control.getinstance().WriteBit 方法将布尔值列表写入地址列表
                                        S7control.getinstance().WriteBit(niuanaddressList3, sValue);
                                        System.out.println("Values " + sValue + " written to PLC at address " + niuanaddressList3);
                                        System.out.println(
                                                "Values " + sValue + " written to PLC at address " + niuanaddressList3);
                                    }
                                }
                            } catch (Exception e) {
@@ -309,7 +304,6 @@
                            }
                            webserver.clearMessages();
                        }
                    }