From e3b8bc50db4cf9d5fcac58b56d1cb7e25154c3a6 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期五, 09 八月 2024 10:34:26 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 33 ++++++++++++++++++++++++++++++++- 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 5978508..bda6582 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -8,7 +8,9 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SpringUtils; +import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; +import com.zy.asrs.mapper.BasDevpMapper; import com.zy.asrs.service.BasDevpService; import com.zy.common.utils.News; import com.zy.core.DevpThread; @@ -43,12 +45,18 @@ private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); private short heartBeatVal = 1; private int barcodeSize = 2; - public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{ + public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{ add(100);add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109); add(110);add(111); add(200);add(201);add(202);add(203);add(204);add(205);add(206);add(207);add(208);add(209); add(210);add(211); add(300); + }}; + public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{ + add(112);add(113);add(114); + }}; + public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{ + add(212);add(213);add(214); }}; public boolean charge0; @@ -69,6 +77,20 @@ */ public IoModeType ioModeOf1F = IoModeType.NONE; public IoModeType ioModeOf2F = IoModeType.NONE; + + private ArrayList<Integer> getStaNo() { + switch (slave.getId()) { + case 1: + return staNos1; + case 2: + return staNos2; + case 3: + return staNos3; + default: + throw new CoolException("鏈嶅姟鍣ㄥ紓甯�"); + } + } + @Override @SuppressWarnings("InfiniteLoopStatement") @@ -131,6 +153,7 @@ private void read() throws InterruptedException { // 鏇存柊鍏ュ嚭搴撴ā寮� updateIoMode(); + ArrayList<Integer> staNos = getStaNo(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) 50); if (result.IsSuccess) { for (int i = 0; i < 25; i++) { @@ -176,6 +199,12 @@ if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); + }else if (staProtocol.getSiteId().equals(300)){ + BasDevpMapper basDevpMapper = SpringUtils.getBean(BasDevpMapper.class); + BasDevp basDevp = basDevpMapper.selectByDevNo(300); + if (!basDevp.getWrkNo().equals(basDevp.getWrkNo1())){ + staProtocol.setPakMk(true); + } } } } @@ -237,6 +266,7 @@ if (null == staProtocol) { return; } + ArrayList<Integer> staNos = getStaNo(); int index = staNos.indexOf(staProtocol.getSiteId()); OperateResult writeId,writeDest; @@ -351,6 +381,7 @@ if (null == staProtocol || times > 3) { return; } + ArrayList<Integer> staNos = getStaNo(); int index = staNos.indexOf(staProtocol.getSiteId()); OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo()); // 宸ヤ綔鍙� Thread.sleep(200); -- Gitblit v1.9.1