From 8e7bafc2ef250baf2989d0584a0d3812d4113ff3 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期六, 29 三月 2025 16:57:11 +0800
Subject: [PATCH] #输送线循环覆写由plc执行

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   35 ++++-------------
 src/main/java/com/zy/core/MainProcess.java                  |   18 ++++----
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   30 ++-------------
 src/main/resources/application.yml                          |    2 
 4 files changed, 22 insertions(+), 63 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 7c53b3c..40067e5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -164,10 +164,12 @@
                                 MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol5));
                             }
                         } else {
-                            short workNo = staProtocol.getWorkNo();
-                            staProtocol.setWorkNo(workNo);
-                            staProtocol.setStaNo((short) 112);
-                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol));
+                            if(staProtocol.isLoading() && (staProtocol.getStaNo() == 105 || staProtocol.getStaNo() == 110 ||  staProtocol.getStaNo() == 111)){
+                                short workNo = staProtocol.getWorkNo();
+                                staProtocol.setWorkNo(workNo);
+                                staProtocol.setStaNo((short) 112);
+                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol));
+                            }
                         }
                     }
                 }
@@ -195,21 +197,7 @@
                 }
 
                 StaProtocol staProtocol = devpThread.getStation().get(112);
-                StaProtocol staProtocol2 = devpThread.getStation().get(116);
-//                StaProtocol staProtocol3 = devpThread.getStation().get(117);
-//                if(Objects.equals(staProtocol3.getWorkNo(), staProtocol.getWorkNo()) && staProtocol.getWorkNo() != 0){
-//                    staProtocol.setWorkNo((short) 0);
-//                    staProtocol.setStaNo((short) 0);
-//                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//                    Thread.sleep(100); // 璁� PLC 璇嗗埆鍙樺寲
-//                }
-                if (staProtocol == null || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() ) {
-                    continue;
-                }
-                if(staProtocol.getStaNo() != 112){
-                    continue;
-                }
-                if(staProtocol.getWorkNo() == staProtocol2.getWorkNo()) {
+                if (staProtocol.getStaNo() != 112 || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() || staProtocol.getWorkNo() > 9000 || staProtocol.getWorkNo() < 6000) {
                     continue;
                 }
                 // 鏌ヨ浠诲姟淇℃伅
@@ -218,14 +206,7 @@
                     continue;
                 }
 
-//                 鍏堟竻闆�
                 short workNo = staProtocol.getWorkNo();
-                short oldStaNo = staProtocol.getStaNo();
-//                staProtocol.setWorkNo((short) 0);
-//                staProtocol.setStaNo((short) 0);
-//                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//                Thread.sleep(100); // 璁� PLC 璇嗗埆鍙樺寲
-
                 // 鍐嶅啓鍏ョ洰鏍囩珯鐐�
                 staProtocol.setWorkNo(workNo);
                 staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
@@ -984,7 +965,7 @@
                         }
                         int storeCount = basDevpService.getStoreCount();
                         if(storeCount >= maxCount){
-                            log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄�");
+                            log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount);
                             break;
                         }
 
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index ed2bffa..3d90ddb 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -66,15 +66,15 @@
 
                     // 鍏朵粬  ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
                     //鐜舰寰幆鍑芥暟
-                    mainService.shiftTargetToCyclePoint();
-                    mainService.shiftCyclePointToTarget();
-//                    i++;
-//                    if (i > maxCount) {
-//                        //鐜舰寰幆鍑芥暟
-//                        mainService.shiftTargetToCyclePoint();
-//                        mainService.shiftCyclePointToTarget();
-//                        i = 0;
-//                    }
+//                    mainService.shiftTargetToCyclePoint();
+//                    mainService.shiftCyclePointToTarget();
+                    i++;
+                    if (i > maxCount) {
+                        //鐜舰寰幆鍑芥暟
+                        mainService.shiftTargetToCyclePoint();
+                        mainService.shiftCyclePointToTarget();
+                        i = 0;
+                    }
 
                     //鑷姩娲惧彂浠诲姟
    //                 mainService.autoDistribute();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 783e791..a194dda 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -584,33 +584,11 @@
                 plcAddressStaNo = "DB73." + (4 * 6 + 4);
                 break;
         }
-//        String plcAddressWorkNo = "DB100." + index * 6;
-//        String plcAddressStaNo = "DB100." + (index * 6 + 4);
-
-        while (writeCount < 5) {
-            // **璇诲彇褰撳墠PLC鐘舵�侊紝閬垮厤涓嶅繀瑕佺殑鍐欏叆**
-            OperateResultExOne<byte[]> readResult = siemensS7Net.Read(plcAddressWorkNo, (short) 6);
-            if (readResult.IsSuccess) {
-                int currentWorkNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
-                short currentStaNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
-
-                if (currentWorkNo == staProtocol.getWorkNo().intValue() && currentStaNo == staProtocol.getStaNo()) {
-                    log.info("绔欑偣 {} 褰撳墠鐘舵�佸凡鍖归厤锛屾棤闇�閲嶅鍐欏叆", staProtocol.getSiteId());
-                    return;
-                }
-            }
-
-            // **鍐欏叆鏂颁换鍔�**
-            if (writeTaskToPLC(plcAddressWorkNo, plcAddressStaNo, staProtocol)) {
-                writeFlag = true;
-                log.info("杈撻�佺嚎鍛戒护鍐欏叆鎴愬姛锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-                break;
-            }
-
-            log.warn("杈撻�佺嚎鍛戒护鍐欏叆澶辫触锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-            writeCount++;
+        // **鍐欏叆鏂颁换鍔�**
+        if (writeTaskToPLC(plcAddressWorkNo, plcAddressStaNo, staProtocol)) {
+            writeFlag = true;
+            log.info("杈撻�佺嚎鍛戒护鍐欏叆鎴愬姛锛孭LC缂栧彿={}锛岀珯鐐规暟鎹�={}锛屽皾璇曟鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
         }
-
         // **鍐欏叆澶辫触澶勭悊**
         handleWriteFailure(staProtocol, writeFlag);
     }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 212973e..c149282 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -46,7 +46,7 @@
 wms:
   #杈撻�佺嚎鏆傚瓨鏁�
   count: 8
-  maxCirle: 5
+  maxCirle: 3
   # 鏄惁寮�鍚笂鎶�
   start: true
   # WMS绯荤粺ip

--
Gitblit v1.9.1