自动化立体仓库 - WCS系统
Junjie
2023-05-16 9bd955804174cd26cfe275d672a33220ae5a199f
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,9 +1,7 @@
package com.zy.core.model.protocol;
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.zy.asrs.entity.BasCrnp;
import com.zy.core.enums.*;
import lombok.Data;
/**
@@ -22,14 +20,19 @@
    public CrnModeType modeType;
    /**
     * 堆垛机任务完成
     */
    public Short taskFinish;
    /**
     * 校验结果 1表示检验成功
     */
    public Short valid;
    /**
     * 1 = 急停
     */
    public Short eStop;
    /**
     * 异常码
     */
    public Short alarm;
    /**
     * 任务号
@@ -67,35 +70,150 @@
    public Short level;
    /**
     * 堆垛机当前排
     */
    public Short row;
    /**
     * 堆垛机当前巷道号
     */
    public Short lane;
    /**
     * 堆垛机通讯状态
     */
    public Boolean connStatus;
    /**
     * 申请入库修正
     */
    public Boolean correction;
    /**
     * 托盘号错
     */
    public Boolean tuError;
    /**
     * 取货无箱
     */
    public Boolean noneError;
    /**
     * 双重入库
     */
    public Boolean stockError;
    /**
     * 作业数据无效
     */
    public Boolean jobInvalid;
    /**
     * 空闲状态
     */
    public Boolean idle;
    /**
     * 控制柜使能
     */
    public Boolean control;
    /**
     * 停准
     */
    public Boolean stopQuasi;
    /**
     * 运行
     */
    public Boolean running;
    /**
     * 故障
     */
    public Boolean fault;
    /**
     * 货叉中位
     */
    public Boolean forkHome;
    /**
     * 单伸位货叉左位
     */
    public Boolean forkSingleLeft;
    /**
     * 单伸位货叉右位
     */
    public Boolean forkSingleRight;
    /**
     * 双伸位货叉左位
     */
    public Boolean forkDoubleLeft;
    /**
     * 双伸位货叉右位
     */
    public Boolean forkDoubleRight;
    /**
     * 单伸位高位
     */
    public Boolean singleHigh;
    /**
     * 单伸位低位
     */
    public Boolean singleLow;
    /**
     * 双伸位高位
     */
    public Boolean doubleHigh;
    /**
     * 双伸位低位
     */
    public Boolean doubleLow;
    /**
     * 站台高位
     */
    public Boolean platformHigh;
    /**
     * 站台低位
     */
    public Boolean platformLow;
    /**
     * 当前货叉位置
     * 0 = 货叉原位
     * 1 = 货叉在左侧
     * 2 = 货叉在右侧
     */
    public Short forkPos;
    public Short forkPos = -1;
    public CrnForkPosType forkPosType;
    public CrnForkPosType forkPosType = CrnForkPosType.NONE;
    /**
     * 当前载货台位置
     * 0 = 下定位
     * 1 = 上定位
     */
    public Short liftPos;
    public Short liftPos = -1;
    public CrnLiftPosType liftPosType;
    public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR;
    /**
     * 走行在定位
     * 0 = 在定位
     * 1 = 不在定位
     */
    public Short walkPos;
    public Short walkPos = 0;
    /**
     * 堆垛机任务完成
     * 拨指位置
     * 0 = 不在定位
     * 1 = 上定位
     * 2 = 下定位
     */
    public Short taskFinish;
    public Short fingerPos;
    public CrnFingerPosType fingerPosType;
    /**
     * 载货台有物
@@ -103,9 +221,24 @@
    public Short loaded;
    /**
     * 异常码(数值显示)
     * 堆垛机垂直故障代码(数值显示)
     */
    private Short alarm1;
    private Integer alarm1 = 0;
    /**
     * 堆垛机水平故障代码(数值显示)
     */
    private Integer alarm2 = 0;;
    /**
     * 堆垛机货叉故障代码(数值显示)
     */
    private Integer alarm3 = 0;;
    /**
     * 堆垛机状态故障代码(数值显示)
     */
    private Integer alarm4 = 0;;
    /**
     * 异常1
@@ -136,53 +269,39 @@
    private CrnError4 crnError4;
    /**
     * 异常5
     */
    private boolean[] error5;
    private CrnError5 crnError5;
    /**
     * 异常6
     */
    private boolean[] error6;
    private CrnError6 crnError6;
    /**
     * X行走线速度m/min
     */
    private Float xSpeed;
    private Float xSpeed = 0F;
    /**
     * Y行走线速度m/min
     */
    private Float ySpeed;
    private Float ySpeed = 0F;
    /**
     * Z行走线速度m/min
     */
    private Float zSpeed;
    private Float zSpeed = 0F;
    /**
     * 堆垛机累计走行距离km
     */
    public Float xDistance;
    public Float xDistance = 0F;
    /**
     * 堆垛机累计升降距离km
     */
    public Float yDistance;
    public Float yDistance = 0F;
    /**
     * 堆垛机累计走行时长h
     */
    public Float xDuration;
    public Float xDuration = 0F;
    /**
    /**w
     * 堆垛机累计升降时长h
     */
    public Float yDuration;
    public Float yDuration = 0F;
    public void setMode(Short mode) {
        this.mode = mode;
@@ -222,6 +341,11 @@
    public void setStatus(CrnStatusType type){
        this.statusType = type;
        this.status = CrnStatusType.get(type).id.shortValue();
    }
    public void setFingerPos(Short type) {
        this.fingerPos = type;
        this.fingerPosType = CrnFingerPosType.get(type);
    }
    public void setError1(boolean[] error1){
@@ -296,16 +420,6 @@
        this.crnError4.zLooseBrakeTimeout = error4[3];
    }
    public void setError5(boolean[] error5) {
        this.error5 = error5;
        this.crnError5 = new CrnError5();
    }
    public void setError6(boolean[] error6) {
        this.error6 = error6;
        this.crnError6 = new CrnError6();
    }
    /**
     * 最近一次入出库类型
     *       I:入库
@@ -313,4 +427,10 @@
     */
    private String lastIo = "I";
    public BasCrnp toSqlModel(BasCrnp basCrnp){
        basCrnp.setCrnErr(alarm1.longValue());
        basCrnp.setWrkNo(taskNo.intValue());
        return basCrnp;
    }
}