From bdf490f12fa38c99593fdace907fa5379cc04413 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期日, 07 一月 2024 15:17:42 +0800 Subject: [PATCH] #输送报警对接+回退 --- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 53 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 11e0670..3ef813e 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -63,6 +63,15 @@ add(308);add(309);add(310);add(311); add(312); }}; + public static final ArrayList<Integer> staNosErr1 = new ArrayList<Integer>() {{ + add(101); add(103); add(105); + }}; + public static final ArrayList<Integer> staNosErr2 = new ArrayList<Integer>() {{ + add(201); add(203); add(205); + }}; + public static final ArrayList<Integer> staNosErr3 = new ArrayList<Integer>() {{ + add(301); add(303); add(305); + }}; private ArrayList<Integer> getStaNo() { switch (slave.getId()) { case 1: @@ -71,6 +80,18 @@ return staNos2; case 3: return staNos3; + default: + throw new CoolException("鑾峰彇绔欑偣澶辫触锛�"); + } + } + private ArrayList<Integer> getStaNoErr() { + switch (slave.getId()) { + case 1: + return staNosErr1; + case 2: + return staNosErr2; + case 3: + return staNosErr3; default: throw new CoolException("鑾峰彇绔欑偣澶辫触锛�"); } @@ -173,9 +194,7 @@ // System.out.println(i); } Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 -// if(siteId==206){ -// System.out.println(1); -// } + StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); @@ -195,10 +214,28 @@ staProtocol.setFullPlt(status[5]); // 婊℃墭鐩� staProtocol.setHigh(status[6]); // 楂樺簱浣� staProtocol.setLow(status[7]); // 浣庡簱浣� - + staProtocol.setWeight(status[8]); //鏄惁涓洪噸璐� if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { staProtocol.setPakMk(true); } + } + } + //澶栧舰妫�娴� + ArrayList<Integer> staNoErrs = getStaNoErr(); + int staNoErrsSize = staNoErrs.size(); + OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.800", (short) (staNoErrsSize*8)); + if (resultErr.IsSuccess){ + for (int i = 0;i<3;i++){ + Integer siteId = staNoErrs.get(i); // 绔欑偣缂栧彿 + boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4+2, 1); + StaProtocol staProtocol = station.get(siteId); + staProtocol.setFrontErr(status[0]); + staProtocol.setBackErr(status[1]); + staProtocol.setHighErr(status[2]); + staProtocol.setLeftErr(status[3]); + staProtocol.setRightErr(status[4]); + staProtocol.setWeightErr(status[5]); + staProtocol.setBarcodeErr(status[6]); } } @@ -285,16 +322,10 @@ return; } int index = staNos.indexOf(staProtocol.getSiteId()); -// int[] array = new int[2]; -// array[0] = staProtocol.getWorkNo(); -// array[1] = staProtocol.getStaNo(); + OperateResult write1 = siemensS7Net.Write("DB100." + (index*6+4),staProtocol.getStaNo()); OperateResult write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue()); - -// OperateResult write = siemensS7Net.Write("DB100." + index*2, staProtocol.getWorkNo()); // 宸ヤ綔鍙� -// Thread.sleep(500); -// OperateResult write1 = siemensS7Net.Write("DB101." + index*2, staProtocol.getStaNo()); // 鐩爣绔� if (!write.IsSuccess && !write1.IsSuccess) { staProtocol = station.get(staProtocol.getSiteId()); -- Gitblit v1.9.1