From 3677c6501ed94234f406d6444bab46e90824dac8 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期一, 24 二月 2025 09:58:16 +0800 Subject: [PATCH] * --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 23ff938..f15b955 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -58,6 +58,8 @@ add(144);add(145);add(146);add(147); add(148);add(149);add(150);add(151); add(152);add(153); + add(170); + add(171); }}; public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ add(200);add(201);add(202);add(203); @@ -67,6 +69,15 @@ add(216);add(217);add(218);add(219); add(220);add(221);add(222);add(2000); }}; + + public static final ArrayList<Integer> staNos1Super = new ArrayList<Integer>() {{ + add(118);add(119);add(120);add(121);add(122);add(123);add(131);add(135);add(147); + }}; + + public static final ArrayList<Integer> staNos2Super = new ArrayList<Integer>() {{ + add(213); + }}; + /** * 鏉$爜鏁伴噺 @@ -96,6 +107,17 @@ return staNos1; case 2: return staNos2; + default: + throw new CoolException("鏈嶅姟鍣ㄥ紓甯�"); + } + } + + private ArrayList<Integer> getStaNoSuper() { + switch (slave.getId()) { + case 1: + return staNos1Super; + case 2: + return staNos2Super; default: throw new CoolException("鏈嶅姟鍣ㄥ紓甯�"); } @@ -179,11 +201,35 @@ // // 鏇存柊鍏ュ嚭搴撴ā寮� // updateIoMode(); ArrayList<Integer> staNos = getStaNo(); + ArrayList<Integer> staNoSuper = getStaNoSuper(); int staNoSize = staNos.size(); + int staNoSuperSize = staNoSuper.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 + if (siteId==119){ + StaProtocol staProtocol = station.get(siteId); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(siteId); + station.put(siteId, staProtocol); + } + staProtocol.setWorkNo(0); // 宸ヤ綔鍙� + + staProtocol.setStaNo(0); // 鐩爣绔� + + boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, i*8 + 6, 2); + staProtocol.setAutoing(false); // 鑷姩 + staProtocol.setLoading(status[1]); // 鏈夌墿 + staProtocol.setInEnable(status[2]); // 鍙叆 + staProtocol.setOutEnable(status[3]);// 鍙嚭 + staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿 + staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� + staProtocol.setHigh(status[6]); // 楂樺簱浣� + staProtocol.setLow(status[7]); // 浣庡簱浣� + continue; + } StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); @@ -203,7 +249,6 @@ staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� staProtocol.setHigh(status[6]); // 楂樺簱浣� staProtocol.setLow(status[7]); // 浣庡簱浣� - if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); } @@ -295,6 +340,22 @@ staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0))); } + //绔欑偣瓒呯骇鏈夌墿淇″彿 + Thread.sleep(200); + OperateResultExOne<byte[]> resultStaSuper = siemensS7Net.Read("DB101.1320",(short)(staNoSuperSize*2)); + if (resultStaSuper.IsSuccess) { + for (int i = 0; i < staNoSuperSize; i++) { + Integer siteId = staNoSuper.get(i); // 绔欑偣缂栧彿 + StaProtocol staProtocol = station.get(siteId); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(siteId); + station.put(siteId, staProtocol); + } + short loadingSuper = siemensS7Net.getByteTransform().TransInt16(resultStaSuper.Content, i * 2); + staProtocol.setLoadingSuper(loadingSuper==0); // 鐩爣绔� + } + } if (result.IsSuccess) { @@ -382,7 +443,7 @@ case 118: index=0; break; - case 119: + case 171: index=1; break; case 120: @@ -449,7 +510,7 @@ case 118: index=0; break; - case 119: + case 171: index=1; break; case 120: -- Gitblit v1.9.1