From c99cbe6c0064deee3e57f1a751ff0717290ac621 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 05 六月 2025 15:43:56 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/thread/RgvThread.java | 61 ++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index a3c6f6d..0dd4ee9 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -828,6 +828,67 @@
return false;
}
}
+
+ TaskProtocol nowPosRunTask2 = taskProtocolCacheOther.getNowPosRunTask2();
+ if (!Cools.isEmpty(nowPosRunTask2)){
+ boolean signNowPosRun = true;
+ boolean signNowPosA = true;
+ if (targetPosition - rgvProtocol.getRgvPos()>0){
+ if (nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos()>0){
+ if (rgvProtocol.getRgvPos()>rgvProtocolOther.getRgvPos()){
+ signNowPosA = false;
+ signNowPosRun = false;
+ }
+ }
+ } else if (targetPosition - rgvProtocol.getRgvPos()<0){
+ if (nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos()<0){
+ if (rgvProtocol.getRgvPos()<rgvProtocolOther.getRgvPos()){
+ signNowPosA = false;
+ signNowPosRun = false;
+ }
+ }
+ }
+
+ if (signNowPosA){
+ if (nowPosRunTask2.getTaskStatus()==3){
+ long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
+ if (Math.abs(onePos - twoPos)>100){
+ if (onePos-50>twoPos+50){
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, nowPosRunTask2.getTargetPositionStaNoPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(nowPosRunTask2.getTargetPositionStaNo());
+ if (staProtocol == null ) {
+ signNowPosRun =false;
+ }
+ if (signNowPosRun){
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing() && !staProtocol.isLoading()
+ ){
+ errorRgv = slave.getOtherId()+"鍙稲GV绛夊緟浣滀笟...";
+ return false;
+ }
+ }
+ signNowPosRun =false;
+ }
+ }
+ } else {
+ long twoPos = Math.abs(nowPosRunTask2.getTargetPosition() - rgvProtocolOther.getRgvPos());
+ if (twoPos<100){
+ errorRgv = slave.getOtherId()+"鍙稲GV绛夊緟浣滀笟...";
+ return false;
+ }
+ if (Math.abs(onePos - twoPos)>100){
+ if (onePos-50>twoPos+50){
+ signNowPosRun =false;
+ }
+ }
+ }
+ }
+
+ if (signNowPosRun){
+ errorRgv = slave.getOtherId()+"鍙稲GV绛夊緟浣滀笟...";
+ return false;
+ }
+ }
long avoid = targetPosition - rgvProtocol.getCarBodyJiaoMing() - avoidDistance - rgvProtocolOther.getCarBodyKunPeng();
if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) {
log.error("RGV琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
--
Gitblit v1.9.1