From 9784ec36b190d0f0103b42059585d04ea0b10745 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 22 九月 2025 13:33:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/MainProcess.java |  169 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 141 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index cdc985b..a6a86c4 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -5,9 +5,11 @@
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PreDestroy;
+import java.util.ArrayList;
 
 /**
  * WCS涓绘祦绋�
@@ -22,45 +24,156 @@
     private MainServiceImpl mainService;
     // 鎵�灞炵嚎绋�
     private Thread thread;
+    private Thread armThread;
+    // 棰戠巼
+    private int i = 0;
+    private int k = 0;
+    private boolean rgcWrk = true;
 
     /**
      * =====>>  寮�濮嬪伐浣�
      */
     public void start(){
-        thread = new Thread(() -> {
-            while (!Thread.currentThread().isInterrupted()) {
-                try {
-                    // 绯荤粺杩愯鐘舵�佸垽鏂�
-                    if (SystemProperties.WCS_RUNNING_STATUS.get()) {
-                        continue;
-                    }
-                    // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-                    mainService.generateStoreWrkFile();
-                    // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
-                    mainService.stnToCrnStnPick();
-                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
-                    mainService.crnStnToOutStn();
-                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
-                    mainService.crnIoExecute();
-                    // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫叆搴撳畬鎴�
-                    mainService.storeFinished();
-                    // 鏇存柊鍫嗗灈鏈虹Щ鍔ㄦ椂宸ヤ綔妗g姸鎬�
-                    mainService.updateCrnMove();
-
-                    // 闂撮殧
-                    Thread.sleep(1500);
-                    log.info("WCS 宸ヤ綔涓� .....................");
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-        });
+        thread = new Thread(this::crnAndDevRun);
         thread.start();
+
+        armThread = new Thread(this::roboticArmDispatch);
+        armThread.start();
+    }
+    private void crnAndDevRun() {
+        while (!Thread.currentThread().isInterrupted()) {
+            try {
+
+                // 闂撮殧
+                Thread.sleep(1000);
+
+                // 绯荤粺杩愯鐘舵�佸垽鏂�
+                if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+                    continue;
+                }
+
+                // 婕旂ず
+//                    mainService.crnDemoOfLocMove1();
+                //鍒锋柊RGV鍦板浘
+                mainService.refreshRgvMap();
+
+                // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
+//                    mainService.ioConvert();
+
+                // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
+                mainService.stnToCrnStnPick(3);
+//                    mainService.stnToCrnStnPick2();
+
+                // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
+                mainService.generateStoreWrkFile(1); // 缁勬墭
+//                    mainService.generateStoreWrkFile0(2); // WMS鍏ュ簱
+                Thread.sleep(500);
+
+                // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
+                mainService.crnStnToOutStn(4);
+                // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
+                mainService.crnIoExecute(5);
+                // 鍏ュ嚭搴撳寮� ===>> 鍫嗗灈鏈哄懡浠や笅鍙戝悗锛屽紓姝ヤ慨鏀瑰伐浣滄。鐘舵��
+//                    mainService.crnIoWrkMast();
+                // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+                mainService.storeFinished(6);
+                // 鍫嗗灈鏈哄紓甯镐俊鎭褰�
+                mainService.recCrnErr(7);
+                // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
+                mainService.storeEmptyPlt(8);
+                // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
+                mainService.ledExecute(9);
+                // 鍏朵粬  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
+                mainService.ledReset();
+                //鍫嗗灈鏈鸿鎺ヤ换鍔$敓鎴�
+                mainService.connectWrk(10);
+
+//                    mainService.outOfDevp(11);
+
+                if (i>10){
+                    //绌烘墭鐩樿嚜鍔ㄥ嚭搴�
+                    mainService.autoEmptyOut();
+                    //绌烘墭鐩樿嚜鍔ㄥ叆搴�
+                    mainService.autoEmptyIn();
+                    i=0;
+                }
+                i++;
+
+                // 鍏朵粬  ===>> 鍏ュ嚭搴撴ā寮忓垏鎹�
+//                    i++;
+//                    if (i > 1) {
+//                        mainService.ioConvert();
+//                        i = 0;
+//                    }
+
+                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
+//
+                //瀹屾垚灏忚溅浠诲姟
+//                    mainService.rgvCompleteWrkMastSta();
+
+//                    //鎵ц灏忚溅绌烘澘鎼繍浠诲姟
+//                    mainService.rgvRunWrkMastEmptyStaPut();//鏀�
+//                    mainService.rgvRunWrkMastEmptyStaTake();//鍙�
+//                    if (rgcWrk){
+//                        //鎵ц灏忚溅璐х墿鎼繍浠诲姟
+//                        mainService.rgvRunWrkMastFullSta();
+//                        rgcWrk = false;
+//                    }else {
+//                        mainService.rgvRunWrkMastEmptyStaAvoidance();//閬胯
+//                        rgcWrk = true;
+//                    }
+
+
+                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
+                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
+                k++;
+
+                // RGV  ===>>  灏忚溅浠诲姟浣滀笟涓嬪彂
+                try{
+                    //RGV灏忚溅鍑哄叆搴撳彇璐т笅鍙�
+                    mainService.rgvIoExecute(11);
+                }catch (Exception e){
+                    log.error("RGV  ===>>  灏忚溅浠诲姟浣滀笟涓嬪彂寮傚父"+e);
+                }
+                //瀹屾垚灏忚溅浠诲姟
+                mainService.rgvCompleteWrkMastSta();
+                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private void roboticArmDispatch() {
+        while (!Thread.currentThread().isInterrupted()) {
+            try {
+
+                // 闂撮殧
+                Thread.sleep(500);
+
+                // 绯荤粺杩愯鐘舵�佸垽鏂�
+                if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+                    continue;
+                }
+
+//                //arm浠诲姟瀹屾垚
+//                mainService.armMissionAccomplished();
+//                mainService.armMissionAccomplishedScanToCheckIn();
+//
+//                //arm浠诲姟涓嬪彂
+//                mainService.armTaskAssignment();
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
     }
 
     @PreDestroy
     public void shutDown(){
         if (thread != null) thread.interrupt();
+        if (armThread != null) armThread.interrupt();
     }
 
 }

--
Gitblit v1.9.1