package com.zy.core.model.protocol; import com.zy.core.enums.ShuttleStatusType; import lombok.Data; import lombok.extern.slf4j.Slf4j; /** * 四向穿梭车 */ @Slf4j @Data public class ShuttleProtocol { /** * 四向穿梭车号 */ private Short shuttleNo; /** * 任务号 */ private Short taskNo = 0; /** * 源库位 */ private String sourceLocNo; /** * 目标库位 */ private String locNo; /** * 小车忙状态位 * 1: 忙 * 0: 空闲 */ private Short busyStatus; /** * 小车忙状态位枚举 */ private ShuttleStatusType busyStatusType; /** * 当前二维码 * 0为空 */ private Short currentCode; /** * 电池电量百分比 */ private Short batteryPower; /** * 电池温度 */ private Short batteryTemp; /** * 错误编号 */ private Short errorCode; /** * Plc输出状态IO */ private Short plcOutputStatusIO; /** * 错误信息码 */ private Short statusErrorCode; /** * PLC输入状态 */ private Short plcInputStatus; /** * 当前或者之前读到的二维码值 */ private Short currentOrBeforeCode; /** * 读到的二维码X方向偏移量 */ private Short codeOffsetX; /** * 读到的二维码Y方向偏移量 */ private Short codeOffsetY; /** * 当前的电压值 */ private Short currentVoltage; /** * 当前的模拟量值 */ private Short currentAnalogValue; /** * 当前的升降伺服速度 */ private Short currentLiftServoSpeed; /** * 当前的行走伺服速度 */ private Short currentMoveServoSpeed; /** * 当前的升降伺服负载率 */ private Short currentLiftServoLoad; /** * 当前的行走伺服负载率 */ private Short currentMoveServoLoad; /** * 作业标记 */ private Boolean pakMk = true; // 任务信息 --------------------------------------------------------- /** * 96.入库任务中 */ private boolean pakInTask; /** * 97. 出库任务中 */ private boolean pakOutTask; /** * 98. 移库任务中 */ private boolean pakMoveTask; /** * 99. 回原点任务中 */ private boolean goHpTask; /** * 100. 去反原点任务中 */ private boolean goOHpTask; /** * 101. 去原点避让位 */ private boolean goHpAvoid; /** * 102. 去反原点避让位 */ private boolean goOHpAvoid; /** * 104. 入库取空结束 */ private boolean pakInEmpty; /** * 105. 入库正常结束 */ private boolean pakInFinish; /** * 106. 出库取空结束 */ private boolean pakOutEmpty; /** * 107. 出库正常结束 */ private boolean pakOutFinish; /** * 108. 去原点避让完成 */ private boolean goHpAvoidFinish; /** * 109. 去反原点避让完成 */ private boolean goOHpAvoidFinish; /** * 110. 去原点避让完成 */ private boolean goHpAvoidErr; /** * 111. 去反原点避让完成 */ private boolean goOHpAvoidErr; public void setBusyStatus(Short status) { this.busyStatus = status; this.busyStatusType = ShuttleStatusType.get(status); } public void setBusyStatus(ShuttleStatusType type) { this.busyStatus = type.id.shortValue(); this.busyStatusType = type; } //获取电池电量 public Short getBatteryPower() { return (short) (this.batteryPower * 0.1); } }