#ZH
野心家
2025-05-28 8e19e67d1178e834a868f4a820d827ddf64c6e01
src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -18,9 +18,9 @@
     * 2 = 自动模式
     * 3 = 电脑模式
     */
    public Short mode;
    public Short mode = -1;
    public RgvModeType modeType;
    public RgvModeType modeType = RgvModeType.NONE;
    /**
     * RGV当前状态
@@ -28,27 +28,32 @@
     * 1:作业中
     * 2:报警
     */
    public Short status;
    public Short status = -1;
    /**
     * 状态枚举
     */
    public RgvStatusType statusType;
    public RgvStatusType statusType = RgvStatusType.NONE;
    /**
     * 任务号
     */
    public Short taskNo = 0;
    public Long taskNo = 0L;
    /**
     * 工位1有物
     * 有物
     */
    public Short loaded;//0 无物;1 有物
    public Short loaded = -1;//0 无物;1 有物
    /**
     * RGV当前位置
     */
    public Long RgvPos;
    public Long RgvPos = 0L;
    /**
     * RGV目的位置
     */
    public Long RgvPosDestination = 0L;
    /**
     * 走行在定位
@@ -76,6 +81,42 @@
     * 累计走行时长h
     */
    public Float xDuration;
    /**
     * 车身
     */
    public Long carBodyJiaoMing = 2000L;
    /**
     * 车身
     */
    public Long carBodyKunPeng = 15000L;
    /**
     * 是否启用
     */
    public boolean statusEnable;//0\1\2
    // 急停
    private boolean err1;
    // 有物无资料
    private boolean err2;
    // 命令错误走行链条冲突
    private boolean err3;
    // 目标为超过走行极限
    private boolean err4;
    // 变频器异常
    private boolean err5;
    // 光电异常
    private boolean err6;
    private String errorRgv;
    public void setMode(Short mode) {
        this.mode = mode;
@@ -105,6 +146,14 @@
        return basRgv;
    }
    public long getRgvPosDestinationOrPos(boolean sign){
        if (!sign){
            return RgvPosDestination>RgvPos? RgvPosDestination:RgvPos;
        } else {
            return RgvPosDestination<RgvPos? RgvPosDestination:RgvPos;
        }
    }
    public void setxSpeed(Short xSpeed) {
        this.xSpeed = Float.valueOf(xSpeed);
    }
@@ -117,10 +166,43 @@
        this.xDuration = Float.valueOf(xDuration);
    }
    public Integer getRgvPosI(){
        //需要根据现场改造  根据读到的值获取对应站点位置
        if (RgvPos==null) return 0;
        return RgvPos.intValue();
    public int getAlarm$(){
        if (err1){
            return 1;
        }
        if (err2){
            return 2;
        }
        if (err3){
            return 3;
        }
        if (err4){
            return 4;
        }
        if (err5){
            return 5;
        }
        if (err6){
            return 6;
        }
        return 0;
    }
    public String getAlarmM(){
        switch (getAlarm$()){
            case 1:
                return "急停";
            case 2:
                return "有物无资料";
            case 3:
                return "命令错误走行链条冲突";
            case 4:
                return "目标为超过走行极限";
            case 5:
                return "变频器异常";
            case 6:
                return "光电异常";
        }
        return "正常";
    }
}