From b6dd05e2397b5280add41464b36a67ef312a9a86 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 14 十二月 2023 11:31:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 69 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index fbfb90f..99d6878 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -78,6 +78,18 @@ add(343);add(344); }}; + public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{//218 + add(302);add(304); + add(315);add(322); + add(324);add(330); + add(332);add(337); + }}; + + public static final ArrayList<Integer> staNos4 = new ArrayList<Integer>() {{//250 + add(318);add(320); + add(343); + }}; + //楂樹綆淇″彿绔欑偣 public static final ArrayList<Integer> locType1StaNos = new ArrayList<Integer>() {{ add(100);add(103); @@ -275,18 +287,63 @@ OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".0", (short) 48); if (result5.IsSuccess) { StaProtocol staProtocol = station.get(staNo); + StaProtocol staProtocol300 = station.get(300); if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(staNo); station.put(staNo, staProtocol); } - boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result5.Content, 8, 1); - boolean[] status2 = siemensS7Net.getByteTransform().TransBool(result5.Content, 21, 1); - staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 34)); // 宸ヤ綔鍙� - staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 40)); // 鐩爣绔� - staProtocol.setAutoing(status1[0]); // 鑷姩 - staProtocol.setLoading(status2[2]); // 鏈夌墿 + boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result5.Content, 1, 1); + staProtocol.setAutoing(staProtocol300.isAutoing()); // 鑷姩 + staProtocol.setLoading(status1[2]); // 鏈夌墿 + + if (staNos3.contains(staNo) || staNos4.contains(staNo)) { + continue; + } + if (staNo == 344) { + staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result5.Content, 34)); // 宸ヤ綔鍙� + }else { + staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result5.Content, 22)); // 宸ヤ綔鍙� + } + } + } + + Thread.sleep(100); + for (Integer staNo : staNos3) { + OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".22.0", (short) 2); + OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB" + staNo + ".218.0", (short) 2); + if (result5.IsSuccess && result6.IsSuccess) { + StaProtocol staProtocol = station.get(staNo); + short wrkNo1 = siemensS7Net.getByteTransform().TransInt16(result5.Content, 0); + short wrkNo2 = siemensS7Net.getByteTransform().TransInt16(result6.Content, 0); + short wrkNo = 0; + if (wrkNo1 != 0) { + wrkNo = wrkNo1; + } + if (wrkNo2 != 0) { + wrkNo = wrkNo2; + } + staProtocol.setWorkNo(wrkNo); // 宸ヤ綔鍙� + } + } + + Thread.sleep(100); + for (Integer staNo : staNos4) { + OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".22.0", (short) 2); + OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB" + staNo + ".250.0", (short) 2); + if (result5.IsSuccess && result6.IsSuccess) { + StaProtocol staProtocol = station.get(staNo); + short wrkNo1 = siemensS7Net.getByteTransform().TransInt16(result5.Content, 0); + short wrkNo2 = siemensS7Net.getByteTransform().TransInt16(result6.Content, 0); + short wrkNo = 0; + if (wrkNo1 != 0) { + wrkNo = wrkNo1; + } + if (wrkNo2 != 0) { + wrkNo = wrkNo2; + } + staProtocol.setWorkNo(wrkNo); // 宸ヤ綔鍙� } } -- Gitblit v1.9.1