From 23dad6ec6a8496feab15c2c95e8f9b6593c05ef7 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 12 四月 2024 15:28:13 +0800 Subject: [PATCH] #SuperLoaded --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 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..e1bd0b0 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -68,6 +68,15 @@ 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(131);add(135);add(147); + }}; + + public static final ArrayList<Integer> staNos2Super = new ArrayList<Integer>() {{ + add(213); + }}; + + /** * 鏉$爜鏁伴噺 */ @@ -96,6 +105,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,7 +199,9 @@ // // 鏇存柊鍏ュ嚭搴撴ā寮� // 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++) { @@ -295,6 +317,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(result.Content, i * 2); + staProtocol.setLoadingSuper(loadingSuper==0); // 鐩爣绔� + } + } if (result.IsSuccess) { -- Gitblit v1.9.1