From 098343a983ceba34ee253453c45b903b95d8e877 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 04 十二月 2023 08:02:26 +0800
Subject: [PATCH] #输送线plc异常显示

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java |   53 +++++++++++++
 src/main/java/com/zy/asrs/controller/SiteController.java  |   81 ++++++++++++++++----
 src/main/java/com/zy/asrs/utils/Utils.java                |   27 +++++-
 src/main/webapp/views/realtimeWatch/crn2.html             |   18 ++--
 src/main/java/com/zy/core/thread/SiemensDevpThread.java   |   22 +++++
 5 files changed, 170 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 9cc5b94..216bbae 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -126,28 +126,75 @@
 
             for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                 StaProtocol staProtocol = entry.getValue();
-//                if (staProtocol) {
-//                    PlcErrorTableVo vo = new PlcErrorTableVo();
-//                    vo.setNo(entry.getKey());   //  搴忓彿
-//
-//                    vo.setPlcDesc("");  //  todo:luxiaotao plc閿欒鎻忚堪
-//                    vo.setError("");    //  todo:luxiaotao 寮傚父淇℃伅
-//                    list.add(vo);
-//                }
+                    if (staProtocol.getBreakerErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("鏂矾鍣ㄦ晠闅�");  //  todo:luxiaotao plc閿欒鎻忚堪
+                        vo.setError("鏂矾鍣ㄦ晠闅�");    //  todo:luxiaotao 寮傚父淇℃伅
+                        list.add(vo);
+                    }
+                    if (staProtocol.getInfraredErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("鍏夌數寮傚父");
+                        vo.setError("鍏夌數寮傚父");
+                        list.add(vo);
+                    }
+                    if (staProtocol.getOutTimeErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("杩愯瓒呮椂");
+                        vo.setError("杩愯瓒呮椂");
+                        list.add(vo);
+                    }
+                    if (staProtocol.getSeizeSeatErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("鍗犱綅瓒呮椂");
+                        vo.setError("鍗犱綅瓒呮椂");
+                        list.add(vo);
+                    }
+                    if (staProtocol.getWrkYgoodsN()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("鏈変换鍔℃棤璐ф晠闅�");
+                        vo.setError("鏈変换鍔℃棤璐ф晠闅�");
+                        list.add(vo);
+                    }
+                    if (staProtocol.getInverterErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("鍙橀鍣ㄦ晠闅�");
+                        vo.setError("鍙橀鍣ㄦ晠闅�");
+                        list.add(vo);
+                    }
+                    if (staProtocol.getContactErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+                        vo.setError("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+                        list.add(vo);
+                    }
+                    if (staProtocol.getUpcontactErr()){
+                        PlcErrorTableVo vo = new PlcErrorTableVo();
+                        vo.setNo(entry.getKey());   //  搴忓彿
+
+                        vo.setPlcDesc("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+                        vo.setError("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+                        list.add(vo);
+                    }
             }
 
         }
 
-        list.sort((o1, o2) -> {
-            if (o1.getNo().compareTo(o2.getNo()) > 0){
-                return 1;
-            }else if (o1.getNo().compareTo(o2.getNo()) < 0){
-                return 0;
-            }else{
-                return -1;
-            }
 
-        });
         return R.ok().add(list);
     }
 
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index b1b7e5c..8b9a9f0 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -27,17 +27,34 @@
         if (split[3].equals("01")){
             ints = Arrays.copyOfRange(wcsRow, 0, (wcsRow.length+2-1) / 2);
             if (split[4].equals("01")){
-                ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
+                if (ints.length<2){
+
+                }else {
+                    ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length);
+                }
             }else {
-                ints = Arrays.copyOfRange(ints, 0, wcsRow.length / 2);
+                if (ints.length<2){
+
+                }else {
+                    ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
+                }
             }
         }else {
             ints = Arrays.copyOfRange(wcsRow, (wcsRow.length+2-1) / 2-1,wcsRow.length-1 );
             if (split[4].equals("01")){
+                if (ints.length<2){
 
-                ints = Arrays.copyOfRange(ints, 0, ints.length / 2);
+                }else {
+                    ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
+                }
             }else {
-                ints = Arrays.copyOfRange(ints, ints.length / 2-1,ints.length-1);
+                if (ints.length<2){
+
+                }else {
+                    ints = Arrays.copyOfRange(ints, ints.length / 2, ints.length);
+                }
+
+
             }
         }
         int i = ints[0];
@@ -313,7 +330,7 @@
 //        slaveProperties.setGroupCount(4);
 //        Integer deepRow = getDeepRow(slaveProperties, 6);
 //        System.out.println(deepRow);
-        String wcsLocNo = getWcsLocNo("06-52-01-01-01");
+        String wcsLocNo = getWcsLocNo("02-01-01-02-01");
         System.out.println(wcsLocNo);
     }
 }
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 8dbd9ce..ebd4ab8 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -4,6 +4,9 @@
 import com.zy.asrs.entity.CommandInfo;
 import lombok.Data;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅
  * Created by vincent on 2020/8/6
@@ -85,6 +88,56 @@
     // 鎵爜澶辫触
     private boolean barcodeErr;
 
+    //鏁呴殰-----------------------------------------------------------------------
+    private Boolean breakerErr = false; //鏂矾鍣ㄦ晠闅�
+
+    private Boolean infraredErr = false; //鍏夌數寮傚父
+
+    private Boolean outTimeErr = false; //杩愯瓒呮椂
+
+    private Boolean seizeSeatErr = false; //鍗犱綅瓒呮椂
+
+    private Boolean wrkYgoodsN = false;//鏈変换鍔℃棤璐ф晠闅�
+
+    private Boolean inverterErr = false; //鍙橀鍣ㄦ晠闅�
+
+    private Boolean contactErr = false; //鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+    private Boolean upcontactErr = false; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+    private List<Integer> alarm;
+
+
+    public List<Integer> getAlarm(){
+        List<Integer> alarm = new ArrayList<>();
+        if (breakerErr){
+            alarm.add(1);
+        }
+        if (infraredErr){
+            alarm.add(2);
+        }
+        if (outTimeErr){
+            alarm.add(3);
+        }
+        if (seizeSeatErr){
+            alarm.add(4);
+        }
+        if (wrkYgoodsN){
+            alarm.add(5);
+        }
+        if (inverterErr){
+            alarm.add(6);
+        }
+        if (contactErr){
+            alarm.add(7);
+        }
+        if (upcontactErr){
+            alarm.add(8);
+        }
+        return alarm;
+    }
+
+
 
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 619b4d1..f4c283d 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -346,10 +346,32 @@
                 staProtocol.setRightErr(status[4]);
                 staProtocol.setWeightErr(status[5]);
                 staProtocol.setBarcodeErr(status[6]);
+
             }
         }
 
 
+        OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB13.2", (short) 100);
+        if (resultErr.IsSuccess) {
+            for (int i = 0; i < staNoSize; i++) {
+                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                boolean[] status = siemensS7Net.getByteTransform().TransBool(resultErr.Content, i*4, 1);
+                StaProtocol staProtocol = station.get(siteId);
+                staProtocol.setBreakerErr(status[0]);
+                staProtocol.setInfraredErr(status[1]);
+                staProtocol.setOutTimeErr(status[2]);
+                staProtocol.setSeizeSeatErr(status[3]);
+                staProtocol.setWrkYgoodsN(status[4]);
+                staProtocol.setInverterErr(status[5]);
+                staProtocol.setContactErr(status[6]);
+                staProtocol.setUpcontactErr(status[7]);
+
+            }
+        }
+
+
+
+
 //        //RGV鍙拌溅浣嶇疆
 //        Thread.sleep(200);
 //        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB100.0",(short)4);
diff --git a/src/main/webapp/views/realtimeWatch/crn2.html b/src/main/webapp/views/realtimeWatch/crn2.html
index 4c4a3a4..95b21cf 100644
--- a/src/main/webapp/views/realtimeWatch/crn2.html
+++ b/src/main/webapp/views/realtimeWatch/crn2.html
@@ -42,50 +42,50 @@
 </head>
 <body>
 <div style="padding: 10px;height: 100%;float: left;width: 6%">
-  <div class="button-window"></div>
+<!--  <div class="button-window"></div>-->
 </div>
 <div style="height: 100%;padding-left: 6%">
   <div style="padding: 10px;height: 100%">
     <!-- 鏃ュ織鐩戞帶鏉� -->
-    <div class="log-board">
+    <div class="log-board" >
       <!-- 鎵ц鍛戒护 -->
 
       <!-- 鎵ц鍛戒护 -->
-      <div class="command-log">
+      <div class="command-log" style="overflow: auto;">
         <h3>鎵ц涓殑鍛戒护</h3>
         <div class="crn-command-item">
           <label>1#</label>
-          <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+<!--          <button id="demoBtn-1" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
           <!--            <span>&nbsp;</span>-->
           <input id="crn1" disabled="disabled">
         </div>
         <div class="crn-command-item">
           <label>2#</label>
-          <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+<!--          <button id="demoBtn-2" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
           <!--            <span>&nbsp;</span>-->
           <input id="crn2" disabled="disabled">
         </div>
         <div class="crn-command-item">
           <label>3#</label>
-          <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+<!--          <button id="demoBtn-3" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
           <!--            <span>&nbsp;</span>-->
           <input id="crn3" disabled="disabled">
         </div>
         <div class="crn-command-item">
           <label>4#</label>
-          <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+<!--          <button id="demoBtn-4" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
           <!--            <span>&nbsp;</span>-->
           <input id="crn4" disabled="disabled">
         </div>
         <div class="crn-command-item">
           <label>5#</label>
-          <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+<!--          <button id="demoBtn-5" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
           <!--            <span>&nbsp;</span>-->
           <input id="crn5" disabled="disabled">
         </div>
         <div class="crn-command-item">
           <label>6#</label>
-          <button id="demoBtn-6" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>
+<!--          <button id="demoBtn-6" class="demoBtn" onclick="demoSwitch(this.id)"> - </button>-->
           <!--            <span>&nbsp;</span>-->
           <input id="crn6" disabled="disabled">
         </div>

--
Gitblit v1.9.1