From 72ce003daa99f4e36466e7fc146e6c14bfc6438f Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 27 十月 2025 08:32:42 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/protocol/RgvProtocol.java | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 204 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
index f8fd4da..c7d06a2 100644
--- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -5,6 +5,7 @@
import com.zy.core.enums.RgvStatusType;
import lombok.Data;
+import javax.swing.*;
import java.util.HashMap;
import java.util.Map;
@@ -12,9 +13,9 @@
* Created by vincent on 2020/8/7
*/
@Data
-public class RgvProtocol {
+public class RgvProtocol implements Cloneable{
- private Integer RgvNo;
+ private short RgvNo;
/**
* 1 = 鎵嬪姩妯″紡
@@ -25,13 +26,29 @@
public RgvModeType modeType;
+ private transient Long loadingStartTime;
+
/**
- * RGV褰撳墠鐘舵��
+ * 鎵ц浼樺厛绾�
+ * 0:涓嶅垽鏂�
+ * 1锛氬伐浣�1鍏堟墽琛�
+ * 2锛氬伐浣�2鍏堟墽琛�
+ */
+ public Short wrkTaskPri;
+
+ public Short wrkTaskMove1;
+
+ public Short wrkTaskMove2;
+
+
+ /**
+ * RGV褰撳墠鐘舵�佸伐浣�1
* 0锛氱┖闂诧紝鏃犱换鍔�
* 1锛氫綔涓氫腑
* 2锛氭姤璀�
*/
public Short status;
+
/**
* 鐘舵�佹灇涓�
@@ -41,7 +58,11 @@
/**
* 宸ヤ綅1浠诲姟鍙�
*/
- public Short taskNo1 = 0;
+ public Integer taskNo1 = 0;
+ /**
+ * 宸ヤ綅1鐩爣绔�
+ */
+ public Integer staNo1 = 0;
/**
* RGV宸ヤ綅1褰撳墠鐘舵��
@@ -60,12 +81,18 @@
/**
* 宸ヤ綅1鏈夌墿
*/
- public Short loaded1;
+ public Boolean loaded1;
/**
* RGV褰撳墠浣嶇疆
*/
- public Short RgvPos;
+ public Integer RgvPos;
+
+ /**
+ * RGV褰撳墠鐩殑浣嶇疆
+ */
+ public Integer RgvPosDestination;
+
/**
* 璧拌鍦ㄥ畾浣�
@@ -74,30 +101,112 @@
*/
public Short walkPos;
+ /**
+ * 鎬ュ仠瑙﹀彂
+ */
+ public Boolean err1;
+
+ /**
+ *
+ */
+ public Boolean err2;
+
+ /**
+ * 鏈夎祫鏂欐棤鐗�
+ */
+ public Boolean err3;
+
+ /**
+ * 鍛戒护閿欒璧拌鑱旇皟鍐茬獊
+ */
+ public Boolean err4;
+
+ /**
+ * 鐩爣涓鸿秴杩囪璧版瀬闄�
+ */
+ public Boolean err5;
+
+ /**
+ * 鍙橀鍣ㄥ紓甯�
+ */
+ public Boolean err6;
+
+ /**
+ * 鍏夌數寮傚父
+ */
+ public Boolean err7;
+
+ public Boolean err8;
+ public Boolean err9;
+ public Boolean err10;
+ public Boolean err11;
+ public Boolean err12;
+
////////////////////// 宸ヤ綅2瀹氫箟 //////////////////////////////////////////////////
+ /**
+ * 宸ヤ綅2浠诲姟鍙�
+ */
+ public Integer taskNo2 = 0;
+ /**
+ * 宸ヤ綅1鐩爣绔�
+ */
+ public Integer staNo2 = 0;
+
+ /**
+ * RGV宸ヤ綅2褰撳墠鐘舵��
+ * 0锛氱┖闂诧紝鏃犱换鍔�
+ * 11锛氬彇璐т腑
+ * 12锛氭斁璐т腑
+ * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭
+ */
+ public Short status2;
+
+ /**
+ * 鐘舵�佹灇涓�
+ */
+ public RgvStatusType statusType2;
+
+ /**
+ * 宸ヤ綅2鏈夌墿
+ */
+ public Boolean loaded2;
+
// /**
-// * 宸ヤ綅2浠诲姟鍙�
+// * 鎬ュ仠
// */
-// public Short taskNo2 = 0;
+// public Boolean err21;
//
// /**
-// * RGV宸ヤ綅2褰撳墠鐘舵��
-// * 0锛氱┖闂诧紝鏃犱换鍔�
-// * 11锛氬彇璐т腑
-// * 12锛氭斁璐т腑
-// * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭
+// * 鏈夌墿鏃犺祫鏂�
// */
-// public Short status2;
+// public Boolean err22;
//
// /**
-// * 鐘舵�佹灇涓�
+// * 鏈夎祫鏂欐棤鐗�
// */
-// public RgvStatusType statusType2;
+// public Boolean err23;
//
// /**
-// * 宸ヤ綅2鏈夌墿
+// * 鍛戒护閿欒璧拌鑱旇皟鍐茬獊
// */
-// public Short loaded2;
+// public Boolean err24;
+//
+// /**
+// * 鐩爣涓鸿秴杩囪璧版瀬闄�
+// */
+// public Boolean err25;
+//
+// /**
+// * 鍙橀鍣ㄥ紓甯�
+// */
+// public Boolean err26;
+//
+// /**
+// * 鍏夌數寮傚父
+// */
+// public Boolean err27;
+
+
///////////////////////////////////////////////////////////////////////////////////////
/**
@@ -165,15 +274,24 @@
this.status1 = RgvStatusType.get(type1).id.shortValue();
}
-// public void setStatus2(Short status2){
-// this.status2 = status2;
-// this.statusType2 = RgvStatusType.get(status2);
-// }
-//
-// public void setStatus2(RgvStatusType type2){
-// this.statusType2 = type2;
-// this.status2 = RgvStatusType.get(type2).id.shortValue();
-// }
+ public void setStatus2(Short status2){
+ this.status2 = status2;
+ this.statusType2 = RgvStatusType.get(status2);
+ }
+
+ public void setStatus2(RgvStatusType type2){
+ this.statusType2 = type2;
+ this.status2 = RgvStatusType.get(type2).id.shortValue();
+ }
+
+ public boolean isLoaded1ing() {
+ return Boolean.TRUE.equals(this.loaded1);
+ }
+
+ public boolean isLoaded2ing() {
+ return Boolean.TRUE.equals(this.loaded2);
+ }
+
/**
* 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷
@@ -188,7 +306,7 @@
basRgv.setRgvErr(alarm.longValue());
}
basRgv.setWrkNo1(taskNo1.intValue());
-// basRgv.setWrkNo2(taskNo2.intValue());
+ basRgv.setWrkNo2(taskNo2.intValue());
return basRgv;
}
@@ -207,15 +325,67 @@
public Integer getRgvPosI(){
//闇�瑕佹牴鎹幇鍦烘敼閫� 鏍规嵁璇诲埌鐨勫�艰幏鍙栧搴旂珯鐐逛綅缃�
Map<Short,Integer> map = new HashMap<>();
- map.put((short) 1,100);map.put((short) 2,101);
- map.put((short) 3,106);map.put((short) 4,107);
- map.put((short) 5,112);map.put((short) 6,113);
- map.put((short) 7,119);map.put((short) 8,124);
- map.put((short) 9,149);map.put((short) 10,153);
- map.put((short) 11,157);map.put((short) 12,161);
+ map.put((short) 1,1004);map.put((short) 2,1007);
+ map.put((short) 3,1010);map.put((short) 4,1014);
+ map.put((short) 5,1018);map.put((short) 6,1021);
+ map.put((short) 7,1024); map.put((short) 8,1028);
+ map.put((short) 9,1031);map.put((short) 10,1035);
+ map.put((short) 11,2003);map.put((short) 12,2006);
+ map.put((short) 13,2009);map.put((short) 14,2012);
+ map.put((short) 15,2015);map.put((short) 16,2018);
+ map.put((short) 17,2021);map.put((short) 18,2024);
+ map.put((short) 19,2027);map.put((short) 20,2030);
if (RgvPos==null) return 0;
return map.get(RgvPos);
}
+ public Integer getRgvPosI2() {
+ // key: 绔欑偣鍙� value: 鍩哄噯鐗╃悊浣嶇疆
+ Map<Integer, Integer> posMap = new HashMap<>();
+ posMap.put(1004, 6534);
+ posMap.put(1007, 33634);
+ posMap.put(1010, 75174);
+ posMap.put(1014, 102124);
+ posMap.put(1018, 138224);
+ posMap.put(1021, 178034);
+ posMap.put(1024, 219684);
+ posMap.put(1028, 246724);
+ posMap.put(1031, 288194);
+ posMap.put(2003, 314954);
+ posMap.put(2006, 288094);
+ posMap.put(2009, 246574);
+ posMap.put(2012, 219584);
+ posMap.put(2015, 177934);
+ posMap.put(2018, 138126);
+ posMap.put(2021, 102124);
+ posMap.put(2024, 75174);
+ posMap.put(2027, 33748);
+ posMap.put(2030, 6449);
+
+
+ int tolerance = 200; // 鍏佽璇樊鑼冨洿
+
+ for (Map.Entry<Integer, Integer> entry : posMap.entrySet()) {
+ int site = entry.getKey();
+ int basePos = entry.getValue();
+ if (Math.abs(RgvPos - basePos) <= tolerance) {
+ return site;
+ }
+ }
+
+ return 0; // 娌″尮閰嶅埌绔欑偣
+ }
+
+
+ @Override
+ public RgvProtocol clone() {
+ try {
+ return (RgvProtocol) super.clone();
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
}
--
Gitblit v1.9.1