From a775cccf69b395cff784ea50164b89a6ef00341a Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 24 十一月 2025 12:56:27 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/core/model/protocol/RgvProtocol.java | 488 +++++++++++------------------------------------------
1 files changed, 106 insertions(+), 382 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 ac5bec5..8e984e1 100644
--- a/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -1,99 +1,59 @@
package com.zy.core.model.protocol;
import com.zy.asrs.entity.BasRgv;
-import com.zy.asrs.entity.BasRgvErrorLog;
import com.zy.core.enums.RgvModeType;
import com.zy.core.enums.RgvStatusType;
import lombok.Data;
-
-import javax.swing.*;
-import java.util.HashMap;
-import java.util.Map;
/**
* Created by vincent on 2020/8/7
*/
@Data
-public class RgvProtocol implements Cloneable{
+public class RgvProtocol {
- private short RgvNo;
+ private Integer RgvNo;
/**
* 1 = 鎵嬪姩妯″紡
* 2 = 鑷姩妯″紡
* 3 = 鐢佃剳妯″紡
*/
- public Short mode;
+ public Short mode = -1;
- public RgvModeType modeType;
-
- private transient Long loadingStartTime;
+ public RgvModeType modeType = RgvModeType.NONE;
/**
- * 鎵ц浼樺厛绾�
- * 0:涓嶅垽鏂�
- * 1锛氬伐浣�1鍏堟墽琛�
- * 2锛氬伐浣�2鍏堟墽琛�
- */
- public Short wrkTaskPri;
-
- public Short wrkTaskMove1;
-
- public Short wrkTaskMove2;
-
-
- /**
- * RGV褰撳墠鐘舵�佸伐浣�1
+ * RGV褰撳墠鐘舵��
* 0锛氱┖闂诧紝鏃犱换鍔�
* 1锛氫綔涓氫腑
* 2锛氭姤璀�
*/
- public Short status;
-
+ public Short status = -1;
/**
* 鐘舵�佹灇涓�
*/
- public RgvStatusType statusType;
+ public RgvStatusType statusType = RgvStatusType.NONE;
/**
- * 宸ヤ綅1浠诲姟鍙�
+ * 浠诲姟鍙�
*/
- public Integer taskNo1 = 0;
- /**
- * 宸ヤ綅1鐩爣绔�
- */
- public Integer staNo1 = 0;
+ public Long taskNo = 0L;
/**
- * RGV宸ヤ綅1褰撳墠鐘舵��
- * 0锛氱┖闂诧紝鏃犱换鍔�
- * 11锛氬彇璐т腑
- * 12锛氭斁璐т腑
- * 10锛氫换鍔″畬鎴愮瓑寰匴CS纭
+ * 鏈夌墿
*/
- public Short status1;
-
- /**
- * 鐘舵�佹灇涓�
- */
- public RgvStatusType statusType1;
-
- /**
- * 宸ヤ綅1鏈夌墿
- */
- public Boolean loaded1;
+ public Short loaded = -1;//0 鏃犵墿锛�1 鏈夌墿
/**
* RGV褰撳墠浣嶇疆
*/
- public Integer RgvPos;
+ public Long RgvPos = 0L;
/**
- * RGV褰撳墠鐩殑浣嶇疆
+ * RGV鐩殑浣嶇疆
*/
- public Integer RgvPosDestination;
-
+ public Long RgvPosDestination = 0L;
/**
* 璧拌鍦ㄥ畾浣�
@@ -103,176 +63,9 @@
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;
-
-// /**
-// * 鎬ュ仠
-// */
-// public Boolean err21;
-//
-// /**
-// * 鏈夌墿鏃犺祫鏂�
-// */
-// public Boolean err22;
-//
-// /**
-// * 鏈夎祫鏂欐棤鐗�
-// */
-// public Boolean err23;
-//
-// /**
-// * 鍛戒护閿欒璧拌鑱旇皟鍐茬獊
-// */
-// public Boolean err24;
-//
-// /**
-// * 鐩爣涓鸿秴杩囪璧版瀬闄�
-// */
-// public Boolean err25;
-//
-// /**
-// * 鍙橀鍣ㄥ紓甯�
-// */
-// public Boolean err26;
-//
-// /**
-// * 鍏夌數寮傚父
-// */
-// public Boolean err27;
-
-
- ///////////////////////////////////////////////////////////////////////////////////////
- //閰嶇疆淇″彿-----------------------------------------------------------------------------
- // 鏁呴殰璇诲彇閿佸畾鏍囪
- private boolean errorMk = false;
- //鍐欏叆鏍囪
- private boolean writeMk = true;
- private Boolean chainForward1 = false; // 閾炬潯鍓嶈繘 1
- private Boolean chainReverse1 = false; // 閾炬潯鍚庨�� 1
- private Boolean inverterAlarm = false; // 鍙橀鍣ㄦ姤璀�
- private Boolean leftOverlimit2 = false; // 宸﹁秴闄� 2
- private Boolean rightOverlimit2 = false; // 鍙宠秴闄� 2
- private Boolean leftAtPosition2 = false; // 宸﹀埌浣� 2
- private Boolean rightAtPosition2 = false; // 鍙冲埌浣� 2
- private Boolean cargoSpeedReduction = false; // 璐х墿鍑忛��
- private Boolean conveyorInverterAlarm2 = false; // 杈撻�佸彉棰戝櫒鎶ヨ 2
-
- private Boolean emergencyStop = false; // 鎬ュ仠瑙﹀彂
- private Boolean slot1EmptyNoData = false; // 1鍙蜂綅鏈夌墿鏃犺祫鏂�
- private Boolean slot2EmptyNoData = false; // 2鍙蜂綅鏈夌墿鏃犺祫鏂�
- private Boolean commandErrorChainConflict = false; // 鍛戒护閿欒璧伴摼鏉″啿绐�
- private Boolean targetPositionIssue = false; // 鐩爣浣嶄笅鍙戦敊璇�
- private Boolean travelInverterError = false; // 璧拌鍙橀鍣ㄥ紓甯�
- private Boolean photoelectric1Error = false; // 1鍙峰厜鐢靛紓甯�
- private Boolean photoelectric2Error = false; // 2鍙峰厜鐢靛紓甯�
- private Boolean timeoutConnectionWithLine = false; // 涓庤緭绾挎椂鎺ヨ秴鏃�
- private Boolean leftRollerTimeout = false; // 宸︿晶婊氱瓛杩愯瓒呮椂
- private Boolean rightRollerTimeout = false; // 鍙充晶婊氱瓛杩愯瓒呮椂
- private Boolean rgvRunTimeout = false; // rgv杩愯瓒呮椂
- private Boolean position1ChainInverterError = false; // 1鍙峰伐浣嶉摼鏉″彉棰戝櫒寮傚父
- private Boolean position2ChainInverterError = false; // 2鍙峰伐浣嶉摼鏉″彉棰戝櫒寮傚父
- private Boolean frontRearLimit = false; // 鍓嶅悗鏋侀檺浣�
- private Boolean emergencyButton = false; // 鎬ュ仠鎸夐挳
- private Boolean forwardButton = false; // 鍓嶈繘鎸夐挳
- private Boolean reverseButton = false; // 鍚庨��鎸夐挳
- private Boolean localRemote = false; // 鏈湴/杩滅▼
- private Boolean reset = false; // 澶嶄綅
- private Boolean travelBrakeSwitch = false; // 璧拌鎶遍椄寮�鍏抽挳
- private Boolean travelSpeedLimitPhotoelectric = false; // 璧拌寮哄埗鍑忛�熷厜鐢�
- private Boolean leftOverlimit1 = false; // 宸﹁秴闄� 1
- private Boolean rightOverlimit1 = false; // 鍙宠秴闄� 1
- private Boolean leftAtPosition1 = false; // 宸﹀埌浣� 1
- private Boolean rightAtPosition1 = false; // 鍙冲埌浣� 1
-
- private Boolean rightConveyor2 = false; // 鍙宠緭閫� 2
- private Boolean leftConveyor2 = false; // 宸﹁緭閫� 2
- //---------------------------------------------------------------------
- /**
* 寮傚父鐮�
*/
public Short alarm;
-
- /**
- * 蹇冭烦鎸囦护 1-2姣忕鍒囨崲涓�娆�
- */
- public Short heart;
-
- private Short temp1;
-
- private Short temp2;
-
- private Short temp3;
-
- private Short temp4;
-
- private Short temp5;
/**
* X琛岃蛋琛岄�熷害m/min
@@ -280,59 +73,54 @@
private Float xSpeed;
/**
- * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m
+ * 绱璧拌璺濈km
*/
public Float xDistance;
/**
- * 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣
+ * 绱璧拌鏃堕暱h
*/
public Float xDuration;
+ /**
+ * 杞﹁韩
+ */
+ public Long carBodyJiaoMing = 2000L;
- public BasRgvErrorLog toSqlModelError(){
- BasRgvErrorLog basRgvErrorLog = new BasRgvErrorLog();
- basRgvErrorLog.setRgvNo((int) RgvNo);// 璁惧鍙凤紙鍋囪鏈夊畾涔� siteId锛�
- basRgvErrorLog.setChainForward1(chainForward1 ? "Y" : "N"); // 閾炬潯鍓嶈繘 1
- basRgvErrorLog.setChainReverse1(chainReverse1 ? "Y" : "N"); // 閾炬潯鍚庨�� 1
- basRgvErrorLog.setInverterAlarm(inverterAlarm ? "Y" : "N"); // 鍙橀鍣ㄦ姤璀�
- basRgvErrorLog.setLeftOverlimit2(leftOverlimit2 ? "Y" : "N"); // 宸﹁秴闄� 2
- basRgvErrorLog.setRightOverlimit2(rightOverlimit2 ? "Y" : "N"); // 鍙宠秴闄� 2
- basRgvErrorLog.setLeftAtPosition2(leftAtPosition2 ? "Y" : "N"); // 宸﹀埌浣� 2
- basRgvErrorLog.setRightAtPosition2(rightAtPosition2 ? "Y" : "N"); // 鍙冲埌浣� 2
- basRgvErrorLog.setCargoSpeedReduction(cargoSpeedReduction ? "Y" : "N"); // 璐х墿鍑忛��
- basRgvErrorLog.setConveyorInverterAlarm2(conveyorInverterAlarm2 ? "Y" : "N"); // 杈撻�佸彉棰戝櫒鎶ヨ 2
- basRgvErrorLog.setEmergencyStop(emergencyStop ? "Y" : "N"); // 鎬ュ仠瑙﹀彂
- basRgvErrorLog.setSlot1EmptyNoData(slot1EmptyNoData ? "Y" : "N"); // 1鍙蜂綅鏈夌墿鏃犺祫鏂�
- basRgvErrorLog.setSlot2EmptyNoData(slot2EmptyNoData ? "Y" : "N"); // 2鍙蜂綅鏈夌墿鏃犺祫鏂�
- basRgvErrorLog.setCommandErrorChainConflict(commandErrorChainConflict ? "Y" : "N"); // 鍛戒护閿欒璧伴摼鏉″啿绐�
- basRgvErrorLog.setTargetPositionIssue(targetPositionIssue ? "Y" : "N"); // 鐩爣浣嶄笅鍙戦敊璇�
- basRgvErrorLog.setTravelInverterError(travelInverterError ? "Y" : "N"); // 璧拌鍙橀鍣ㄥ紓甯�
- basRgvErrorLog.setPhotoelectric1Error(photoelectric1Error ? "Y" : "N"); // 1鍙峰厜鐢靛紓甯�
- basRgvErrorLog.setPhotoelectric2Error(photoelectric2Error ? "Y" : "N"); // 2鍙峰厜鐢靛紓甯�
- basRgvErrorLog.setTimeoutConnectionWithLine(timeoutConnectionWithLine ? "Y" : "N"); // 涓庤緭绾挎椂鎺ヨ秴鏃�
- basRgvErrorLog.setLeftRollerTimeout(leftRollerTimeout ? "Y" : "N"); // 宸︿晶婊氱瓛杩愯瓒呮椂
- basRgvErrorLog.setRightRollerTimeout(rightRollerTimeout ? "Y" : "N"); // 鍙充晶婊氱瓛杩愯瓒呮椂
- basRgvErrorLog.setRgvRunTimeout(rgvRunTimeout ? "Y" : "N"); // rgv杩愯瓒呮椂
- basRgvErrorLog.setPosition1ChainInverterError(position1ChainInverterError ? "Y" : "N"); // 1鍙峰伐浣嶉摼鏉″彉棰戝櫒寮傚父
- basRgvErrorLog.setPosition2ChainInverterError(position2ChainInverterError ? "Y" : "N"); // 2鍙峰伐浣嶉摼鏉″彉棰戝櫒寮傚父
- basRgvErrorLog.setFrontRearLimit(frontRearLimit ? "Y" : "N"); // 鍓嶅悗鏋侀檺浣�
- basRgvErrorLog.setEmergencyButton(emergencyButton ? "Y" : "N"); // 鎬ュ仠鎸夐挳
- basRgvErrorLog.setForwardButton(forwardButton ? "Y" : "N"); // 鍓嶈繘鎸夐挳
- basRgvErrorLog.setReverseButton(reverseButton ? "Y" : "N"); // 鍚庨��鎸夐挳
- basRgvErrorLog.setLocalRemote(localRemote ? "Y" : "N"); // 鏈湴/杩滅▼
- basRgvErrorLog.setReset(reset ? "Y" : "N"); // 澶嶄綅
- basRgvErrorLog.setTravelBrakeSwitch(travelBrakeSwitch ? "Y" : "N"); // 璧拌鎶遍椄寮�鍏抽挳
- basRgvErrorLog.setTravelSpeedLimitPhotoelectric(travelSpeedLimitPhotoelectric ? "Y" : "N"); // 璧拌寮哄埗鍑忛�熷厜鐢�
- basRgvErrorLog.setLeftOverlimit1(leftOverlimit1 ? "Y" : "N"); // 宸﹁秴闄� 1
- basRgvErrorLog.setRightOverlimit1(rightOverlimit1 ? "Y" : "N"); // 鍙宠秴闄� 1
- basRgvErrorLog.setLeftAtPosition1(leftAtPosition1 ? "Y" : "N"); // 宸﹀埌浣� 1
- basRgvErrorLog.setRightAtPosition1(rightAtPosition1 ? "Y" : "N"); // 鍙冲埌浣� 1
- basRgvErrorLog.setRightConveyor2(rightConveyor2 ? "Y" : "N"); // 鍙宠緭閫� 2
- basRgvErrorLog.setLeftConveyor2(leftConveyor2 ? "Y" : "N"); // 宸﹁緭閫� 2
+ /**
+ * 杞﹁韩
+ */
+ public Long carBodyKunPeng = 15000L;
- return basRgvErrorLog;
- }
+ /**
+ * 鏄惁鍚敤
+ */
+ public boolean statusEnable;//0\1\2
+
+
+
+ // 鎬ュ仠
+ private boolean err1;
+
+ // 鏈夌墿鏃犺祫鏂�
+ private boolean err2;
+
+ // 鍛戒护閿欒璧拌閾炬潯鍐茬獊
+ private boolean err3;
+
+ // 鐩爣涓鸿秴杩囪蛋琛屾瀬闄�
+ private boolean err4;
+
+ // 鍙橀鍣ㄥ紓甯�
+ private boolean err5;
+
+ // 鍏夌數寮傚父
+ private boolean err6;
+ //灏忚溅妯″紡鍒囨崲閿欒
+ private boolean err7;
+ //鍏朵粬鏈煡寮傚父
+ private boolean err8;
+ private String errorRgv;
public void setMode(Short mode) {
this.mode = mode;
@@ -354,50 +142,20 @@
this.status = RgvStatusType.get(type).id.shortValue();
}
- public void setStatus1(Short status1){
- this.status1 = status1;
- this.statusType1 = RgvStatusType.get(status1);
- }
-
- public void setStatus1(RgvStatusType type1){
- this.statusType1 = type1;
- 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 boolean isLoaded1ing() {
- return Boolean.TRUE.equals(this.loaded1);
- }
-
- public boolean isLoaded2ing() {
- return Boolean.TRUE.equals(this.loaded2);
- }
-
-
- /**
- * 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷
- * I:鍏ュ簱
- * O:鍑哄簱
- */
- private String lastIo = "I";
-
-
public BasRgv toSqlModel(BasRgv basRgv){
if (alarm!=null) {
basRgv.setRgvErr(alarm.longValue());
}
- basRgv.setWrkNo1(taskNo1.intValue());
- basRgv.setWrkNo2(taskNo2.intValue());
+ basRgv.setWrkNo1(taskNo.intValue());
return basRgv;
+ }
+
+ public long getRgvPosDestinationOrPos(boolean sign){
+ if (!sign){
+ return RgvPosDestination>RgvPos? RgvPosDestination:RgvPos;
+ } else {
+ return RgvPosDestination<RgvPos? RgvPosDestination:RgvPos;
+ }
}
public void setxSpeed(Short xSpeed) {
@@ -412,87 +170,53 @@
this.xDuration = Float.valueOf(xDuration);
}
- public Integer getRgvPosI(){
- //闇�瑕佹牴鎹幇鍦烘敼閫� 鏍规嵁璇诲埌鐨勫�艰幏鍙栧搴旂珯鐐逛綅缃�
- Map<Short,Integer> map = new HashMap<>();
- 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 getRgvPosI1() {
- // 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(1035, 314954);
-
-
-
- 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;
- }
+ public int getAlarm$(){
+ if (err1){
+ return 1;
}
-
- return 0; // 娌″尮閰嶅埌绔欑偣
- }
- public Integer getRgvPosI2() {
- // key: 绔欑偣鍙� value: 鍩哄噯鐗╃悊浣嶇疆
- Map<Integer, Integer> posMap = new HashMap<>();
- posMap.put(2030, 314954);
- posMap.put(2027, 288094);
- posMap.put(2024, 246574);
- posMap.put(2021, 219584);
- posMap.put(2018, 177934);
- posMap.put(2015, 138126);
- posMap.put(2012, 102124);
- posMap.put(2009, 75174);
- posMap.put(2006, 33748);
- posMap.put(2003, 6449);
- int tolerance = 500; // 鍏佽璇樊鑼冨洿
-
- for (Map.Entry<Integer, Integer> entry : posMap.entrySet()) {
- int site = entry.getKey();
- int basePos = entry.getValue();
- if (Math.abs(RgvPos - basePos) <= tolerance) {
- return site;
- }
+ if (err2){
+ return 2;
}
-
- return 0; // 娌″尮閰嶅埌绔欑偣
- }
-
-
- @Override
- public RgvProtocol clone() {
- try {
- return (RgvProtocol) super.clone();
- } catch (CloneNotSupportedException e) {
- e.printStackTrace();
+ if (err3){
+ return 3;
}
- return null;
+ if (err4){
+ return 4;
+ }
+ if (err5){
+ return 5;
+ }
+ if (err6){
+ return 6;
+ }
+ if (err7){
+ return 7;
+ }
+ if (err8){
+ return 8;
+ }
+ return 0;
+ }
+ public String getAlarmM(){
+ switch (getAlarm$()){
+ case 1:
+ return "鎬ュ仠";
+ case 2:
+ return "鏈夌墿鏃犺祫鏂�";
+ case 3:
+ return "鍛戒护閿欒璧拌閾炬潯鍐茬獊";
+ case 4:
+ return "鐩爣涓鸿秴杩囪蛋琛屾瀬闄�";
+ case 5:
+ return "鍙橀鍣ㄥ紓甯�";
+ case 6:
+ return "鍏夌數寮傚父";
+ case 7:
+ return "灏忚溅妯″紡鍒囨崲閿欒";
+ case 8:
+ return "鍏跺畠鏈煡寮傚父";
+ }
+ return "姝e父";
}
}
--
Gitblit v1.9.1