自动化立体仓库 - WCS系统
*
lsh
6 天以前 f287ab5ee6b9938e0d48cdb62c05078bdec463d8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.zy.core.model.protocol;
 
import com.zy.asrs.entity.BasRgv;
import com.zy.core.enums.RgvModeType;
import com.zy.core.enums.RgvStatusType;
import lombok.Data;
 
/**
 * Created by vincent on 2020/8/7
 */
@Data
public class RgvProtocol {
 
    private Integer RgvNo;
 
    /**
     * 1 = 手动模式
     * 2 = 自动模式
     * 3 = 电脑模式
     */
    public Short mode = -1;
 
    public RgvModeType modeType = RgvModeType.NONE;
 
    /**
     * RGV当前状态
     * 0:空闲,无任务
     * 1:作业中
     * 2:报警
     */
    public Short status = -1;
 
    /**
     * 状态枚举
     */
    public RgvStatusType statusType = RgvStatusType.NONE;
 
    /**
     * 任务号
     */
    public Short taskNo = 0;
 
    /**
     * 有物
     */
    public Short loaded;//0 无物;1 有物
 
    /**
     * RGV当前位置
     */
    public Long RgvPos = 0L;
 
    /**
     * 走行在定位
     * 0 = 在定位
     * 1 = 不在定位
     */
    public Short walkPos;
 
    /**
     * 异常码
     */
    public Short alarm;
 
    /**
     * X行走行速度m/min
     */
    private Float xSpeed;
 
    /**
     * 累计走行距离km
     */
    public Float xDistance;
 
    /**
     * 累计走行时长h
     */
    public Float xDuration;
 
    /**
     * 是否避让
     */
    public Short Avoid;//0\1\2
 
    /**
     * 避让目的地
     */
    public Short AvoidingTheDestination;
 
    /**
     * 是否启用
     */
    public boolean statusEnable;//0\1\2
 
    public void setMode(Short mode) {
        this.mode = mode;
        this.modeType = RgvModeType.get(mode);
    }
 
    public void setMode(RgvModeType type) {
        this.modeType = type;
        this.mode = RgvModeType.get(type).id.shortValue();
    }
 
    public void setStatus(Short status){
        this.status = status;
        this.statusType = RgvStatusType.get(status);
    }
 
    public void setStatus(RgvStatusType type){
        this.statusType = type;
        this.status = RgvStatusType.get(type).id.shortValue();
    }
 
    public BasRgv toSqlModel(BasRgv basRgv){
        if (alarm!=null) {
            basRgv.setRgvErr(alarm.longValue());
        }
        basRgv.setWrkNo1(taskNo.intValue());
        return basRgv;
    }
 
    public void setxSpeed(Short xSpeed) {
        this.xSpeed = Float.valueOf(xSpeed);
    }
 
    public void setxDistance(Short xDistance) {
        this.xDistance = Float.valueOf(xDistance);
    }
 
    public void setxDuration(Short xDuration) {
        this.xDuration = Float.valueOf(xDuration);
    }
 
}