From d9271883338de97164a36ea9a1e5fc7eef73e64d Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 04 十月 2023 14:38:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/model/protocol/LiftProtocol.java |  358 +++++++++++++++++++----------------------------------------
 1 files changed, 118 insertions(+), 240 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 790bb2f..dcee8b0 100644
--- a/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/LiftProtocol.java
@@ -5,8 +5,6 @@
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 
-import java.util.Date;
-
 /**
  * 鎻愬崌鏈�
  */
@@ -18,11 +16,6 @@
      * 鎻愬崌鏈哄彿
      */
     private Short liftNo;
-
-    /**
-     * 鎻愬崌鏈哄唴閮ㄤ簩缁寸爜
-     */
-    private Short barcode = 1699;
 
     /**
      * 浠诲姟鍙�
@@ -45,189 +38,96 @@
     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 Short positionArrivalFeedback;
-
-    /**
-     * 鍑嗗灏辩华
-     * 灏辩华涓�1锛屾湭灏辩华涓�0
-     */
-    private Boolean ready;
-
-    /**
-     * 杩愯涓�
-     * 杩愯涓负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;
-
-    /**
      * 浣滀笟鏍囪
      */
-    private Boolean pakMk = true;
+    private Boolean pakMk = false;
 
     /**
-     * 鍥涘悜绌挎杞﹁皟搴︽彁鍗囨満鏃讹紝闇�瑕侀攣瀹氭鏍囪
+     * 鐙崰浠ょ墝
+     * 鏈浠诲姟鍗犳嵁锛屼护鐗屼负0
+     * 琚换鍔″崰鎹紝灏嗕换鍔″彿璧嬪�肩粰浠ょ墝
      */
-    private Boolean securityMk = false;
+    private Integer token = 0;
 
     /**
      * 浠诲姟鍛戒护
      */
     private LiftAssignCommand assignCommand;
-
-    /**
-     * 鍑哄叆搴撴ā寮忥紝1锛氬叆搴擄紝2锛氬嚭搴�
-     */
-    private Integer outInModel;
-
-    /**
-     * 鍑哄叆搴撴ā寮忚捣濮嬬珯鐐�
-     */
-    private Integer startSta;
-
-    /**
-     * 鍑哄叆搴撴ā寮忕洰鏍囩珯鐐�
-     */
-    private Integer distSta;
-
-    /**
-     * 鍑哄叆搴撴ā寮忔鏁�
-     */
-    private Integer outInModelStep;
-
-    /**
-     * 宸ヤ綔鏃堕棿
-     */
-    private Date wrkTime;
-
-    public Short getLiftLockShortValue() {
-        return liftLock ? (short) 1 : (short) 0;
-    }
 
     /**
      * 璁剧疆鎻愬崌鏈虹姸鎬�
@@ -246,89 +146,67 @@
     }
 
     // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
-    public Boolean isIdle() {
-        if(this.taskNo == null
-                || this.liftLock == null
-                || this.ready == null
-                || this.running == null
-                || this.mode == null
+    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 == 0
-                && !this.liftLock
-//                && this.ready
-                && !this.running
-                && this.mode
-                && this.pakMk.equals(true)
-                && !this.securityMk
+        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.taskNo == null
-                || this.liftLock == null
-                || this.ready == null
-                || this.running == null
-                || this.mode == null
+        if(this.busy == null
+                || this.model == null
+                || this.deviceError == null
                 || this.pakMk == null
         ){
             return false;
         }
 
-        boolean res = !this.liftLock
-//                && this.ready
-                && !this.running
-                && this.mode
-                && this.pakMk
-                && !this.securityMk
+        boolean res = !this.busy
+                && this.model
+                && !this.pakMk
+                && !this.deviceError
                 ;
         return res;
-    }
-
-    public void setPositionArrivalFeedback(Short position) {
-        Short lev = null;
-        switch (position) {
-            case 1:
-                lev = 1;
-                break;
-            case 4:
-                lev = 2;
-                break;
-            case 8:
-                lev = 3;
-                break;
-            case 16:
-                lev = 4;
-                break;
-        }
-        this.lev = lev;//灞傞珮
-        this.positionArrivalFeedback = position;//浣嶇疆鍒拌揪鍙嶉
-    }
-
-    public Integer getPositionArrivalFeedback$() {
-        if (this.positionArrivalFeedback == null) {
-            return null;
-        }
-
-        switch (this.positionArrivalFeedback) {
-            case 1:
-                return 1;
-            case 2:
-                return 2;
-            case 4:
-                return 3;
-            case 8:
-                return 4;
-            case 16:
-                return 5;
-        }
-
-        return null;
     }
 
 

--
Gitblit v1.9.1