From ecc6c94c7d9eeb45f267afcaa9bae35a40f375c7 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期四, 01 十二月 2022 16:33:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    3 +
 src/main/java/com/zy/asrs/controller/SiteController.java    |   70 +++++++++++++----------
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   40 ++++++------
 src/main/webapp/views/console.html                          |    3 
 src/main/java/com/zy/core/MainProcess.java                  |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   18 +++++
 src/main/resources/application.yml                          |    2 
 src/main/java/com/zy/core/ServerBootstrap.java              |   12 ++--
 8 files changed, 90 insertions(+), 60 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index b88b8f9..c189878 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.controller;
 
+import HslCommunication.Core.Types.OperateResultExOne;
+import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
 import com.core.common.R;
@@ -38,9 +40,10 @@
     @Autowired
     private BasDevpService basDevpService;
 
+
     @GetMapping("/io/mode/info/site")
     @ManagerAuth(memo = "鍏ュ嚭搴撴ā寮�")
-    public R ioMode(){
+    public R ioMode() {
         List<Map<String, Object>> res = new ArrayList<>();
         for (DevpSlave devp : slaveProperties.getDevp()) {
             SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -55,7 +58,7 @@
 
     @PostMapping("/table/site")
     @ManagerAuth(memo = "绔欑偣淇℃伅琛�")
-    public R siteTable(){
+    public R siteTable() {
         List<SiteTableVo> list = new ArrayList<>();
         // 鍐呭瓨鏁版嵁
         Map<Integer, StaProtocol> station = new HashMap<>();
@@ -70,30 +73,32 @@
             vo.setDevNo(devp.getDevNo());    // 绔欑偣缂栧彿
             list.add(vo);
             StaProtocol staProtocol = station.get(devp.getDevNo());
-            if (null == staProtocol) { continue; }
+            if (null == staProtocol) {
+                continue;
+            }
             vo.setWorkNo(staProtocol.getWorkNo());   //  宸ヤ綔鍙�
-            vo.setAutoing(staProtocol.isAutoing()?"Y":"N");     //  鑷姩
-            vo.setLoading(staProtocol.isLoading()?"Y":"N");     // 鏈夌墿
-            vo.setInEnable(staProtocol.isInEnable()?"Y":"N");   // 鍙叆
-            vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭
-            vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 鍏ュ簱鏍囪
-            vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 绌烘澘淇″彿
+            vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N");     //  鑷姩
+            vo.setLoading(staProtocol.isLoading() ? "Y" : "N");     // 鏈夌墿
+            vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N");   // 鍙叆
+            vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭
+            vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N");       // 鍏ュ簱鏍囪
+            vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N");     // 绌烘澘淇″彿
             vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
 //            vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�");     //楂樹綆搴撲綅
-            vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�");
+            vo.setLocType1(devp.getDevNo() == 102 ? "楂�" : "浣�");
         }
         return R.ok().add(list);
     }
 
     @PostMapping("/table/plc/errors")
     @ManagerAuth(memo = "杈撻�佽澶噋lc寮傚父淇℃伅琛�")
-    public R plcErrorTable(){
+    public R plcErrorTable() {
         List<PlcErrorTableVo> list = new ArrayList<>();
         for (DevpSlave devp : slaveProperties.getDevp()) {
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
             Map<Integer, StaProtocol> station = devpThread.getStation();
 
-            for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
                 StaProtocol staProtocol = entry.getValue();
 //                if (staProtocol) {
 //                    PlcErrorTableVo vo = new PlcErrorTableVo();
@@ -108,11 +113,11 @@
         }
 
         list.sort((o1, o2) -> {
-            if (o1.getNo().compareTo(o2.getNo()) > 0){
+            if (o1.getNo().compareTo(o2.getNo()) > 0) {
                 return 1;
-            }else if (o1.getNo().compareTo(o2.getNo()) < 0){
+            } else if (o1.getNo().compareTo(o2.getNo()) < 0) {
                 return 0;
-            }else{
+            } else {
                 return -1;
             }
 
@@ -122,11 +127,11 @@
 
     @PostMapping("/output/site")
     @ManagerAuth(memo = "绔欑偣璁惧鎶ユ枃鏃ュ織杈撳嚭")
-    public R siteOutput(){
+    public R siteOutput() {
         StringBuilder str = new StringBuilder();
         String s;
         int i = 0;
-        while((s = OutputQueue.DEVP.poll()) != null && i <=10) {
+        while ((s = OutputQueue.DEVP.poll()) != null && i <= 10) {
             str.append("\n").append(s);
             i++;
         }
@@ -138,7 +143,7 @@
     /****************************************************************/
 
     @GetMapping("/detl/{siteId}")
-    public R siteDetl(@PathVariable("siteId") Integer siteId){
+    public R siteDetl(@PathVariable("siteId") Integer siteId) {
         SiteTableVo vo = new SiteTableVo();
         for (DevpSlave devp : slaveProperties.getDevp()) {
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -148,12 +153,12 @@
                     StaProtocol staProtocol = entry.getValue();
                     vo.setDevNo(entry.getKey());    // 绔欑偣缂栧彿
                     vo.setWorkNo(staProtocol.getWorkNo());   //  宸ヤ綔鍙�
-                    vo.setAutoing(staProtocol.isAutoing()?"Y":"N");     //  鑷姩
-                    vo.setLoading(staProtocol.isLoading()?"Y":"N");     // 鏈夌墿
-                    vo.setInEnable(staProtocol.isInEnable()?"Y":"N");   // 鍙叆
-                    vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭
-                    vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 闇�姹�1
-                    vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 绌烘澘淇″彿
+                    vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N");     //  鑷姩
+                    vo.setLoading(staProtocol.isLoading() ? "Y" : "N");     // 鏈夌墿
+                    vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N");   // 鍙叆
+                    vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭
+                    vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N");       // 闇�姹�1
+                    vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N");     // 绌烘澘淇″彿
                     vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
                     vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�");     //楂樹綆搴撲綅
                     return R.ok().add(vo);
@@ -168,7 +173,7 @@
     public R siteDetlUpdate(@RequestParam Integer siteId,
                             @RequestParam Short workNo,
                             @RequestParam Short staNo,
-                            @RequestParam String pakMk){
+                            @RequestParam String pakMk) {
         for (DevpSlave devp : slaveProperties.getDevp()) {
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
             Map<Integer, StaProtocol> station = devpThread.getStation();
@@ -203,13 +208,18 @@
 
     /**
      * 姣嶆墭鐩樺嚭搴�
+     *
      * @return
      */
     @PostMapping("/motherPallet")
-    public R motherPalletOut(){
-        boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(3, null));
-        return R.ok("姣嶆墭鐩樺嚭搴撴垚鍔�");
+    public R motherPalletOut() {
+        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+        StaProtocol staProtocol = devpThread.getStation().get(12);
+        if (staProtocol.getAllowEmptyOut().equals("1")) {
+            boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(3, null));
+            return R.ok("姣嶆墭鐩樺嚭搴撴垚鍔�");
+        } else {
+            return R.error("姣嶆墭鐩樺嚭搴撳け璐ワ紝12绔欐棤绌烘墭鐩樻垨13绔欐湁鐗�");
+        }
     }
-
-
 }
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 1eca9e7..f0a7bd2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1536,26 +1536,26 @@
                     break;
                 }
             }
-            // 鑾峰彇led绾跨▼
-            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
-            // led鏄剧ず榛樿鍐呭
-            if (reset && !ledThread.isLedMk()) {
-                if (led.getId() == 7) {
-                    ledThread.setLedMk(true);
-                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
-                        log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-                    } else {
-
-                    }
-                } else {
-                    ledThread.setLedMk(true);
-                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
-                        log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-                    } else {
-
-                    }
-                }
-            }
+//            // 鑾峰彇led绾跨▼
+//            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+//            // led鏄剧ず榛樿鍐呭
+//            if (reset && !ledThread.isLedMk()) {
+//                if (led.getId() == 7) {
+//                    ledThread.setLedMk(true);
+//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
+//                        log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+//                    } else {
+//
+//                    }
+//                } else {
+//                    ledThread.setLedMk(true);
+//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
+//                        log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+//                    } else {
+//
+//                    }
+//                }
+//            }
         }
     }
 
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index bd5826d..68396a8 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -65,7 +65,7 @@
                     // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
                     mainService.storeEmptyPlt();
                     // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
-                    mainService.ledExecute();
+//                    mainService.ledExecute();
                     // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
                     mainService.ledReset();
 
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index ef958a5..e0ae15b 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -96,12 +96,12 @@
             SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
         }
         // 鍒濆鍖朙ED绾跨▼
-        log.info("鍒濆鍖朙ED绾跨▼...................................................");
-        for (LedSlave led : slaveProperties.getLed()) {
-            LedThread ledThread = new LedThread(led);
-            new Thread(ledThread).start();
-            SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
-        }
+//        log.info("鍒濆鍖朙ED绾跨▼...................................................");
+//        for (LedSlave led : slaveProperties.getLed()) {
+//            LedThread ledThread = new LedThread(led);
+//            new Thread(ledThread).start();
+//            SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
+//        }
         // 鍒濆鍖栫绉ょ嚎绋�
 //        log.info("鍒濆鍖栫绉ょ嚎绋�...................................................");
 //        for (Slave scale : slaveProperties.getScale()) {
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 ca3c6db..5699c2a 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -55,6 +55,9 @@
     // 闅斿绔欑偣锛堝彴杞︿綅缃級
     private String nearbySta;
 
+    //鍏佽绌烘墭鍑哄簱
+    private String allowEmptyOut;
+
     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 24a02d5..595c25b 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -92,7 +92,7 @@
                         break;
                     case 3:
                         OperateResult write = siemensS7Net.Write("DB100.170" , (short) 1);
-                        System.out.println("鍐欏叆鎴愬姛");
+                        log.info("姣嶆墭鍑哄簱鎴愬姛");
                         break;
                     default:
                         break;
@@ -211,6 +211,22 @@
             staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0)));
         }
 
+        /**
+         * 姣嶆墭鐩樺嚭搴�
+         */
+        Thread.sleep(200);
+        OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.172",(short)2);
+        if (result4.IsSuccess) {
+            Integer siteId = 12;
+            StaProtocol staProtocol = station.get(siteId);
+            if (null == staProtocol) {
+                staProtocol = new StaProtocol();
+                staProtocol.setSiteId(siteId);
+                station.put(siteId, staProtocol);
+            }
+            staProtocol.setAllowEmptyOut(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 0)));
+        }
+
 
 
         if (result.IsSuccess && result1.IsSuccess) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 38fc6fd..29dfddf 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -165,7 +165,7 @@
   # 鏉$爜鎵弿浠�
   barcode[0]:
     id: 1
-    ip: 10.10.10.52
+    ip: 10.10.10.55
     port: 51236
    # LED1
   led[0]:
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 412c5da..ac98207 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -569,6 +569,7 @@
                         }
 
                         if (sites[i].siteId === '16' || sites[i].siteId === '016') {
+                            console.log(sites[i].nearbySta);
                             carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta));
                         }
                     }
@@ -730,7 +731,7 @@
                 case 9:
                     targetTop += 183;
                     break;
-                case 15:
+                case 10:
                     targetTop += 95;
                     break;
                 default:

--
Gitblit v1.9.1