From bc4a9c7700fbda51a57207fd445a02ad21e85911 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期四, 25 一月 2024 08:08:13 +0800 Subject: [PATCH] 自动确认状态下改为从后台直接发送进片任务 --- springboot-vue3/src/main/java/com/example/springboot/component/S7control.java | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 2 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java index 95ebb15..ce4f674 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java +++ b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java @@ -37,13 +37,21 @@ } return instance; } - + /** * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴 */ public void CloseS7client() { if (s7PLC == null) s7PLC.close(); + s7PLC.checkConnected(); + } + + /** + * s7閫氳杩炴帴鐘舵�� + */ + public boolean CheckConnected() { + return s7PLC.checkConnected(); } /** @@ -281,6 +289,41 @@ } + + + + public List<String> readStringsandword(List<String> addressList) { + if (s7PLC == null) { + return null; + } + List<String> result = new ArrayList<>(); + for (String address : addressList) { + try { + if (address.contains("-")) { + address = address.substring(0, address.indexOf("-")); + + byte[] bytes = s7PLC.readByte(address, 14); + if (bytes != null) { + String str = new String(bytes, StandardCharsets.UTF_8); + result.add(str); + } + + } else { + Short value = s7PLC.readInt16(address); + result.add(value.toString()); + + } + } catch (Exception e) { + System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage()); + result.add(null); + } + } + + return result; + } + + + //涓嶈繛缁湴鍧�鍐欏叆Word public void WriteWord(List<String> address, List<Short> datas) { if (s7PLC == null) @@ -345,7 +388,7 @@ try { return s7PLC.readTime(address); } catch (Exception e) { - e.printStackTrace(); + System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage()); return null; } } -- Gitblit v1.8.0