From fb74f60f1d8397acf5251ae289e80ab8a056857f Mon Sep 17 00:00:00 2001 From: 1 <1> Date: 星期四, 09 十月 2025 09:08:05 +0800 Subject: [PATCH] #和得服务器 --- src/main/java/com/zy/core/MainProcess.java | 176 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 119 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index 1b40995..1502c9b 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -24,101 +24,163 @@ 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 { + thread = new Thread(this::crnAndDevRun); + thread.start(); - // 闂撮殧 - Thread.sleep(500); + armThread = new Thread(this::roboticArmDispatch); + armThread.start(); + } + private void crnAndDevRun() { + while (!Thread.currentThread().isInterrupted()) { + try { - // 绯荤粺杩愯鐘舵�佸垽鏂� - if (!SystemProperties.WCS_RUNNING_STATUS.get()) { - continue; - } + // 闂撮殧 + Thread.sleep(1000); - // 婕旂ず - mainService.crnDemoOfLocMove1(); - //鍒锋柊RGV鍦板浘 - mainService.refreshRgvMap(); + // 绯荤粺杩愯鐘舵�佸垽鏂� + if (!SystemProperties.WCS_RUNNING_STATUS.get()) { + continue; + } - // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� + // 婕旂ず +// mainService.crnDemoOfLocMove1(); + //鍒锋柊RGV鍦板浘 + mainService.refreshRgvMap(); + + // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁� // mainService.ioConvert(); - // 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。 - mainService.generateStoreWrkFile(1); // 缁勬墭 - mainService.generateStoreWrkFile0(2); // WMS鍏ュ簱 - Thread.sleep(500); - // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 - mainService.stnToCrnStnPick(3); - // 鍑哄簱 ===>> 鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯 - mainService.crnStnToOutStn(4); - // 鍏ュ嚭搴� ===>> 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 - mainService.crnIoExecute(5); - // 鍏ュ嚭搴撳寮� ===>> 鍫嗗灈鏈哄懡浠や笅鍙戝悗锛屽紓姝ヤ慨鏀瑰伐浣滄。鐘舵�� + + // 鎷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(10); + // 鍏ュ簱 ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣� + mainService.storeFinished(6); + // 鍫嗗灈鏈哄紓甯镐俊鎭褰� + mainService.recCrnErr(7); + // 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� + mainService.storeEmptyPlt(8); + // 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣� + mainService.ledExecute(9); + // 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅 + mainService.ledReset(); + //鍫嗗灈鏈鸿鎺ヤ换鍔$敓鎴� + mainService.connectWrk(10); - mainService.outOfDevp(11); +// mainService.outOfDevp(11); + if (i>2){ //绌烘墭鐩樿嚜鍔ㄥ嚭搴� // mainService.autoEmptyOut(); -// //绌烘墭鐩樿嚜鍔ㄥ叆搴� -// mainService.autoEmptyIn(); + //绌烘墭鐩樿嚜鍔ㄥ叆搴� + mainService.autoEmptyIn(); + i=0; + } + i++; - // 鍏朵粬 ===>> 鍏ュ嚭搴撴ā寮忓垏鎹� + // 鍏朵粬 ===>> 鍏ュ嚭搴撴ā寮忓垏鎹� // i++; // if (i > 1) { // mainService.ioConvert(); // i = 0; // } - /////////////////////////////////////RGV璋冨害///////////////////////////////////// + /////////////////////////////////////RGV璋冨害///////////////////////////////////// // - //瀹屾垚灏忚溅浠诲姟 - mainService.rgvCompleteWrkMastSta(); + //瀹屾垚灏忚溅浠诲姟 +// mainService.rgvCompleteWrkMastSta(); // //鎵ц灏忚溅绌烘澘鎼繍浠诲姟 // mainService.rgvRunWrkMastEmptyStaPut();//鏀� // mainService.rgvRunWrkMastEmptyStaTake();//鍙� - if (rgcWrk){ - //鎵ц灏忚溅璐х墿鎼繍浠诲姟 - mainService.rgvRunWrkMastFullSta(); - rgcWrk = false; - }else { - mainService.rgvRunWrkMastEmptyStaAvoidance();//閬胯 - rgcWrk = true; +// if (rgcWrk){ +// //鎵ц灏忚溅璐х墿鎼繍浠诲姟 +// mainService.rgvRunWrkMastFullSta(); +// rgcWrk = false; +// }else { +// mainService.rgvRunWrkMastEmptyStaAvoidance();//閬胯 +// rgcWrk = true; +// } + + + /////////////////////////////////////RGV璋冨害///////////////////////////////////// + /////////////////////////////////////RGV璋冨害///////////////////////////////////// + k++; + + // RGV ===>> 灏忚溅浠诲姟浣滀笟涓嬪彂 + try{ + //RGV灏忚溅鍑哄叆搴撳彇璐т笅鍙� + mainService.rgvIoExecute(11); + if(k > 3){ + mainService.rgvOutExecute(); + k = 0; } - - - /////////////////////////////////////RGV璋冨害///////////////////////////////////// - - } catch (Exception e) { - e.printStackTrace(); + }catch (Exception e){ + log.error("RGV ===>> 灏忚溅浠诲姟浣滀笟涓嬪彂寮傚父"+e); } +// //瀹屾垚灏忚溅浠诲姟 + mainService.rgvTaskComplete(); + + //宸ヤ綅绉诲姩 +// mainService.rgvStaMove(); + /////////////////////////////////////RGV璋冨害///////////////////////////////////// + + } catch (Exception e) { + e.printStackTrace(); } - }); - thread.start(); + } + } + + 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