lty
2025-08-21 924d0d98c49c324669ba9dc5158b2141416447cc
src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -5,13 +5,17 @@
import com.zy.core.enums.RgvStatusType;
import lombok.Data;
import javax.swing.*;
import java.util.HashMap;
import java.util.Map;
/**
 * Created by vincent on 2020/8/7
 */
@Data
public class RgvProtocol {
public class RgvProtocol implements Cloneable{
    private Integer RgvNo;
    private short RgvNo;
    /**
     * 1 = 手动模式
@@ -22,13 +26,25 @@
    public RgvModeType modeType;
    private transient Long loadingStartTime;
    /**
     * RGV当前状态
     * 执行优先级
     * 0:不判断
     * 1:工位1先执行
     * 2:工位2先执行
     */
    public Short wrkTaskPri;
    /**
     * RGV当前状态工位1
     * 0:空闲,无任务
     * 1:作业中
     * 2:报警
     */
    public Short status;
    /**
     * 状态枚举
@@ -38,7 +54,7 @@
    /**
     * 工位1任务号
     */
    public Short taskNo1 = 0;
    public Integer taskNo1 = 0;
    /**
     * RGV工位1当前状态
@@ -57,12 +73,18 @@
    /**
     * 工位1有物
     */
    public Short loaded1;
    public Boolean loaded1;
    /**
     * RGV当前位置
     */
    public Short RgvPos;
    public Integer RgvPos;
    /**
     * RGV当前目的位置
     */
    public Integer RgvPosDestination;
    /**
     * 走行在定位
@@ -71,11 +93,46 @@
     */
    public Short walkPos;
    /**
     * 急停
     */
    public Boolean err1;
    /**
     * 有物无资料
     */
    public Boolean err2;
    /**
     * 有资料无物
     */
    public Boolean err3;
    /**
     * 命令错误走行联调冲突
     */
    public Boolean err4;
    /**
     * 目标为超过行走极限
     */
    public Boolean err5;
    /**
     *  变频器异常
     */
    public Boolean err6;
    /**
     * 光电异常
     */
    public Boolean err7;
    //////////////////////     工位2定义   //////////////////////////////////////////////////
    /**
     * 工位2任务号
     */
    public Short taskNo2 = 0;
    public Integer taskNo2 = 0;
    /**
     * RGV工位2当前状态
@@ -94,7 +151,44 @@
    /**
     * 工位2有物
     */
    public Short loaded2;
    public Boolean loaded2;
//    /**
//     * 急停
//     */
//    public Boolean err21;
//
//    /**
//     * 有物无资料
//     */
//    public Boolean err22;
//
//    /**
//     * 有资料无物
//     */
//    public Boolean err23;
//
//    /**
//     * 命令错误走行联调冲突
//     */
//    public Boolean err24;
//
//    /**
//     * 目标为超过行走极限
//     */
//    public Boolean err25;
//
//    /**
//     *  变频器异常
//     */
//    public Boolean err26;
//
//    /**
//     * 光电异常
//     */
//    public Boolean err27;
    ///////////////////////////////////////////////////////////////////////////////////////
    /**
@@ -172,6 +266,15 @@
        this.status2 = RgvStatusType.get(type2).id.shortValue();
    }
    public boolean isLoaded1ing() {
        return Boolean.TRUE.equals(this.loaded1);
    }
    public boolean isLoaded2ing() {
        return Boolean.TRUE.equals(this.loaded2);
    }
    /**
     * 最近一次入出库类型
     *       I:入库
@@ -203,8 +306,30 @@
    public Integer getRgvPosI(){
        //需要根据现场改造  根据读到的值获取对应站点位置
        Map<Short,Integer> map = new HashMap<>();
        map.put((short) 1,1004);map.put((short) 2,1007);
        map.put((short) 3,1010);map.put((short) 4,1014);
        map.put((short) 5,1018);map.put((short) 6,1021);
       map.put((short) 7,1024); map.put((short) 8,1028);
        map.put((short) 9,1031);map.put((short) 10,1035);
        map.put((short) 11,2003);map.put((short) 12,2006);
        map.put((short) 13,2009);map.put((short) 14,2012);
        map.put((short) 15,2015);map.put((short) 16,2018);
        map.put((short) 17,2021);map.put((short) 18,2024);
        map.put((short) 19,2027);map.put((short) 20,2030);
        if (RgvPos==null) return 0;
        return RgvPos.intValue();
        return map.get(RgvPos);
    }
    @Override
    public RgvProtocol clone() {
        try {
            return (RgvProtocol) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
}