From 8980782bebfd40b2a56169e4fb53686882e87a97 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期五, 26 十二月 2025 14:20:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/MainProcess.java |  137 ++++++++++++++++++++++++---------------------
 1 files changed, 74 insertions(+), 63 deletions(-)

diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 16f3094..7402bd7 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -25,9 +25,11 @@
     // 鎵�灞炵嚎绋�
     private Thread thread;
     private Thread armThread;
+    private Thread agvThread;
+    private Thread rgvTread;
     // 棰戠巼
     private int i = 0;
-    private int k = 0;
+    private int q = 0;
     private boolean rgcWrk = true;
 
     /**
@@ -37,38 +39,37 @@
         thread = new Thread(this::crnAndDevRun);
         thread.start();
 
-//        armThread = new Thread(this::roboticArmDispatch);
-//        armThread.start();
+        armThread = new Thread(this::roboticArmDispatch);
+        armThread.start();
+
+        agvThread = new Thread(this::agvDispatch);
+        agvThread.start();
+
+        rgvTread = new Thread(this::rgvDispatch);
+        rgvTread.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);
-
+                Thread.sleep(50);
                 // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
                 mainService.crnStnToOutStn(4);
                 // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
@@ -87,63 +88,41 @@
                 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);
+                if(q>5){
+                    //绌烘墭鐩樿嚜鍔ㄥ叆搴�
+                    mainService.autoEmptyIn();
+                    q = 0;
                 }
-                //瀹屾垚灏忚溅浠诲姟
-                mainService.rgvCompleteWrkMastSta();
-
-                //宸ヤ綅绉诲姩
-//                mainService.rgvStaMove();
-                /////////////////////////////////////RGV璋冨害/////////////////////////////////////
-
+                q++;
+                i++;
             } catch (Exception e) {
                 e.printStackTrace();
+            }
+        }
+    }
+    private void rgvDispatch() {
+        while (!Thread.currentThread().isInterrupted()) {
+            try {
+                // 闂撮殧
+                Thread.sleep(400);
+                // 绯荤粺杩愯鐘舵�佸垽鏂�
+                if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+                    continue;
+                }
+                mainService.rgvIoExecute(11);//鍙栬揣
+                mainService.rgvIoExecuteScheduling();
+                mainService.rgvOutExecute();//鏀捐揣
+                mainService.rgvTaskComplete();//浠诲姟瀹屾垚
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("RGV  ===>>  灏忚溅浠诲姟浣滀笟涓嬪彂寮傚父"+e);
             }
         }
     }
@@ -153,7 +132,7 @@
             try {
 
                 // 闂撮殧
-                Thread.sleep(500);
+                Thread.sleep(400);
 
                 // 绯荤粺杩愯鐘舵�佸垽鏂�
                 if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
@@ -161,11 +140,43 @@
                 }
 
                 //arm浠诲姟瀹屾垚
-                mainService.armMissionAccomplished();
-                mainService.armMissionAccomplishedScanToCheckIn();
+                mainService.armMissionAccomplished();//3==>4   ====>   3===銆�5
+                mainService.armMissionAccomplished1();//3==>4   ====>   3===銆�5  2lou
+                mainService.armMissionAccomplished2();//3==>4   ====>   3===銆�5  2lou
+//                mainService.armMissionAccomplishedScanToCheckIn();//4===銆�5
 
                 //arm浠诲姟涓嬪彂
-                mainService.armTaskAssignment();
+                mainService.armTaskAssignment();//0===銆�1
+                mainService.armTaskAssignment2();//0===銆�1
+
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private void agvDispatch() {
+        while (!Thread.currentThread().isInterrupted()) {
+            try {
+
+                // 闂撮殧
+                Thread.sleep(400);
+
+                // 绯荤粺杩愯鐘舵�佸垽鏂�
+                if (!SystemProperties.WCS_RUNNING_STATUS.get()) {
+                    continue;
+                }
+                //agv浠诲姟涓嬪彂
+                mainService.agvTaskAssignment0();//0===銆�1  AGV搴撲綅==銆嬭緭閫佺嚎绔欑偣  0
+                mainService.agvTaskAssignment1();//0===銆�1  AGV搴撲綅==銆婣GV搴撲綅  1
+                mainService.agvTaskAssignment2();//0===銆�1  杈撻�佺嚎绔欑偣==銆婣GV搴撲綅  2
+                mainService.agvTaskAssignment3();//0===銆�1  杈撻�佺嚎绔欑偣==銆嬭緭閫佺嚎绔欑偣  3
+
+
+                mainService.agvTaskCreateFull();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆婣GV搴撲綅
+                mainService.agvTaskCreateEmpty();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆婣GV搴撲綅
+                mainService.agvTaskCreateR();//浠诲姟鐢熸垚  AGV搴撲綅==銆嬪叆搴撳彛
+//                mainService.agvTaskCreateException();//浠诲姟鐢熸垚  鍑哄簱鍙�==銆嬪叆搴撳彛
 
             } catch (Exception e) {
                 e.printStackTrace();

--
Gitblit v1.9.1