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