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;
|
}
|
|
}
|