自动化立体仓库 - WCS系统
#
lsh
2024-06-21 6c8bbda65905a9dd299062d725682a8bc896cd72
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,5 +1,6 @@
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;
@@ -11,6 +12,8 @@
 */
@Data
public class CrnProtocol {
    private Integer crnNo;
    /**
     * 1 = 手动模式
@@ -30,14 +33,17 @@
     * 异常码
     */
    public Short alarm;
    public Short alarmTwo;
    /**
     * 任务号
     */
    public Short taskNo = 0;
    public Short taskNoTwo = 0;
    /**
     * 堆垛机当前状态
     * -1:未知
     * 0:空闲,无任务
     * 1:取货定位中
     * 2:取货中
@@ -48,23 +54,29 @@
     * 7:库位移位
     * 90:任务完成等待WCS确认
     * 99:报警
     * 100:其他100
     * 101:未知101
     */
    public Short status;
    public Short status = -1;
    public Short statusTwo = -1;
    /**
     * 状态枚举
     */
    public CrnStatusType statusType;
    public CrnStatusType statusTypeTwo;
    /**
     * 堆垛机当前列号
     */
    public Short bay;
    public Short bayTwo;
    /**
     * 堆垛机当前层号
     */
    public Short level;
    public Short levelTwo;
    /**
     * 当前货叉位置
@@ -73,8 +85,10 @@
     * 2 = 货叉在右侧
     */
    public Short forkPos;
    public Short forkPosTwo;
    public CrnForkPosType forkPosType;
    public CrnForkPosType forkPosTypeTwo;
    /**
     * 当前载货台位置
@@ -82,8 +96,10 @@
     * 1 = 上定位
     */
    public Short liftPos;
    public Short liftPosTwo;
    public CrnLiftPosType liftPosType;
    public CrnLiftPosType liftPosTypeTwo;
    /**
     * 走行在定位
@@ -91,21 +107,23 @@
     * 1 = 不在定位
     */
    public Short walkPos;
    /**
     * 堆垛机任务完成
     */
    public Short taskFinish;
    public Short walkPosTwo;
    /**
     * 载货台有物
     */
    public Short loaded;
    public Short loadedTwo;
    /**
     * 异常码(数值显示)
     */
    private Short alarm1;
    private Short temp1;
    private CrnTemp1 crnTemp1;
    private Short temp2;
    private Short temp3;
    private Short temp4;
    /**
     * 异常1
@@ -122,9 +140,32 @@
    private CrnError2 crnError2;
    /**
     * 保留
     * 异常3
     */
    private Short temp1;
    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
@@ -181,6 +222,16 @@
        this.forkPos = CrnForkPosType.get(type).id.shortValue();
    }
    public void setForkPosTwo(Short forkPosTwo) {
        this.forkPosTwo = forkPosTwo;
        this.forkPosTypeTwo = CrnForkPosType.get(forkPosTwo);
    }
    public void setForkPosTwo(CrnForkPosType typeTwo) {
        this.forkPosTypeTwo = typeTwo;
        this.forkPosTwo = CrnForkPosType.get(typeTwo).id.shortValue();
    }
    public void setLiftPos(Short liftPos) {
        this.liftPos = liftPos;
        this.liftPosType = CrnLiftPosType.get(liftPos);
@@ -191,9 +242,24 @@
        this.liftPos = CrnLiftPosType.get(type).id.shortValue();
    }
    public void setLiftPosTwo(Short liftPosTwo) {
        this.liftPosTwo = liftPosTwo;
        this.liftPosTypeTwo = CrnLiftPosType.get(liftPosTwo);
    }
    public void setLiftPosTwo(CrnLiftPosType typeTwo) {
        this.liftPosTypeTwo = typeTwo;
        this.liftPosTwo = CrnLiftPosType.get(typeTwo).id.shortValue();
    }
    public void setStatus(Short status){
        this.status = status;
        this.statusType = CrnStatusType.get(status);
    }
    public void setStatusTwo(Short statusTwo){
        this.statusTwo = statusTwo;
        this.statusTypeTwo = CrnStatusType.get(statusTwo);
    }
    public void setStatus(CrnStatusType type){
@@ -201,46 +267,12 @@
        this.status = CrnStatusType.get(type).id.shortValue();
    }
    public void setError1(boolean[] error1){
        this.error1 = error1;
        this.crnError1 = new CrnError1();
        this.crnError1.stop = error1[0];
        this.crnError1.xCoverErr = error1[1];
        this.crnError1.yCoverErr = error1[2];
        this.crnError1.zCoverErr = error1[3];
        this.crnError1.rangeErr = error1[4];
        this.crnError1.barcodeErr = error1[5];
        this.crnError1.xFrontLimitErr = error1[6];
        this.crnError1.xBackLimitErr = error1[7];
        this.crnError1.yUpLimitErr = error1[8];
        this.crnError1.yDownLimitErr = error1[9];
        this.crnError1.zLeftLimitErr = error1[10];
        this.crnError1.zRightLimitErr = error1[11];
        this.crnError1.xLocationUpErr = error1[12];
        this.crnError1.xLocationDownErr = error1[13];
        this.crnError1.yLocationUpErr = error1[14];
        this.crnError1.yLocationDownErr = error1[15];
    public Short getTemp1() {
        return temp1;
    }
    public void setError2(boolean[] error2){
        this.error2 = error2;
        this.crnError2 = new CrnError2();
        this.crnError2.zLocationUpErr = error2[0];
        this.crnError2.zLocationDownErr = error2[1];
        this.crnError2.wcsCommandErr = error2[2];
        this.crnError2.leftWidthLimitErr = error2[3];
        this.crnError2.rightWidthLimitErr = error2[4];
        this.crnError2.leftLengthLimitErr = error2[5];
        this.crnError2.rightLengthLimitErr = error2[6];
        this.crnError2.highLimitErr = error2[7];
        this.crnError2.leftTakeNoneErr = error2[8];
        this.crnError2.rightTakeNoneErr = error2[9];
        this.crnError2.leftPutLoadErr = error2[10];
        this.crnError2.rightPutLoadErr = error2[11];
        this.crnError2.startErr = error2[12];
        this.crnError2.looseRopeErr = error2[13];
        this.crnError2.safeDoorSwitchErr = error2[14];
        this.crnError2.none = error2[15];
    public void setTemp1(Short temp1) {
        this.temp1 = temp1;
    }
    /**
@@ -250,4 +282,44 @@
     */
    private String lastIo = "I";
    public BasCrnp toSqlModel(BasCrnp basCrnp){
        if (alarm!=null) {
            basCrnp.setCrnErr(alarm.longValue());
        }
        basCrnp.setWrkNo(taskNo.intValue());
        basCrnp.setWrkNoTwo(taskNoTwo.intValue());
        basCrnp.setCrnStatusOne(status.intValue());
        basCrnp.setCrnStatusTwo(statusTwo.intValue());
        return basCrnp;
    }
    public void setxSpeed(Short xSpeed) {
        this.xSpeed = Float.valueOf(xSpeed);
    }
    public void setySpeed(Short ySpeed) {
        this.ySpeed = Float.valueOf(ySpeed);
    }
    public void setzSpeed(Short zSpeed) {
        this.zSpeed = Float.valueOf(zSpeed);
    }
    public void setxDistance(Short xDistance) {
        this.xDistance = Float.valueOf(xDistance);
    }
    public void setyDistance(Short yDistance) {
        this.yDistance = Float.valueOf(yDistance);
    }
    public void setxDuration(Short xDuration) {
        this.xDuration = Float.valueOf(xDuration);
    }
    public void setyDuration(Short yDuration) {
        this.yDuration = Float.valueOf(yDuration);
    }
}