自动化立体仓库 - WCS系统
Junjie
2023-03-24 09c4b134bf8b8221635a06bd7ee3064c759b7dcf
src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -4,6 +4,7 @@
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasSte;
import com.zy.asrs.service.BasSteService;
import com.zy.core.News;
import com.zy.core.enums.SteHisTaskStatusType;
import com.zy.core.enums.SteLocaType;
import com.zy.core.enums.SteStatusType;
@@ -202,6 +203,258 @@
    // 出库取空
    private Boolean outEmpty;
    // 穿梭车异常 ------------------------------------------------------------------------
    /**
     * 0.升降超时报警
     */
    private boolean liftErr;
    /**
     * 2.入库取空报警
     */
    private boolean inFetchErr;
    /**
     * 3.出库取空报警
     */
    private boolean outFetchErr;
    /**
     * 4.防撞保护
     */
    private boolean antiErr;
    /**
     * 5.升降接近开关故障
     */
    private boolean liftSwitchErr;
    /**
     * 6.轨道检测报警
     */
    private boolean trackErr;
    /**
     * 7.设备运行超时报警
     */
    private boolean timeoutErr;
    /**
     * 8.通信错误报警
     */
    private boolean connectErr;
    /**
     * 9.设备急停
     */
    private boolean emergencyErr;
    /**
     * 10.任务类型缺失
     */
    private boolean taskTypeErr;
    /**
     * 11.任务号缺失
     */
    private boolean taskNoErr;
    /**
     * 12.运行中有新任务
     */
    private boolean newTaskErr;
    /**
     * 13.故障中有任务
     */
    private boolean errTaskErr;
    /**
     * 14.运行中停止
     */
    private boolean stopErr;
    /**
     * 15.脱机模式下有任务
     */
    private boolean offlineTaskErr;
    /**
     * 16.条件未满足启动任务
     */
    private boolean startTaskErr;
    /**
     * 17.低电压时有任务
     */
    private boolean voltageTaskErr;
    /**
     * 63.设备故障标志位
     */
    private boolean devpErr;
    // 穿梭车异常 ------------------------------------------------------------------------
    // 穿梭车提示信息 ------------------------------------------------------------------------
    /**
     * 64.联机状态
     */
    private boolean online;
    /**
     * 65.不在轨道上
     */
    private boolean notOnTrack;
    /**
     * 66.低电量提醒
     */
    private boolean lowVoltage;
    /**
     * 67.亏电中
     */
    private boolean electricityLoss;
    /**
     * 68.强制行走启动
     */
    private boolean forcedTravel;
    /**
     * 69.演示模式开启
     */
    private boolean demoMode;
    /**
     * 70.充电刷已接通
     */
    private boolean brushConnect;
    /**
     * 71.任务中禁止手动
     */
    private boolean taskManualForbid;
    /**
     * 72.联机中禁止手动
     */
    private boolean onlineManualForbid;
    /**
     * 73.设备急停中
     */
    private boolean devpEmergency;
    /**
     * 74.任务中断中
     */
    private boolean taskInterrupt;
    /**
     * 75.任务已清除
     */
    private boolean taskClear;
    /**
     * 76.任务确认已超时
     */
    private boolean taskConfirmTimeout;
    /**
     * 77.充电中有任务
     */
    private boolean taskWithCharge;
    // 任务信息 ---------------------------------------------------------
    /**
     * 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;
    // 状态信息 ---------------------------------------------------------
    /**
     * 112. 联机模式
     */
    private boolean autoMode;
    /**
     * 113. 电压过低
     */
    private boolean voltageLow;
    public void setStatus(Short status){
        this.status = status;
        this.statusType = SteStatusType.get(status);
@@ -277,10 +530,15 @@
                String chargeLine = SpringUtils.getBean(BasSteService.class).selectById(this.steNo).getChargeLine();
                return charge > Float.parseFloat(chargeLine);
            } catch (Exception e) {
                log.error("fail", e);
                News.error("fail", e);
                return false;
            }
        }
    }
    // 小车电量
    public Float isIdle2() {
        return this.charge;
    }
    // 是否处于报警状态
@@ -289,22 +547,10 @@
    }
    public Boolean isEnable() {
        if (Cools.isEmpty(row)) {
            if (row == 0) {
                return false;
            }
        if (Cools.isEmpty(row, bay, lev)) {
            return false;
        }
        if (Cools.isEmpty(bay)) {
            if (bay == 0) {
                return false;
            }
        }
        if (Cools.isEmpty(lev)) {
            if (lev == 0) {
                return false;
            }
        }
        return true;
        return row > 0 && bay > 0 && lev > 0;
    }
}