From d227361b0537fab600c4077375bfc14a40973751 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 27 三月 2023 14:00:04 +0800
Subject: [PATCH] 配置文件
---
src/main/java/com/zy/core/model/protocol/SteProtocol.java | 571 +++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 438 insertions(+), 133 deletions(-)
diff --git a/src/main/java/com/zy/core/model/protocol/SteProtocol.java b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
index 29180c0..5ed0d12 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -1,36 +1,43 @@
package com.zy.core.model.protocol;
-import com.zy.asrs.entity.BasCrnp;
-import com.zy.core.enums.CrnForkPosType;
-import com.zy.core.enums.CrnLiftPosType;
-import com.zy.core.enums.CrnModeType;
-import com.zy.core.enums.CrnStatusType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.service.BasSteService;
+import com.zy.core.News;
+import com.zy.core.enums.SteHisTaskStatusType;
+import com.zy.core.enums.SteLocaType;
+import com.zy.core.enums.SteStatusType;
import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
/**
* Created by vincent on 2020/8/7
*/
+@Slf4j
@Data
public class SteProtocol {
/**
- * 1 = 鎵嬪姩妯″紡
- * 2 = 鑷姩妯″紡
- * 3 = 鐢佃剳妯″紡
+ * 璁惧鍙�
+ */
+ private Short steNo;
+
+ /**
+ * 1 = 鑱旀満妯″紡
+ * 0 = 鑴辨満妯″紡
*/
public Short mode;
- public CrnModeType modeType;
-
/**
- * 1 = 鎬ュ仠
+ IDLE(0, "绌洪棽"),
+ MOVING(1, "浣滀笟涓�"),
+ SOS(2, "鎶ヨ"),
+ WAITING(3, "浠诲姟瀹屾垚绛夊緟WCS纭"),
*/
- public Short eStop;
+ public Short status;
- /**
- * 寮傚父鐮�
- */
- public Short alarm;
+ public SteStatusType statusType;
/**
* 浠诲姟鍙�
@@ -38,199 +45,444 @@
public Short taskNo = 0;
/**
- * 鍫嗗灈鏈哄綋鍓嶇姸鎬�
- * 0锛氱┖闂诧紝鏃犱换鍔�
- * 1锛氬彇璐у畾浣嶄腑
- * 2锛氬彇璐т腑
- * 3锛氬彇璐у畬鎴愶紝鏀捐揣瀹氫綅涓�
- * 4锛氭斁璐т腑
- * 5锛氬洖鍘熺偣涓�
- * 6锛氬弽鍘熺偣
- * 7锛氬簱浣嶇Щ浣�
- * 90锛氫换鍔″畬鎴愮瓑寰匴CS纭
- * 99锛氭姤璀�
+ * 姝e湪鎵ц浠诲姟
*/
- public Short status;
+ public Boolean execute;
/**
- * 鐘舵�佹灇涓�
+ * 浠诲姟瀹屾垚锛岀瓑寰匴CS纭
*/
- public CrnStatusType statusType;
+ public Boolean waiting;
+
/**
- * 鍫嗗灈鏈哄綋鍓嶅垪鍙�
+ * 寮傚父鐮�1
+ */
+ public Short alarm;
+
+
+ /**
+ * 寮傚父鐮�2
+ */
+ public Short alarm0;
+
+ /**
+ * 鐢垫睜鐢甸噺
+ */
+ public Float charge = 0.0F;
+
+ public void setCharge(Float charge) {
+ if (charge >= 0) {
+ this.charge = charge;
+ }
+ }
+
+ /**
+ * 婊$數
+ */
+ public Boolean fullCharge;
+
+ /**
+ * 浣庣數閲�
+ */
+ public Boolean lowCharge;
+
+ /**
+ * 鐢垫睜棣堢數 0锛屾瑺鐢碉紝1浣庣數 2婊$數
+ */
+ public Short feed;
+
+ /**
+ * 褰撳墠浣嶇疆 1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐�
+ */
+ public Short loca;
+
+ public SteLocaType locaType;
+
+ /**
+ * 杩戠偣璺濈
+ */
+ public Double closer;
+
+ /**
+ * 褰撳墠閫熷害
+ */
+ public Double speed = 0.0D;
+
+ /**
+ * 楂樹綆浣� 0锛屼綆浣嶏紝1楂樹綅
+ */
+ public Short pos;
+
+ /**
+ * 鏈夎揣 0锛屾病璐э紝1鏈夎揣
+ */
+ public Short load;
+
+ /**
+ * 鍦ㄨ建閬撲笂 0涓嶅湪锛�1鍦�
+ */
+ public Short track;
+
+ /**
+ * 浠诲姟绫诲瀷
+ */
+ public Short taskType;
+
+ /**
+ * 鎺�
+ */
+ public Short row;
+
+ /**
+ * 鍒�
*/
public Short bay;
/**
- * 鍫嗗灈鏈哄綋鍓嶅眰鍙�
+ * 灞�
*/
- public Short level;
+ public Short lev;
/**
- * 褰撳墠璐у弶浣嶇疆
- * 0 = 璐у弶鍘熶綅
- * 1 = 璐у弶鍦ㄥ乏渚�
- * 2 = 璐у弶鍦ㄥ彸渚�
+ * 杩囪处鎸囦护浠诲姟鍙�
*/
- public Short forkPos;
-
- public CrnForkPosType forkPosType;
+ public Integer hisTaskNo;
/**
- * 褰撳墠杞借揣鍙颁綅缃�
- * 0 = 涓嬪畾浣�
- * 1 = 涓婂畾浣�
+ * 杩囪处鎸囦护鐘舵��
+ * 0鍒濆 1鎵ц瀹屾垚 2鍒犻櫎
*/
- public Short liftPos;
+ public Short hisTaskStatus;
- public CrnLiftPosType liftPosType;
+ public SteHisTaskStatusType hisTaskStatusType;
/**
- * 璧拌鍦ㄥ畾浣�
- * 0 = 鍦ㄥ畾浣�
- * 1 = 涓嶅湪瀹氫綅
+ * 鐩樼偣鏁伴噺
*/
- public Short walkPos;
+ public Short checkQty;
/**
- * 杞借揣鍙版湁鐗�
+ * 灏辩华鐘舵�� 0鏈氨缁� 1灏辩华
*/
- public Short loaded;
-
- private Short temp1;
-
- private CrnTemp1 crnTemp1;
-
- private Short temp2;
-
- private Short temp3;
-
- private Short temp4;
+ public Short ready;
/**
- * 寮傚父1
+ * 鎵撳紑鍏呯數妗╁彿
*/
- private boolean[] error1;
-
- private CrnError1 crnError1;
+ public Short chargeNo;
/**
- * 寮傚父2
+ * 蹇冭烦鎸囦护 1-2姣忕鍒囨崲涓�娆�
*/
- private boolean[] error2;
-
- private CrnError2 crnError2;
+ public Short heart;
/**
- * 寮傚父3
+ * 鍫嗗灈鏈虹姝㈣繍琛� 1杩愯锛�0绂佹
*/
- private boolean[] error3;
-
- private CrnError3 crnError3;
+ public Short crnStopRun;
/**
- * 寮傚父4
+ * 鍫嗗灈鏈虹姝几鍙� 1杩愯锛�0绂佹
*/
- private boolean[] error4;
-
- private CrnError4 crnError4;
+ public Short crnStopFork;
/**
- * 寮傚父5
+ * 鍫嗗灈鏈烘惉绉诲厑璁� 0涓嶅厑璁� 1鍏佽
*/
- private boolean[] error5;
-
- private CrnError5 crnError5;
+ public Short crnAllowRun;
/**
- * 寮傚父6
+ * 鍏呯數鐘舵�� 1锛氬湪鍏呯數锛�0锛氫笉鍦ㄥ厖鐢�
*/
- private boolean[] error6;
+ private Short chargeStatus;
- private CrnError6 crnError6;
+ // 鍏ュ簱鍙栫┖
+ private Boolean inEmpty;
+
+ // 鍑哄簱鍙栫┖
+ private Boolean outEmpty;
+
+ // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
/**
- * X琛岃蛋绾块�熷害m/min
+ * 0.鍗囬檷瓒呮椂鎶ヨ
*/
- private Float xSpeed;
+ private boolean liftErr;
/**
- * Y琛岃蛋绾块�熷害m/min
+ * 2.鍏ュ簱鍙栫┖鎶ヨ
*/
- private Float ySpeed;
+ private boolean inFetchErr;
/**
- * Z琛岃蛋绾块�熷害m/min
+ * 3.鍑哄簱鍙栫┖鎶ヨ
*/
- private Float zSpeed;
+ private boolean outFetchErr;
/**
- * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m
+ * 4.闃叉挒淇濇姢
*/
- public Float xDistance;
+ private boolean antiErr;
/**
- * 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂籯m
+ * 5.鍗囬檷鎺ヨ繎寮�鍏虫晠闅�
*/
- public Float yDistance;
+ private boolean liftSwitchErr;
/**
- * 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣
+ * 6.杞ㄩ亾妫�娴嬫姤璀�
*/
- public Float xDuration;
+ private boolean trackErr;
/**
- * 鍫嗗灈鏈虹疮璁″崌闄嶆椂闀縣
+ * 7.璁惧杩愯瓒呮椂鎶ヨ
*/
- public Float yDuration;
+ private boolean timeoutErr;
- public void setMode(Short mode) {
- this.mode = mode;
- this.modeType = CrnModeType.get(mode);
- }
+ /**
+ * 8.閫氫俊閿欒鎶ヨ
+ */
+ private boolean connectErr;
- public void setMode(CrnModeType type) {
- this.modeType = type;
- this.mode = CrnModeType.get(type).id.shortValue();
- }
+ /**
+ * 9.璁惧鎬ュ仠
+ */
+ private boolean emergencyErr;
- public void setForkPos(Short forkPos) {
- this.forkPos = forkPos;
- this.forkPosType = CrnForkPosType.get(forkPos);
- }
+ /**
+ * 10.浠诲姟绫诲瀷缂哄け
+ */
+ private boolean taskTypeErr;
- public void setForkPos(CrnForkPosType type) {
- this.forkPosType = type;
- this.forkPos = CrnForkPosType.get(type).id.shortValue();
- }
+ /**
+ * 11.浠诲姟鍙风己澶�
+ */
+ private boolean taskNoErr;
- public void setLiftPos(Short liftPos) {
- this.liftPos = liftPos;
- this.liftPosType = CrnLiftPosType.get(liftPos);
- }
+ /**
+ * 12.杩愯涓湁鏂颁换鍔�
+ */
+ private boolean newTaskErr;
- public void setLiftPos(CrnLiftPosType type) {
- this.liftPosType = type;
- this.liftPos = CrnLiftPosType.get(type).id.shortValue();
- }
+ /**
+ * 13.鏁呴殰涓湁浠诲姟
+ */
+ private boolean errTaskErr;
+
+ /**
+ * 14.杩愯涓仠姝�
+ */
+ private boolean stopErr;
+
+ /**
+ * 15.鑴辨満妯″紡涓嬫湁浠诲姟
+ */
+ private boolean offlineTaskErr;
+
+ /**
+ * 16.鏉′欢鏈弧瓒冲惎鍔ㄤ换鍔�
+ */
+ private boolean startTaskErr;
+
+ /**
+ * 17.浣庣數鍘嬫椂鏈変换鍔�
+ */
+ private boolean voltageTaskErr;
+
+ /**
+ * 63.璁惧鏁呴殰鏍囧織浣�
+ */
+ private boolean devpErr;
+ // 绌挎杞﹀紓甯� ------------------------------------------------------------------------
+
+ // 绌挎杞︽彁绀轰俊鎭� ------------------------------------------------------------------------
+ /**
+ * 64.鑱旀満鐘舵��
+ */
+ private boolean online;
+
+ /**
+ * 65.涓嶅湪杞ㄩ亾涓�
+ */
+ private boolean notOnTrack;
+
+ /**
+ * 66.浣庣數閲忔彁閱�
+ */
+ private boolean lowVoltage;
+
+ /**
+ * 67.浜忕數涓�
+ */
+ private boolean electricityLoss;
+
+ /**
+ * 68.寮哄埗琛岃蛋鍚姩
+ */
+ private boolean forcedTravel;
+
+ /**
+ * 69.婕旂ず妯″紡寮�鍚�
+ */
+ private boolean demoMode;
+
+ /**
+ * 70.鍏呯數鍒峰凡鎺ラ��
+ */
+ private boolean brushConnect;
+
+ /**
+ * 71.浠诲姟涓姝㈡墜鍔�
+ */
+ private boolean taskManualForbid;
+
+ /**
+ * 72.鑱旀満涓姝㈡墜鍔�
+ */
+ private boolean onlineManualForbid;
+
+ /**
+ * 73.璁惧鎬ュ仠涓�
+ */
+ private boolean devpEmergency;
+
+ /**
+ * 74.浠诲姟涓柇涓�
+ */
+ private boolean taskInterrupt;
+
+ /**
+ * 75.浠诲姟宸叉竻闄�
+ */
+ private boolean taskClear;
+
+ /**
+ * 76.浠诲姟纭宸茶秴鏃�
+ */
+ private boolean taskConfirmTimeout;
+
+ /**
+ * 77.鍏呯數涓湁浠诲姟
+ */
+ private boolean taskWithCharge;
+
+ // 浠诲姟淇℃伅 ---------------------------------------------------------
+ /**
+ * 96.鍏ュ簱浠诲姟涓�
+ */
+ private boolean pakInTask;
+
+ /**
+ * 97. 鍑哄簱浠诲姟涓�
+ */
+ private boolean pakOutTask;
+
+ /**
+ * 98. 绉诲簱浠诲姟涓�
+ */
+ private boolean pakMoveTask;
+
+ /**
+ * 99. 鍥炲師鐐逛换鍔′腑
+ */
+ private boolean goHpTask;
+
+ /**
+ * 100. 鍘诲弽鍘熺偣浠诲姟涓�
+ */
+ private boolean goOHpTask;
+
+ /**
+ * 101. 鍘诲師鐐归伩璁╀綅
+ */
+ private boolean goHpAvoid;
+
+ /**
+ * 102. 鍘诲弽鍘熺偣閬胯浣�
+ */
+ private boolean goOHpAvoid;
+
+ /**
+ * 104. 鍏ュ簱鍙栫┖缁撴潫
+ */
+ private boolean pakInEmpty;
+
+ /**
+ * 105. 鍏ュ簱姝e父缁撴潫
+ */
+ private boolean pakInFinish;
+
+ /**
+ * 106. 鍑哄簱鍙栫┖缁撴潫
+ */
+ private boolean pakOutEmpty;
+
+ /**
+ * 107. 鍑哄簱姝e父缁撴潫
+ */
+ private boolean pakOutFinish;
+
+ /**
+ * 108. 鍘诲師鐐归伩璁╁畬鎴�
+ */
+ private boolean goHpAvoidFinish;
+
+ /**
+ * 109. 鍘诲弽鍘熺偣閬胯瀹屾垚
+ */
+ private boolean goOHpAvoidFinish;
+
+ /**
+ * 110. 鍘诲師鐐归伩璁╁畬鎴�
+ */
+ private boolean goHpAvoidErr;
+
+ /**
+ * 111. 鍘诲弽鍘熺偣閬胯瀹屾垚
+ */
+ private boolean goOHpAvoidErr;
+
+ // 鐘舵�佷俊鎭� ---------------------------------------------------------
+ /**
+ * 112. 鑱旀満妯″紡
+ */
+ private boolean autoMode;
+
+ /**
+ * 113. 鐢靛帇杩囦綆
+ */
+ private boolean voltageLow;
+
public void setStatus(Short status){
this.status = status;
- this.statusType = CrnStatusType.get(status);
+ this.statusType = SteStatusType.get(status);
}
- public void setStatus(CrnStatusType type){
+ public void setStatus(SteStatusType type){
this.statusType = type;
- this.status = CrnStatusType.get(type).id.shortValue();
+ this.status = SteStatusType.get(type).id.shortValue();
}
- public Short getTemp1() {
- return temp1;
+ public void setLoca(Short loca){
+ this.loca = loca;
+ this.locaType = SteLocaType.get(loca);
}
- public void setTemp1(Short temp1) {
- this.temp1 = temp1;
+ public void setLoca(SteLocaType type){
+ this.locaType = type;
+ this.loca = SteLocaType.get(type).id.shortValue();
+ }
+
+ public void setHisTaskStatus(Short hisTaskStatus){
+ this.hisTaskStatus = hisTaskStatus;
+ this.hisTaskStatusType = SteHisTaskStatusType.get(hisTaskStatus);
+ }
+
+ public void setHisTaskStatus(SteHisTaskStatusType type){
+ this.hisTaskStatusType = type;
+ this.hisTaskStatus = SteHisTaskStatusType.get(type).id.shortValue();
}
/**
@@ -240,12 +492,65 @@
*/
private String lastIo = "I";
+ private String pakMk = "-";
- public BasCrnp toSqlModel(BasCrnp basCrnp){
+ public BasSte toSqlModel(BasSte basSte){
if (alarm!=null) {
- basCrnp.setCrnErr(alarm.longValue());
+ basSte.setSteErr(alarm.longValue());
}
- basCrnp.setWrkNo(taskNo.intValue());
- return basCrnp;
+ basSte.setWrkNo(taskNo.intValue());
+// if (basSte.getPakMk().equals("N")) {
+// if (!Cools.isEmpty(row)) {
+// basSte.setRow(row.intValue());
+// }
+// if (!Cools.isEmpty(bay)) {
+// basSte.setBay(bay.intValue());
+// }
+// if (!Cools.isEmpty(lev)) {
+// basSte.setLev(lev.intValue());
+// }
+// }
+ return basSte;
}
+
+ // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+ public Boolean isIdle() {
+ boolean res = this.statusType.equals(SteStatusType.IDLE)
+ && this.mode == 1
+ && this.pakMk.equals("N")
+ && !isAlarm()
+ && this.chargeStatus == 0
+ && isEnable()
+ ;
+ if (!res) {
+ return res;
+ } else {
+ // 鐢甸噺
+ try {
+ String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(this.steNo).getChargeLine();
+ return charge > Float.parseFloat(chargeLine);
+ } catch (Exception e) {
+ News.error("fail", e);
+ return false;
+ }
+ }
+ }
+
+ // 灏忚溅鐢甸噺
+ public Float isIdle2() {
+ return this.charge;
+ }
+
+ // 鏄惁澶勪簬鎶ヨ鐘舵��
+ public Boolean isAlarm() {
+ return this.alarm > 1;
+ }
+
+ public Boolean isEnable() {
+ if (Cools.isEmpty(row, bay, lev)) {
+ return false;
+ }
+ return row > 0 && bay > 0 && lev > 0;
+ }
+
}
--
Gitblit v1.9.1