From 0681a6a2c33cdd1000e5e16535fd9f642c9b592a Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期五, 05 一月 2024 15:19:07 +0800 Subject: [PATCH] 增加出片队列铝框暂停 --- springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 0 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java b/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java index ae39320..36e26f5 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java +++ b/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java @@ -97,6 +97,10 @@ + + + + public void WriteWordsToPLC(JSONArray jsonArray, String address,int index) { if (jsonArray.getJSONArray(index).size() > 0) { Object value = jsonArray.getJSONArray(index).get(0); @@ -106,6 +110,24 @@ short sValue = Short.parseShort(cleanedValue.trim()); S7control.getinstance().WriteWord(address, Arrays.asList(sValue)); System.out.println("messageValue锛�" + Arrays.asList(sValue) + " written to PLC at address " + address); + } catch (NumberFormatException e) { + // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒� + System.err.println("Could not parse value: " + value); + } + } + } + } + + + public void Writetime(JSONArray jsonArray, String address,int index) { + if (jsonArray.getJSONArray(index).size() > 0) { + Object value = jsonArray.getJSONArray(index).get(0); + if (value != null && !value.toString().equals("null")) { + try { + long cleanedValue = Long.parseLong(value.toString().replaceAll("[^0-9-]", "")); + + S7control.getinstance().writetime(address, cleanedValue); + System.out.println("messageValue锛�" + Arrays.asList(cleanedValue) + " written to PLC at address " + address); } catch (NumberFormatException e) { // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒� System.err.println("Could not parse value: " + value); @@ -130,4 +152,74 @@ System.err.println("An error occurred while writing string to PLC: " + e.getMessage()); } } + + + + public void writeBitandrenwuToPLC(JSONArray messageArray, List<String> addresses, int index) { + try { + // 妫�鏌ョ储寮曟槸鍚︽湁鏁� + if (messageArray.getJSONArray(index).size() > 0) { + // 鑾峰彇娑堟伅鏁扮粍 + JSONArray jsonArray = messageArray.getJSONArray(index); + // 鍒涘缓涓�涓竷灏斿�煎垪琛� + List<Boolean> sValue = new ArrayList<>(); + // 閬嶅巻娑堟伅鏁扮粍 + for (int i = 0; i < jsonArray.size(); i++) { + // 鑾峰彇娑堟伅鏁扮粍涓殑鍊� + Object value = jsonArray.get(i); + // 妫�鏌ュ�兼槸鍚︽湁鏁� + if (value != null && !value.toString().equals("null")) { + try { + // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃 + String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); + // 瑙f瀽涓哄竷灏斿�� + boolean val = "1".equals(cleanedValue.trim()); + // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑 + sValue.add(val); + System.out.println("messageValue: " + Arrays.asList(val) + " added to the list"); + if(sValue.get(1)){ + + } + + + + } catch (NumberFormatException e) { + // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒� + System.err.println("Could not parse value: " + value); + } + } + } + // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌� + if (!sValue.isEmpty()) { + + // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃 + S7control.getinstance().WriteBit(addresses, sValue); + System.out.println("Values " + sValue + " written to PLC at address " + addresses); + } + } + } catch (Exception e) { + System.err.println("An error occurred while writing bit to PLC: " + e.getMessage()); + } + } + + + + public short[] convertBooleanListToShortArray(List<Boolean> booleanList) { + short[] shortArray = new short[booleanList.size()]; + for (int i = 0; i < booleanList.size(); i++) { + boolean value = booleanList.get(i); + shortArray[i] = value ? (short) 1 : (short) 0; + } + return shortArray; + } + + + + + + + + + + } -- Gitblit v1.8.0