From 793e1ecb8d24c51a15d81eabd409361248e5663e Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 25 十二月 2023 16:44:09 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/model/protocol/StaProtocol.java | 8 ++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 63 ++++++++++++++++++++++++++----- src/main/java/com/zy/core/thread/SiemensDevpThread.java | 6 +- src/main/resources/application.yml | 12 +++--- 4 files changed, 69 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 176130d..6aa9b68 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -106,6 +106,57 @@ } String barcode = barcodeThread.getBarcode(); + + + // 鑾峰彇鍏ュ簱绔欎俊鎭� + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + // 灏哄妫�娴嬪紓甯� + boolean back = false; + String errMsg = "寮傚父锛�"; + if (staProtocol.isFrontErr()) { + errMsg = errMsg+"鍓嶈秴闄愶紱"; + back = true; + } + if (staProtocol.isBackErr()) { + errMsg = errMsg+"鍚庤秴闄�"; + back = true; + } + if (staProtocol.isHighErr()) { + errMsg = errMsg+"楂樿秴闄�"; + back = true; + } + if (staProtocol.isLeftErr()) { + errMsg = errMsg+"宸﹁秴闄�"; + back = true; + } + if (staProtocol.isRightErr()) { + errMsg = errMsg+"鍙宠秴闄�"; + back = true; + } + if (staProtocol.isWeightErr()) { + errMsg = errMsg+"瓒呴噸"; + back = true; + } + if (staProtocol.isBarcodeErr()) { + errMsg = errMsg+"鎵爜澶辫触"; + back = true; + } + // 閫�鍥� + if (back) { + // led 寮傚父鏄剧ず + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); + if (ledThread != null) { + MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); + } + continue; + } + if (!Cools.isEmpty(barcode)) { log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { @@ -120,16 +171,6 @@ // } continue; } - - // 鑾峰彇鍏ュ簱绔欎俊鎭� - SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo()); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() @@ -1419,7 +1460,7 @@ // 鑾峰彇鍙夎溅绔欑偣 StaProtocol staProtocol = devpThread.getStation().get(staNo); if (staProtocol == null) { continue; } - if (staProtocol.getWorkNo() != 0) { + if (staProtocol.getWorkNo() != 0 || staProtocol.isErr()) { reset = false; break; } diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java index 42866c0..dfb9de5 100644 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java @@ -85,6 +85,14 @@ // 鎵爜澶辫触 private boolean barcodeErr = false; + public Boolean isErr(){ + if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr){ + return true; + }else { + return false; + } + } + public BasDevp toSqlModel(){ BasDevp basDevp = new BasDevp(); basDevp.setDevNo(siteId); diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index 3722538..18f3eef 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -341,13 +341,13 @@ //鎶ヨ淇℃伅 Thread.sleep(200); OperateResultExOne<byte[]> result3 = null; - result3 = siemensS7Net.Read("DB101.800.0", (short) (getErrorStaNo().size() * 4)); + result3 = siemensS7Net.Read("DB101.200.0", (short) (getErrorStaNo().size() * 4)); if (result3.IsSuccess) { for (int i = 0; i < getErrorStaNo().size(); i++) { Integer siteId = getErrorStaNo().get(i); // 绔欑偣缂栧彿 StaProtocol staProtocol = station.get(siteId); - staProtocol.setLocType1(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4)); // 搴撲綅楂樺害 - boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, i*4+2, 2); +// staProtocol.setLocType1(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4)); // 搴撲綅楂樺害 + boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, i*4+2, 1); staProtocol.setFrontErr(status[0]); staProtocol.setBackErr(status[1]); staProtocol.setHighErr(status[2]); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b03da1c..06df403 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -269,28 +269,28 @@ # LED1 led[0]: id: 1 - ip: 10.10.10.205 + ip: 10.10.10.151 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 1002 # LED2 led[1]: id: 2 - ip: 10.10.10.206 + ip: 10.10.10.152 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} - staArr: 1006 + staArr: 1004 # LED3 led[2]: id: 3 - ip: 10.10.10.206 + ip: 10.10.10.153 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} - staArr: 1010 + staArr: 1008 # LED4 led[3]: id: 4 - ip: 10.10.10.206 + ip: 10.10.10.154 port: 5005 devpPlcId: ${wcs-slave.devp[0].id} staArr: 1012 -- Gitblit v1.9.1