From 82374fe4b32d58956810f445b7889f1a370f1ab9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 27 十月 2025 15:26:13 +0800
Subject: [PATCH] #配置信号

---
 src/main/java/com/zy/core/model/protocol/CrnProtocol.java |  363 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 322 insertions(+), 41 deletions(-)

diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index 63a2a49..623e52c 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,5 +1,11 @@
 package com.zy.core.model.protocol;
 
+import com.zy.asrs.entity.BasCrnErrorLog;
+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 lombok.Data;
 
 /**
@@ -8,61 +14,61 @@
 @Data
 public class CrnProtocol {
 
+    private Integer crnNo;
+
     /**
      * 1 = 鎵嬪姩妯″紡
      * 2 = 鑷姩妯″紡
      * 3 = 鐢佃剳妯″紡
-     * 4 = 鎵嬪姩妯″紡鍚姩涓�
-     * 5 = 鑷姩妯″紡鍚姩涓�
-     * 6 = 鐢佃剳妯″紡鍚姩涓�
      */
-    public short mode;
+    public Short mode;
+
+    public CrnModeType modeType;
 
     /**
      * 1 = 鎬ュ仠
      */
-    public short eStop;
+    public Short eStop;
 
     /**
      * 寮傚父鐮�
      */
-    public short alarm;
+    public Short alarm;
 
     /**
      * 浠诲姟鍙�
      */
-    public short taskNo;
+    public Short taskNo = 0;
 
     /**
      * 鍫嗗灈鏈哄綋鍓嶇姸鎬�
-     * 0 = 鏈煡
-     * 1 = 绌洪棽
-     * 2 = 妫�鏌ヤ换鍔℃暟鎹�
-     * 3 = 瀹氫綅鍒板彇璐т綅
-     * 7 = 鍙栬揣瀹屾垚
-     * 8 = 绛夊緟璋冨害鏌滃厑璁�
-     * 9 = 绉诲姩鍒版斁璐т綅缃�
-     * 10 = 鏀捐揣涓�
-     * 13 = 鎼繍瀹屾垚
-     * 14 = 绌鸿浇閬胯
-     * 15 = 妫�鏌ヤ换鍔℃暟鎹�
-     * 20 = 妫�鏌ユ簮浣嶇疆
-     * 21 = 妫�鏌ョ洰鏍囦綅缃�
-     * 50 = 绉诲姩浠诲姟
-     * 98 = 浠诲姟瀹屾垚锛寃cs鏈‘璁�
-     * 99 = 鎶ヨ
+     * 0锛氱┖闂诧紝鏃犱换鍔�
+     * 1锛氬彇璐у畾浣嶄腑
+     * 2锛氬彇璐т腑
+     * 3锛氬彇璐у畬鎴愶紝鏀捐揣瀹氫綅涓�
+     * 4锛氭斁璐т腑
+     * 5锛氬洖鍘熺偣涓�
+     * 6锛氬弽鍘熺偣
+     * 7锛氬簱浣嶇Щ浣�
+     * 90锛氫换鍔″畬鎴愮瓑寰匴CS纭
+     * 99锛氭姤璀�
      */
-    public short status;
+    public Short status;
+
+    /**
+     * 鐘舵�佹灇涓�
+     */
+    public CrnStatusType statusType;
 
     /**
      * 鍫嗗灈鏈哄綋鍓嶅垪鍙�
      */
-    public short bay;
+    public Short bay;
 
     /**
      * 鍫嗗灈鏈哄綋鍓嶅眰鍙�
      */
-    public short level;
+    public Short level;
 
     /**
      * 褰撳墠璐у弶浣嶇疆
@@ -70,45 +76,320 @@
      * 1 = 璐у弶鍦ㄥ乏渚�
      * 2 = 璐у弶鍦ㄥ彸渚�
      */
-    public short forkPos;
+    public Short forkPos;
+
+    public CrnForkPosType forkPosType;
 
     /**
      * 褰撳墠杞借揣鍙颁綅缃�
      * 0 = 涓嬪畾浣�
      * 1 = 涓婂畾浣�
      */
-    public short liftPos;
+    public Short liftPos;
+
+    public CrnLiftPosType liftPosType;
 
     /**
      * 璧拌鍦ㄥ畾浣�
      * 0 = 鍦ㄥ畾浣�
      * 1 = 涓嶅湪瀹氫綅
      */
-    public short walkPos;
-
-    /**
-     * 鍫嗗灈鏈轰换鍔″畬鎴�
-     */
-    public short taskFinish;
+    public Short walkPos;
 
     /**
      * 杞借揣鍙版湁鐗�
      */
-    public short loaded;
+    public Short loaded;
+
+    private Short temp1;
+
+    private CrnTemp1 crnTemp1;
+
+    private Short temp2;
+
+    private Short temp3;
+
+    private Short temp4;
 
     /**
-     * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂�
+     * 寮傚父1
      */
-    public int xDistance;
+    private boolean[] error1;
+
+    private CrnError1 crnError1;
 
     /**
-     * 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂�
+     * 寮傚父2
      */
-    public int yDistance;
+    private boolean[] error2;
+
+    private CrnError2 crnError2;
 
     /**
-     * 鍫嗗灈鏈虹疮璁¤繍琛屾椂闀�
+     * 寮傚父3
      */
-    public int duration;
+    private boolean[] error3;
+
+    private CrnError3 crnError3;
+
+    /**
+     * 寮傚父4
+     */
+    private boolean[] error4;
+
+    private CrnError4 crnError4;
+
+    /**
+     * 寮傚父5
+     */
+    private boolean[] error5;
+
+    private CrnError5 crnError5;
+
+    /**
+     * 寮傚父6
+     */
+    private boolean[] error6;
+
+    private CrnError6 crnError6;
+
+    /**
+     * X琛岃蛋绾块�熷害m/min
+     */
+    private Float xSpeed;
+
+    /**
+     * Y琛岃蛋绾块�熷害m/min
+     */
+    private Float ySpeed;
+
+    /**
+     * Z琛岃蛋绾块�熷害m/min
+     */
+    private Float zSpeed;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m
+     */
+    public Float xDistance;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂籯m
+     */
+    public Float yDistance;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣
+     */
+    public Float xDuration;
+
+    /**
+     * 鍫嗗灈鏈虹疮璁″崌闄嶆椂闀縣
+     */
+    public Float yDuration;
+
+    //鍫嗗灈鏈洪厤缃俊鍙�--------------------------------------------------------------
+    // 鏁呴殰璇诲彇閿佸畾鏍囪
+    private boolean errorMk = false;
+    //鍐欏叆鏍囪
+    private boolean writeMk = true;
+    private Boolean ibDriveFault = false;       // 琛岃蛋鍙橀鍣ㄦ晠闅�
+    private Boolean ibSupplyFault = false;      // 鎻愪緵鍙橀鍣ㄦ晠闅�
+    private Boolean ibForkDriveFault = false;   // 璐у弶鍙橀鍣ㄦ晠闅�
+    private Boolean ibDriveCircuitFault = false; // 琛岃蛋鏂矾鍣ㄦ晠闅�
+    private Boolean ibLiftCircuitFault = false; // 鎻愬崌鏂矾鍣ㄦ晠闅�
+    private Boolean ibForkCircuitFault = false; // 璐у弶鏂矾鍣ㄦ晠闅�
+    private Boolean ibForwardLimit = false;     // 鍓嶈繘闄愪綅
+    private Boolean ibReverseLimit = false;     // 鍚庨��闄愪綅
+    private Boolean ibDriveStart = false;       // 琛岃蛋鍘熺偣
+    private Boolean ibForwardBrakeSpeed = false; // 鍓嶈繘寮哄埗浣庨��
+    private Boolean ibReverseBrakeSpeed = false; // 鍚庨��寮哄埗浣庨��
+    private Boolean ibUpLimit = false;          // 涓婂崌闄愪綅
+    private Boolean ibDownLimit = false;        // 涓嬮檺闄愪綅
+    private Boolean ibUpOrigin = false;         // 鎻愬崌鍘熺偣
+    private Boolean ibUpBrakeSpeed = false;     // 涓婂崌寮哄埗浣庨��
+    private Boolean ibDownBrakeSpeed = false;   // 涓嬮檷寮哄埗浣庨��
+    private Boolean ibPlatformSignal = false;   // 杞借揣鍙版帰璐�
+    private Boolean ibForkMidSignal = false;    // 璐у弶涓綅淇″彿
+    private Boolean ibForkLeftLimit = false;    // 璐у弶宸︽瀬闄�
+    private Boolean ibForkRightLimit = false;   // 璐у弶鍙虫瀬闄�
+    private Boolean ibFrontOverLimit = false;   // 鍓嶈秴闄�
+    private Boolean ibRearOverLimit = false;    // 鍚庤秴闄�
+    private Boolean ibLeftOverLimit = false;    // 宸﹁秴闄�
+    private Boolean ibRightOverLimit = false;   // 鍙宠秴闄�
+    private Boolean ibHighOverLimit1 = false;   // 楂樿秴闄�1
+    private Boolean ibHighOverLimit2 = false;   // 楂樿秴闄�2
+    private Boolean ibHighOverLimit3 = false;   // 楂樿秴闄�3
+    private Boolean ibOneExtendLeftLoad1 = false; // 涓�浼稿乏渚ф帰璐�1
+    private Boolean ibOneExtendLeftLoad2 = false; // 涓�浼稿乏渚ф帰璐�2
+    private Boolean ibOneExtendRightLoad1 = false; // 涓�浼稿彸渚ф帰璐�1
+    private Boolean ibOneExtendRightLoad2 = false; // 涓�浼稿彸渚ф帰璐�2
+    private Boolean ibTwoExtendLeftLoad1 = false; // 浜屼几宸︿晶鎺㈣揣1
+    private Boolean ibTwoExtendLeftLoad2 = false; // 浜屼几宸︿晶鎺㈣揣2
+    private Boolean ibTwoExtendRightLoad1 = false; // 浜屼几鍙充晶鎺㈣揣1
+    private Boolean ibTwoExtendRightLoad2 = false; // 浜屼几鍙充晶鎺㈣揣2
+    private Boolean ibSpeedSignal1 = false;      // 瓒呴�熶俊鍙�1
+    private Boolean ibSpeedSignal2 = false;      // 瓒呴�熶俊鍙�2
+    private Boolean ibOverweightSignal1 = false; // 瓒呴噸淇″彿1
+    private Boolean ibOverweightSignal2 = false; // 瓒呴噸淇″彿2
+    private Boolean ibRopeReleaseSignal1 = false; // 鏉剧怀淇″彿1
+    private Boolean ibRopeReleaseSignal2 = false; // 鏉剧怀淇″彿2
+    private Boolean ibSafetyClamp = false;       // 瀹夊叏閽�
+    private Boolean ibTightener = false;         // 寮犵揣鍣�
+    private Boolean ibSpeedLimiter = false;      // 闄愰�熷櫒
+    private Boolean ibSafetyDoorOpen = false;    // 瀹夊叏闂ㄦ墦寮�
+    //-------------------------------------------------------------------
+
+    public BasCrnErrorLog toSqlModelError() {
+        BasCrnErrorLog basCrnErrorLog = new BasCrnErrorLog();
+
+        // 閿欒瀛楁杞崲
+        basCrnErrorLog.setCrnNo(crnNo);
+        basCrnErrorLog.setIbDriveFault(ibDriveFault ? "Y" : "N");       // 琛岃蛋鍙橀鍣ㄦ晠闅�
+        basCrnErrorLog.setIbSupplyFault(ibSupplyFault ? "Y" : "N");      // 鎻愪緵鍙橀鍣ㄦ晠闅�
+        basCrnErrorLog.setIbForkDriveFault(ibForkDriveFault ? "Y" : "N");   // 璐у弶鍙橀鍣ㄦ晠闅�
+        basCrnErrorLog.setIbDriveCircuitFault(ibDriveCircuitFault ? "Y" : "N"); // 琛岃蛋鏂矾鍣ㄦ晠闅�
+        basCrnErrorLog.setIbLiftCircuitFault(ibLiftCircuitFault ? "Y" : "N"); // 鎻愬崌鏂矾鍣ㄦ晠闅�
+        basCrnErrorLog.setIbForkCircuitFault(ibForkCircuitFault ? "Y" : "N"); // 璐у弶鏂矾鍣ㄦ晠闅�
+        basCrnErrorLog.setIbForwardLimit(ibForwardLimit ? "Y" : "N");     // 鍓嶈繘闄愪綅
+        basCrnErrorLog.setIbReverseLimit(ibReverseLimit ? "Y" : "N");     // 鍚庨��闄愪綅
+        basCrnErrorLog.setIbDriveStart(ibDriveStart ? "Y" : "N");       // 琛岃蛋鍘熺偣
+        basCrnErrorLog.setIbForwardBrakeSpeed(ibForwardBrakeSpeed ? "Y" : "N"); // 鍓嶈繘寮哄埗浣庨��
+        basCrnErrorLog.setIbReverseBrakeSpeed(ibReverseBrakeSpeed ? "Y" : "N"); // 鍚庨��寮哄埗浣庨��
+        basCrnErrorLog.setIbUpLimit(ibUpLimit ? "Y" : "N");          // 涓婂崌闄愪綅
+        basCrnErrorLog.setIbDownLimit(ibDownLimit ? "Y" : "N");        // 涓嬮檺闄愪綅
+        basCrnErrorLog.setIbUpOrigin(ibUpOrigin ? "Y" : "N");         // 鎻愬崌鍘熺偣
+        basCrnErrorLog.setIbUpBrakeSpeed(ibUpBrakeSpeed ? "Y" : "N");     // 涓婂崌寮哄埗浣庨��
+        basCrnErrorLog.setIbDownBrakeSpeed(ibDownBrakeSpeed ? "Y" : "N");   // 涓嬮檷寮哄埗浣庨��
+        basCrnErrorLog.setIbPlatformSignal(ibPlatformSignal ? "Y" : "N");   // 杞借揣鍙版帰璐�
+        basCrnErrorLog.setIbForkMidSignal(ibForkMidSignal ? "Y" : "N");    // 璐у弶涓綅淇″彿
+        basCrnErrorLog.setIbForkLeftLimit(ibForkLeftLimit ? "Y" : "N");    // 璐у弶宸︽瀬闄�
+        basCrnErrorLog.setIbForkRightLimit(ibForkRightLimit ? "Y" : "N");   // 璐у弶鍙虫瀬闄�
+        basCrnErrorLog.setIbFrontOverLimit(ibFrontOverLimit ? "Y" : "N");   // 鍓嶈秴闄�
+        basCrnErrorLog.setIbRearOverLimit(ibRearOverLimit ? "Y" : "N");    // 鍚庤秴闄�
+        basCrnErrorLog.setIbLeftOverLimit(ibLeftOverLimit ? "Y" : "N");    // 宸﹁秴闄�
+        basCrnErrorLog.setIbRightOverLimit(ibRightOverLimit ? "Y" : "N");   // 鍙宠秴闄�
+        basCrnErrorLog.setIbHighOverLimit1(ibHighOverLimit1 ? "Y" : "N");   // 楂樿秴闄�1
+        basCrnErrorLog.setIbHighOverLimit2(ibHighOverLimit2 ? "Y" : "N");   // 楂樿秴闄�2
+        basCrnErrorLog.setIbHighOverLimit3(ibHighOverLimit3 ? "Y" : "N");   // 楂樿秴闄�3
+        basCrnErrorLog.setIbOneExtendLeftLoad1(ibOneExtendLeftLoad1 ? "Y" : "N"); // 涓�浼稿乏渚ф帰璐�1
+        basCrnErrorLog.setIbOneExtendLeftLoad2(ibOneExtendLeftLoad2 ? "Y" : "N"); // 涓�浼稿乏渚ф帰璐�2
+        basCrnErrorLog.setIbOneExtendRightLoad1(ibOneExtendRightLoad1 ? "Y" : "N"); // 涓�浼稿彸渚ф帰璐�1
+        basCrnErrorLog.setIbOneExtendRightLoad2(ibOneExtendRightLoad2 ? "Y" : "N"); // 涓�浼稿彸渚ф帰璐�2
+        basCrnErrorLog.setIbTwoExtendLeftLoad1(ibTwoExtendLeftLoad1 ? "Y" : "N"); // 浜屼几宸︿晶鎺㈣揣1
+        basCrnErrorLog.setIbTwoExtendLeftLoad2(ibTwoExtendLeftLoad2 ? "Y" : "N"); // 浜屼几宸︿晶鎺㈣揣2
+        basCrnErrorLog.setIbTwoExtendRightLoad1(ibTwoExtendRightLoad1 ? "Y" : "N"); // 浜屼几鍙充晶鎺㈣揣1
+        basCrnErrorLog.setIbTwoExtendRightLoad2(ibTwoExtendRightLoad2 ? "Y" : "N"); // 浜屼几鍙充晶鎺㈣揣2
+        basCrnErrorLog.setIbSpeedSignal1(ibSpeedSignal1 ? "Y" : "N");      // 瓒呴�熶俊鍙�1
+        basCrnErrorLog.setIbSpeedSignal2(ibSpeedSignal2 ? "Y" : "N");      // 瓒呴�熶俊鍙�2
+        basCrnErrorLog.setIbOverweightSignal1(ibOverweightSignal1 ? "Y" : "N"); // 瓒呴噸淇″彿1
+        basCrnErrorLog.setIbOverweightSignal2(ibOverweightSignal2 ? "Y" : "N"); // 瓒呴噸淇″彿2
+        basCrnErrorLog.setIbRopeReleaseSignal1(ibRopeReleaseSignal1 ? "Y" : "N"); // 鏉剧怀淇″彿1
+        basCrnErrorLog.setIbRopeReleaseSignal2(ibRopeReleaseSignal2 ? "Y" : "N"); // 鏉剧怀淇″彿2
+        basCrnErrorLog.setIbSafetyClamp(ibSafetyClamp ? "Y" : "N");       // 瀹夊叏閽�
+        basCrnErrorLog.setIbTightener(ibTightener ? "Y" : "N");         // 寮犵揣鍣�
+        basCrnErrorLog.setIbSpeedLimiter(ibSpeedLimiter ? "Y" : "N");      // 闄愰�熷櫒
+        basCrnErrorLog.setIbSafetyDoorOpen(ibSafetyDoorOpen ? "Y" : "N");    // 瀹夊叏闂ㄦ墦寮�
+
+        return basCrnErrorLog;
+    }
+
+
+
+
+
+
+
+    public void setMode(Short mode) {
+        this.mode = mode;
+        this.modeType = CrnModeType.get(mode);
+    }
+
+    public void setMode(CrnModeType type) {
+        this.modeType = type;
+        this.mode = CrnModeType.get(type).id.shortValue();
+    }
+
+    public void setForkPos(Short forkPos) {
+        this.forkPos = forkPos;
+        this.forkPosType = CrnForkPosType.get(forkPos);
+    }
+
+    public void setForkPos(CrnForkPosType type) {
+        this.forkPosType = type;
+        this.forkPos = CrnForkPosType.get(type).id.shortValue();
+    }
+
+    public void setLiftPos(Short liftPos) {
+        this.liftPos = liftPos;
+        this.liftPosType = CrnLiftPosType.get(liftPos);
+    }
+
+    public void setLiftPos(CrnLiftPosType type) {
+        this.liftPosType = type;
+        this.liftPos = CrnLiftPosType.get(type).id.shortValue();
+    }
+
+    public void setStatus(Short status){
+        this.status = status;
+        this.statusType = CrnStatusType.get(status);
+    }
+
+    public void setStatus(CrnStatusType type){
+        this.statusType = type;
+        this.status = CrnStatusType.get(type).id.shortValue();
+    }
+
+    public Short getTemp1() {
+        return temp1;
+    }
+
+    public void setTemp1(Short temp1) {
+        this.temp1 = temp1;
+    }
+
+    /**
+     * 鏈�杩戜竴娆″叆鍑哄簱绫诲瀷
+     *       I:鍏ュ簱
+     *       O:鍑哄簱
+     */
+    private String lastIo = "I";
+
+
+    public BasCrnp toSqlModel(BasCrnp basCrnp){
+        if (alarm!=null) {
+            basCrnp.setCrnErr(alarm.longValue());
+        }
+        basCrnp.setWrkNo(taskNo.intValue());
+        return basCrnp;
+    }
+
+    public void setxSpeed(float xSpeed) {
+        this.xSpeed = xSpeed;
+    }
+
+    public void setySpeed(float ySpeed) {
+        this.ySpeed = ySpeed;
+    }
+
+    public void setzSpeed(float zSpeed) {
+        this.zSpeed = zSpeed;
+    }
+
+    public void setxDistance(float xDistance) {
+        this.xDistance = xDistance;
+    }
+
+    public void setyDistance(float yDistance) {
+        this.yDistance = yDistance;
+    }
+
+    public void setxDuration(float xDuration) {
+        this.xDuration = xDuration;
+    }
+
+    public void setyDuration(float yDuration) {
+        this.yDuration = yDuration;
+    }
 
 }

--
Gitblit v1.9.1