From 2a35d8deefb89c4b463fdbafe79f2c7bd294621d Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 23 五月 2024 12:56:13 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 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 01ae79e..3f59baa 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -47,6 +47,7 @@ private SiemensS7Net siemensS7Net; private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); private short heartBeatVal = 1; + private Integer rgvCount = 4; 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(112);add(113);add(114);add(115);add(116);add(117);add(118);add(119);add(120);add(121);add(122);add(123); @@ -168,6 +169,19 @@ staProtocol.setPakMk(true); } } + if (slave.getId() == 2){ + for (int i = 1;i<5;i++){ + StaProtocol staProtocol = station.get(i); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(i); + station.put(i, staProtocol); + } + staProtocol.setWorkNo((short) 0); + staProtocol.setNearbySta((short) 3); + staProtocol.setLoading(false); + } + } } @Override @@ -238,6 +252,29 @@ } } + if (slave.getId() == 2){ + + OperateResultExOne<byte[]> resultRgvWrkNo = siemensS7Net.Read("DB55.222", (short) 98); + OperateResultExOne<byte[]> resultRgvLocation = siemensS7Net.Read("DB43.0", (short) 8); + OperateResultExOne<byte[]> resultRgvload = siemensS7Net.Read("DB192.0", (short) 8); + if (resultRgvWrkNo.IsSuccess && resultRgvLocation.IsSuccess && resultRgvload.IsSuccess){ + for (int i = 1;i<5;i++){ + short wrkNo = siemensS7Net.getByteTransform().TransInt16(resultRgvWrkNo.Content, i * 32); + short location = siemensS7Net.getByteTransform().TransInt16(resultRgvLocation.Content, i * 2); + boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgvload.Content, i*2, 1); + StaProtocol staProtocol = station.get(i); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(i); + station.put(i, staProtocol); + } + staProtocol.setWorkNo(wrkNo); + staProtocol.setNearbySta(location); + staProtocol.setLoading(status[0]); + } + } + } + if (slave.getId() == 1){ //鏉$爜 -- Gitblit v1.9.1