Junjie
2023-03-28 ae35f8d3521741b87835c6122053ec1af449d4ab
src/main/java/com/zy/core/model/protocol/ShuttleProtocol.java
@@ -1,6 +1,9 @@
package com.zy.core.model.protocol;
import com.zy.core.enums.ShuttleErrorCodeType;
import com.zy.core.enums.ShuttleProtocolStatusType;
import com.zy.core.enums.ShuttleStatusType;
import com.zy.core.model.command.ShuttleAssignCommand;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -19,100 +22,39 @@
    /**
     * 任务号
     */
    public Short taskNo = 0;
    private Short taskNo = 0;
    /**
     * 排
     * 任务指令
     */
    public Short row;
    private ShuttleAssignCommand assignCommand;
    /**
     * 列
     * 当前小车状态(内部自我维护)
     */
    public Short bay;
    private Integer protocolStatus;
    /**
     * 层
     * 当前小车状态枚举
     */
    public Short lev;
    private ShuttleProtocolStatusType protocolStatusType;
    /**
     * 控制指令字
     * 源库位
     */
    private Integer commandWord;
    private String sourceLocNo;
    /**
     * 启始二维编号
     * 目标库位
     */
    private Integer startCodeNum;
    /**
     * 中间二维编号
     */
    private Integer middleCodeNum;
    /**
     * 目标二维编号
     */
    private Integer distCodeNum;
    /**
     * 起点到目标点的距离长度
     */
    private Integer startToDistDistance;
    /**
     * 中间点到目标点的距离长度
     */
    private Integer middleToDistDistance;
    /**
     * 小车运行方向
     */
    private Integer runDirection;
    /**
     * 托盘顶升
     */
    private Integer palletLift;
    /**
     * 小车强制移动距离
     */
    private Integer forceMoveDistance;
    /**
     * 充电开关
     */
    private Integer chargeSwitch;
    /**
     * 小车IO控制
     */
    private Integer IOControl;
    /**
     * 小车运行速度
     */
    private Integer runSpeed;
    /**
     * 小车雷达备用
     */
    private Integer radarTmp;
    /**
     * 指令结束位
     */
    private Integer commandEnd;
    private String locNo;
    /**
     * 小车忙状态位
     * true: 忙
     * false: 空闲
     * 1: 忙
     * 0: 空闲
     */
    private Boolean busyStatus;
    private Short busyStatus;
    /**
     * 小车忙状态位枚举
@@ -123,87 +65,92 @@
     * 当前二维码
     * 0为空
     */
    private String currentCode;
    private Short currentCode;
    /**
     * 电池电量百分比
     */
    private Double batteryPower;
    private Short batteryPower;
    /**
     * 电池温度
     */
    private Double batteryTemp;
    private Short batteryTemp;
    /**
     * 错误编号
     */
    private Integer errorCode;
    private Short errorCode;
    /**
     * 错误编号枚举
     */
    private ShuttleErrorCodeType errorCodeType;
    /**
     * Plc输出状态IO
     */
    private byte plcOutputStatusIO;
    private Short plcOutputStatusIO;
    /**
     * 错误信息码
     */
    private Integer statusErrorCode;
    private Short statusErrorCode;
    /**
     * PLC输入状态
     */
    private byte plcInputStatus;
    private Short plcInputStatus;
    /**
     * 当前或者之前读到的二维码值
     */
    private String currentOrBeforeCode;
    private Short currentOrBeforeCode;
    /**
     * 读到的二维码X方向偏移量
     */
    private Integer codeOffsetX;
    private Short codeOffsetX;
    /**
     * 读到的二维码Y方向偏移量
     */
    private Integer codeOffsetY;
    private Short codeOffsetY;
    /**
     * 当前的电压值
     */
    private Double currentVoltage;
    private Short currentVoltage;
    /**
     * 当前的模拟量值
     */
    private Integer currentAnalogValue;
    private Short currentAnalogValue;
    /**
     * 当前的升降伺服速度
     */
    private Double currentLiftServoSpeed;
    private Short currentLiftServoSpeed;
    /**
     * 当前的行走伺服速度
     */
    private Double currentMoveServoSpeed;
    private Short currentMoveServoSpeed;
    /**
     * 当前的升降伺服负载率
     */
    private Double currentLiftServoLoad;
    private Short currentLiftServoLoad;
    /**
     * 当前的行走伺服负载率
     */
    private Double currentMoveServoLoad;
    private Short currentMoveServoLoad;
    /**
     * 作业标记
     */
    private String pakMk = "-";
    private Boolean pakMk = true;
    // 任务信息 ---------------------------------------------------------
    /**
@@ -281,14 +228,56 @@
     */
    private boolean goOHpAvoidErr;
    public void setBusyStatus(Boolean status) {
    public void setBusyStatus(Short status) {
        this.busyStatus = status;
        this.busyStatusType = ShuttleStatusType.get(status);
    }
    public void setBusyStatus(ShuttleStatusType type) {
        this.busyStatus = type.id.booleanValue();
        this.busyStatus = type.id.shortValue();
        this.busyStatusType = type;
    }
    //获取电池电量
    public Short getBatteryPower$() {
        return (short) (this.batteryPower * 0.1);
    }
    //获取电池温度
    public Short getBatteryTemp$() {
        return (short) (this.batteryTemp * 0.1);
    }
    /**
     * 设置小车状态
     */
    public void setProtocolStatus(Integer status) {
        this.protocolStatus = status;
        this.protocolStatusType = ShuttleProtocolStatusType.get(status);
    }
    /**
     * 设置小车状态
     */
    public void setProtocolStatus(ShuttleProtocolStatusType status) {
        this.protocolStatus = status.id;
        this.protocolStatusType = status;
    }
    /**
     * 设置错误编号
     */
    public void setErrorCode(Short errorCode) {
        this.errorCode = errorCode;
        this.errorCodeType = ShuttleErrorCodeType.get(errorCode.intValue());
    }
    /**
     * 设置错误编号
     */
    public void setErrorCode(ShuttleErrorCodeType type) {
        this.errorCode = type.id.shortValue();
        this.errorCodeType = type;
    }
}