From 7a3b50af32dce3c806a6e520043a714594f3acff Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 25 十月 2023 19:59:26 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/LiftProtocol.java |  299 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 172 insertions(+), 127 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
index cd00e23..dcee8b0 100644
--- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -1,5 +1,7 @@
 package com.zy.core.model.protocol;
 
+import com.zy.core.enums.LiftProtocolStatusType;
+import com.zy.core.model.command.LiftAssignCommand;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
@@ -21,148 +23,191 @@
     private Short taskNo = 0;
 
     /**
+     * 鍥涘悜绌挎杞﹀彿
+     */
+    private Short shuttleNo = 0;
+
+    /**
+     * 褰撳墠鎻愬崌鏈虹姸鎬侊紙鍐呴儴鑷垜缁存姢锛�
+     */
+    private Integer protocolStatus = 1;
+
+    /**
+     * 褰撳墠鎻愬崌鏈虹姸鎬佹灇涓�
+     */
+    private LiftProtocolStatusType protocolStatusType = LiftProtocolStatusType.IDLE;
+
+    /**
+     * 妯″紡
+     */
+    private Boolean model;
+
+    /**
+     * 蹇欓棽
+     */
+    private Boolean busy;
+
+    /**
+     * 鍓嶈秴闄�
+     */
+    private Boolean frontOverrun;
+
+    /**
+     * 鍚庤秴闄�
+     */
+    private Boolean backOverrun;
+
+    /**
+     * 宸﹁秴闄�
+     */
+    private Boolean leftOverrun;
+
+    /**
+     * 鍙宠秴闄�
+     */
+    private Boolean rightOverrun;
+
+    /**
+     * 瓒呴珮
+     */
+    private Boolean overHeight;
+
+    /**
+     * 瓒呴噸
+     */
+    private Boolean overWeight;
+
+    /**
+     * 鏈夋墭鐩�
+     */
+    private Boolean hasTray;
+
+    /**
+     * 鏈夊皬杞�
+     */
+    private Boolean hasCar;
+
+    /**
+     * 璁惧鏁呴殰
+     */
+    private Boolean deviceError;
+
+    /**
+     * 浠诲姟鍦板潃
+     */
+    private Short taskAddress;
+
+    /**
+     * 鐩殑鍦板潃
+     */
+    private Short distAddress;
+
+    /**
+     * 宸插畬鎴愮殑浠诲姟鍙�
+     */
+    private Short completeTaskNo;
+
+    /**
      * 灞�
      */
     private Short lev;
 
     /**
-     * 鎻愬崌鏈洪攣瀹�
+     * 浣滀笟鏍囪
      */
-    private Boolean liftLock;
+    private Boolean pakMk = false;
 
     /**
-     * 浣嶇疆鍒拌揪鍙嶉
+     * 鐙崰浠ょ墝
+     * 鏈浠诲姟鍗犳嵁锛屼护鐗屼负0
+     * 琚换鍔″崰鎹紝灏嗕换鍔″彿璧嬪�肩粰浠ょ墝
      */
-    private Short positionArrivalFeedback;
+    private Integer token = 0;
 
     /**
-     * 鍑嗗灏辩华
-     * 灏辩华涓�1锛屾湭灏辩华涓�0
+     * 浠诲姟鍛戒护
      */
-    private Boolean ready;
+    private LiftAssignCommand assignCommand;
 
     /**
-     * 杩愯涓�
-     * 杩愯涓负1锛屾湭杩愯涓�0
+     * 璁剧疆鎻愬崌鏈虹姸鎬�
      */
-    private Boolean running;
-
-    /**
-     * 鑱旀満/鍗曟満
-     * 鑱旀満涓�1锛屽崟鏈轰负0
-     */
-    private Boolean mode;
-
-    /**
-     * 杈撻�佺嚎鍓嶇鍏夌數鏈夎揣
-     * 鏈夎揣涓�1锛屾棤璐т负0锛堝墠绔寚闈犺繎璐ф灦渚э級
-     */
-    private Boolean lineFrontHasStock;
-
-    /**
-     * 杈撻�佺嚎姝h浆鍙嶉
-     * 姝h浆杩愯涓�1锛屽惁鍒欎负0
-     */
-    private Boolean forwardRotationFeedback;
-
-    /**
-     * 杈撻�佺嚎鍙嶈浆鍙嶉
-     * 鍙嶈浆杩愯涓�1锛屽惁鍒欎负0
-     */
-    private Boolean reverseFeedback;
-
-    /**
-     * 杈撻�佺嚎鐢垫満杩囪浇
-     * 杩囪浇涓�0锛屾甯镐负1
-     */
-    private Boolean motorOverload;
-
-    /**
-     * 杈撻�佺嚎鏈鍏夌數鏈夎揣
-     * 鏈夎揣涓�1锛屾棤璐т负0
-     */
-    private Boolean lineEndHasStock;
-
-    /**
-     * 杩涜緭閫佺嚎鍗℃墭鐩樻姤璀�
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean inConveyLineCardTrayAlarm;
-
-    /**
-     * 鍑鸿緭閫佺嚎鍗℃墭鐩樻姤璀�
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean outConveyLineCardTrayAlarm;
-
-    /**
-     * 骞冲彴浣嶇疆鍋忓樊鎶ヨ
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean platPositionDeviationAlarm;
-
-    /**
-     * 骞冲彴鎵煩鍋忓樊鎶ヨ
-     * 鎶ヨ涓�1锛屾湭鎶ヨ涓�0
-     */
-    private Boolean platTorqueDeviationAlarm;
-
-    /**
-     * 骞冲彴鍥涘悜杞︽娴�
-     * 鏈夎溅涓�1锛屾棤杞︿负0
-     */
-    private Boolean platShuttleCheck;
-
-    /**
-     * 鏈氨缁姸鎬�
-     * 1.	涓嶅湪鎸囧畾灞�
-     * 2.	鍥涜酱涓嶅悓姝�
-     * 3.	骞冲彴鍓嶉檺鍏夌數琚尅鍒帮紙闈犺繎璐ф灦锛�
-     * 4.	骞冲彴鍚庨檺鍏夌數琚尅鍒帮紙杩滅璐ф灦锛�
-     * 5.	骞冲彴涓婇檺浣嶆姤璀�
-     * 6.	骞冲彴涓嬮檺浣嶆姤璀�
-     * 7.	鐢垫煖鎬ュ仠鎶ヨ
-     * 8.	杈撻�佺嚎鍓嶉檺浣嶈鎸″埌锛堥潬杩戣揣鏋讹級
-     * 9.	杈撻�佺嚎鍚庨檺浣嶈鎸″埌锛堣繙绂昏揣鏋讹級
-     * 10.	瑙︽懜灞忕揣鎬ュ仠姝㈣鎸変笅
-     * 11.	鍥涜酱鍔ㄥ姏绾挎柇绾�
-     * 12.	鍗曟満妯″紡
-     * 13.	鍥涜酱鎶ヨ
-     * 14.	浣嶇疆鍋忓樊杩囧ぇ
-     * 15.	鎵煩鍋忓樊杩囧ぇ
-     * 16.	杈撻�佺嚎杩囪浇
-     * 17.	杩涙彁鍗囨満鍗℃墭鐩�
-     * 18.	鍑烘彁鍗囨満鍗℃墭鐩�
-     */
-    private Short notReady;
-
-    /**
-     * 浼烘湇1閿欒
-     */
-    private Short servoError1;
-
-    /**
-     * 浼烘湇2閿欒
-     */
-    private Short servoError2;
-
-    /**
-     * 浼烘湇3閿欒
-     */
-    private Short servoError3;
-
-    /**
-     * 浼烘湇4閿欒
-     */
-    private Short servoError4;
-
-    /**
-     * 鎻愬崌鏈哄疄闄呴�熷害鍙嶉
-     */
-    private Short liftActualSpeed;
-
-    public Short getLiftLockShortValue() {
-        return liftLock ? (short) 1 : (short) 0;
+    public void setProtocolStatus(Integer status) {
+        this.protocolStatus = status;
+        this.protocolStatusType = LiftProtocolStatusType.get(status);
     }
 
+    /**
+     * 璁剧疆鎻愬崌鏈虹姸鎬�
+     */
+    public void setProtocolStatus(LiftProtocolStatusType status) {
+        this.protocolStatus = status.id;
+        this.protocolStatusType = status;
+    }
+
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+    public Boolean isIdle(Short taskNo) {
+        if(this.busy == null
+                || this.model == null
+                || this.deviceError == null
+                || this.pakMk == null
+                || this.token == null
+        ){
+            return false;
+        }
+
+        boolean res =
+//                (this.taskNo.equals(this.completeTaskNo) || this.taskNo.intValue() == taskNo.intValue())
+                !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
+                && this.protocolStatusType.equals(LiftProtocolStatusType.IDLE)
+                ;
+        return res;
+    }
+
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+    public Boolean isIdle() {
+        if(this.taskNo == null
+                || this.busy == null
+                || this.model == null
+                || this.deviceError == null
+                || this.pakMk == null
+                || this.token == null
+        ){
+            return false;
+        }
+
+        boolean res =
+//                this.taskNo.equals(this.completeTaskNo)
+                !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
+                && this.token == 0
+                && this.protocolStatusType.equals(LiftProtocolStatusType.IDLE)
+                ;
+        return res;
+    }
+
+    // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝涓嶅垽鏂换鍔″彿
+    public Boolean isIdleNoTask() {
+        if(this.busy == null
+                || this.model == null
+                || this.deviceError == null
+                || this.pakMk == null
+        ){
+            return false;
+        }
+
+        boolean res = !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
+                ;
+        return res;
+    }
+
+
 }

--
Gitblit v1.9.1