From abb914f4761cedcfc89eb3dcdd2cf377490d09bc Mon Sep 17 00:00:00 2001 From: 1 <1@123> Date: 星期三, 14 五月 2025 14:41:40 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/RgvThread.java | 18 +++++++++++++++++- src/main/java/com/zy/asrs/controller/RgvController.java | 6 ++++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 4 ++++ src/main/java/com/zy/core/model/protocol/TaskProtocol.java | 1 + 4 files changed, 28 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 759e453..edea0af 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -171,6 +171,8 @@ //鎵ц issuedPut.setTaskNo(Long.valueOf(taskNo)); issuedPut.setTaskStatus(3); + issuedPut.setTargetPositionStaNo(basDevpPosition.getDevNo()); + issuedPut.setTargetPositionStaNoPlcId(basDevpPosition.getPlcId()); issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus())); issuedPut.setTargetPosition(basDevpPosition.getPlcPosition()); issuedPut.setIsRunning(1); @@ -256,6 +258,8 @@ //鎵ц issuedTake.setTaskNo(Long.valueOf(taskNo)); issuedTake.setTaskStatus(2); + issuedTake.setTargetPositionStaNo(basDevpPositionTake.getDevNo()); + issuedTake.setTargetPositionStaNoPlcId(basDevpPositionTake.getPlcId()); issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus())); issuedTake.setTargetPosition(basDevpPositionTake.getPlcPosition()); issuedTake.setIsRunning(1); @@ -265,6 +269,8 @@ //鎵ц issuedPut.setTaskNo(Long.valueOf(taskNo)); issuedPut.setTaskStatus(3); + issuedPut.setTargetPositionStaNo(basDevpPositionPut.getDevNo()); + issuedPut.setTargetPositionStaNoPlcId(basDevpPositionPut.getPlcId()); issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus())); issuedPut.setTargetPosition(basDevpPositionPut.getPlcPosition()); issuedPut.setIsRunning(1); 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 df46146..aae0581 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1734,6 +1734,8 @@ //鎵ц issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo())); issuedTake.setTaskStatus(2); + issuedTake.setTargetPositionStaNo(basDevpPositionSou.getDevNo()); + issuedTake.setTargetPositionStaNoPlcId(basDevpPositionSou.getPlcId()); issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus())); issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition()); issuedTake.setIsRunning(1); @@ -1742,6 +1744,8 @@ issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo())); issuedPut.setTaskStatus(3); + issuedPut.setTargetPositionStaNo(basDevpPositionEnd.getDevNo()); + issuedPut.setTargetPositionStaNoPlcId(basDevpPositionEnd.getPlcId()); issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus())); issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition()); issuedPut.setIsRunning(1); diff --git a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java index 5e8c732..ad8cc4d 100644 --- a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java +++ b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java @@ -11,6 +11,7 @@ private volatile Long taskNo; // 浠诲姟鍙凤紙涓诲睘鎬э級 private volatile Long targetPosition = 0L; // 鐩爣浣嶇疆 private volatile Integer targetPositionStaNo = 0; // 鐩爣浣嶇疆 + private volatile Integer targetPositionStaNoPlcId = 1; // 鐩爣浣嶇疆 private volatile int isRunning = 0; // 杩愯鐘舵�� 0锛氬垵濮� 1锛氱瓑寰呮墽琛� 2锛氭墽琛屼腑 3锛氭墽琛屼腑鏂� 4锛氬畬缁� diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index d0e09bd..5379142 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -14,6 +14,7 @@ import com.zy.asrs.service.BasRgvService; import com.zy.asrs.utils.RouteUtils; import com.zy.asrs.utils.TrackRangeUtils; +import com.zy.core.DevpThread; import com.zy.core.ThreadHandler; import com.zy.core.cache.*; import com.zy.core.enums.RgvModeType; @@ -25,6 +26,7 @@ import com.zy.core.model.command.RgvCommand; import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.model.protocol.RgvTaskProtocol; +import com.zy.core.model.protocol.StaProtocol; import com.zy.core.model.protocol.TaskProtocol; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -293,7 +295,21 @@ } if (taskProtocol.getTargetPosition()<=rgvProtocol.getRgvPos()+50 && taskProtocol.getTargetPosition()>=rgvProtocol.getRgvPos()-50){ -// Thread.sleep(100); + Thread.sleep(100); + if (taskProtocol.getTaskStatus()==3){ + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, taskProtocol.getTargetPositionStaNoPlcId()); + StaProtocol staProtocol = devpThread.getStation().get(taskProtocol.getTargetPositionStaNo()); + if (staProtocol == null ) { + continue; + } + // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 + if (!staProtocol.isAutoing() || staProtocol.isLoading() + || staProtocol.getWorkNo() != 0 + ){ + System.out.println("<鏀捐揣鐩爣绔�>" + taskProtocol.getTargetPositionStaNo() + "<闈炶嚜鍔ㄦ垨鑰呮湁鐗╂垨鑰呭瓨鍦ㄥ伐浣滃彿锛侊紒锛�>"); + continue; + } + } TaskProtocol issued = new TaskProtocol(taskProtocol); write(issued); taskProtocolCache.removeTaskProtocol(taskProtocol.getTaskNoDirection()); -- Gitblit v1.9.1