1
Administrator
2 天以前 b0a96a43d99eb5baf708c4fa0d0482696d7b0823
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
package com.zy.acs.conveyor.core.model;
 
import com.zy.acs.conveyor.entity.Devp;
import lombok.Data;
 
import java.io.Serializable;
 
/**
 * 输送线plc单个站点详细信息
 * Created by vincent on 2020/8/6
 */
@Data
public class StaProtocol implements Cloneable, Serializable {
 
    private Integer plcId;
 
    // 站点编号
    private Integer siteId;
 
    // ----------------------------------------------------------------
    // 工作号
    private Integer workNo = 0;
 
    // ----------------------------------------------------------------
    // 目标站
    private Integer staNo;
 
    // ----------------------------------------------------------------
    // 自动
    private boolean autoing;
 
    // 有物
    private boolean loading;
 
    // 需求入
    private boolean inEnable;
 
    // 需求出
    private boolean outEnable;
 
    // 空板信号
    private boolean emptyMk;
 
    // 满托盘
    private boolean fullPlt;
 
    // 高
    private boolean high;
 
    // 低
    private boolean low;
 
    // 中
    private boolean mid;
 
    // 启动入库
    private boolean startup;
 
    // 中途任务申请
    private boolean segApply;
 
    // 入库异常
    private boolean applyErr;
 
    //条码
    private String barcode;
 
    //重量
    private Double weight;
 
 
    // 外形检测 ------------------------------------------------------------------------
 
    // 前超限
    private boolean frontErr = false;
 
    // 后超限
    private boolean backErr = false;
 
    // 高超限
    private boolean highErr = false;
 
    // 左超限
    private boolean leftErr = false;
 
    // 右超限
    private boolean rightErr = false;
 
    // 超重
    private boolean weightErr = false;
 
    // 扫码失败
    private boolean barcodeErr = false;
 
    // 有货报警,空托入库时检测托盘上有无货物
    private boolean loadErr = false;
 
    //故障-----------------------------------------------------------------------
    private Boolean breakerErr = false; //断路器故障
 
    private Boolean infraredErr = false; //光电异常
 
    private Boolean outTimeErr = false; //运行超时
 
    private Boolean seizeSeatErr = false; //占位超时
 
    private Boolean wrkYgoodsN = false;//有任务无货故障
 
    private Boolean inverterErr = false; //变频器故障
 
    private Boolean contactErr = false; //电机接触器故障
 
    private Boolean upcontactErr = false; //顶升电机接触器故障
 
    // 安全交互 ------------------------------------------------------------------------
    // ctu或agv写给输送线的
    // ctu申请放
    private Boolean applyPut = false;
 
    // ctu申请取
    private Boolean applyTake = false;
 
    // ctu取完成
    private Boolean putComplete = false;
 
    // ctu放完成
    private Boolean takeComplete = false;
 
    // 禁止运行
    private Boolean stop = false;
 
 
    // 输送线写给ctu或agv
    // 心跳
    private Boolean heartbeat = false;
 
    // 允许取
    private Boolean allowTake = false;
 
    // 允许放
    private Boolean allowPut = false;
 
    // 接货完成
    private Boolean inComplete = false;
 
    // 出货完成
    private Boolean outComplete = false;
 
    private SafeSignal safeSignal;
 
 
    public Boolean isErr() {
        if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr) {
            return true;
        } else {
            return false;
        }
    }
 
    public Devp toSqlModel() {
        Devp devp = new Devp();
        devp.setDevNo(siteId);
        devp.setWrkNo(workNo.intValue());
        devp.setAutoing(autoing ? "Y" : "N");
        devp.setLoading(loading ? "Y" : "N");
        devp.setInEnable(inEnable ? "Y" : "N");
        devp.setOutEnable(outEnable ? "Y" : "N");
        devp.setLocType((short) 0);
        return devp;
    }
 
 
    @Override
    public StaProtocol clone() {
        try {
            return (StaProtocol) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return null;
    }
 
}