From fef0596c74e1a82f5c5b7fac7686e3b520844555 Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期四, 14 十二月 2023 19:13:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/tzskwcs_3' into tzskwcs_3 --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 97 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 77 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index f128698..c070adc 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); @@ -158,7 +170,7 @@ OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); News.error("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); } - siemensS7Net.ConnectClose(); +// siemensS7Net.ConnectClose(); return result; } @@ -270,25 +282,70 @@ } } -// Thread.sleep(100); -// for (Integer staNo : staNos2) { -// OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".0", (short) 48); -// if (result5.IsSuccess) { -// StaProtocol staProtocol = station.get(staNo); -// 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]); // 鏈夌墿 -// } -// } + Thread.sleep(100); + for (Integer staNo : staNos2) { + 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, 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); // 宸ヤ綔鍙� + } + } if (result.IsSuccess && result1.IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); -- Gitblit v1.9.1