自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-03-04 9fc04e46946da251cd445029d7957855deff93bb
src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -1,10 +1,7 @@
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;
import com.zy.core.enums.CrnStatusType;
import com.zy.core.enums.*;
import lombok.Data;
/**
@@ -14,28 +11,15 @@
public class SteProtocol {
    /**
     * 1 = 手动模式
     * 2 = 自动模式
     * 3 = 电脑模式
     * 设备号
     */
    private Short steNo;
    /**
     * 1 = 联机模式
     * 0 = 脱机模式
     */
    public Short mode;
    public CrnModeType modeType;
    /**
     * 1 = 急停
     */
    public Short eStop;
    /**
     * 异常码
     */
    public Short alarm;
    /**
     * 任务号
     */
    public Short taskNo = 0;
    /**
     * 堆垛机当前状态
@@ -55,182 +39,138 @@
    /**
     * 状态枚举
     */
    public CrnStatusType statusType;
    public SteStatusType statusType;
    /**
     * 堆垛机当前列号
     * 异常码1
     */
    public Integer alarm;
    /**
     * 异常码2
     */
    public Integer alarm0;
    /**
     * 电池电量
     */
    public Short charge;
    /**
     * 电池馈电     0,正常,1馈电
     */
    public Short feed;
    /**
     * 当前位置     1,近点,2远点,3A点,4B点
     */
    public Short loca;
    /**
     * 近点距离
     */
    public Double closer;
    /**
     * 当前速度
     */
    public Double speed;
    /**
     * 高低位 0,低位,1高位
     */
    public Short pos;
    /**
     * 有货 0,没货,1有货
     */
    public Short load;
    /**
     * 在轨道上 0不在,1在
     */
    public Short track;
    /**
     * 任务号
     */
    public Integer taskNo = 0;
    /**
     * 任务类型
     */
    public Short taskType;
    /**
     * 排
     */
    public Short row;
    /**
     * 列
     */
    public Short bay;
    /**
     * 堆垛机当前层号
     * 层
     */
    public Short level;
    public Short lev;
    /**
     * 当前货叉位置
     * 0 = 货叉原位
     * 1 = 货叉在左侧
     * 2 = 货叉在右侧
     * 过账指令任务号
     */
    public Short forkPos;
    public CrnForkPosType forkPosType;
    public Integer hisTaskNo;
    /**
     * 当前载货台位置
     * 0 = 下定位
     * 1 = 上定位
     * 过账指令状态
     */
    public Short liftPos;
    public CrnLiftPosType liftPosType;
    public Short hisTaskStatus;
    /**
     * 走行在定位
     * 0 = 在定位
     * 1 = 不在定位
     * 盘点数量
     */
    public Short walkPos;
    public Short checkQty;
    /**
     * 载货台有物
     * 就绪状态  0未就绪 1就绪
     */
    public Short loaded;
    private Short temp1;
    private CrnTemp1 crnTemp1;
    private Short temp2;
    private Short temp3;
    private Short temp4;
    public Short ready;
    /**
     * 异常1
     * 打开充电桩号
     */
    private boolean[] error1;
    private CrnError1 crnError1;
    public Short chargeNo;
    /**
     * 异常2
     * 心跳指令 1-2每秒切换一次
     */
    private boolean[] error2;
    private CrnError2 crnError2;
    public Short heart;
    /**
     * 异常3
     * 堆垛机禁止运行 1运行,0禁止
     */
    private boolean[] error3;
    private CrnError3 crnError3;
    public Short crnStopRun;
    /**
     * 异常4
     * 堆垛机禁止伸叉 1运行,0禁止
     */
    private boolean[] error4;
    private CrnError4 crnError4;
    public Short crnStopFork;
    /**
     * 异常5
     * 堆垛机搬移允许 0不允许   1允许
     */
    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;
    /**
     * 堆垛机累计走行距离km
     */
    public Float xDistance;
    /**
     * 堆垛机累计升降距离km
     */
    public Float yDistance;
    /**
     * 堆垛机累计走行时长h
     */
    public Float xDuration;
    /**
     * 堆垛机累计升降时长h
     */
    public Float yDuration;
    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 Short crnAllowRun;
    public void setStatus(Short status){
        this.status = status;
        this.statusType = CrnStatusType.get(status);
        this.statusType = SteStatusType.get(status);
    }
    public void setStatus(CrnStatusType type){
    public void setStatus(SteStatusType type){
        this.statusType = type;
        this.status = CrnStatusType.get(type).id.shortValue();
    }
    public Short getTemp1() {
        return temp1;
    }
    public void setTemp1(Short temp1) {
        this.temp1 = temp1;
        this.status = SteStatusType.get(type).id.shortValue();
    }
    /**
@@ -245,7 +185,7 @@
        if (alarm!=null) {
            basCrnp.setCrnErr(alarm.longValue());
        }
        basCrnp.setWrkNo(taskNo.intValue());
        basCrnp.setWrkNo(taskNo);
        return basCrnp;
    }
}