package com.zy.core.model.protocol;
|
|
import com.zy.asrs.entity.BasDevp;
|
import lombok.Data;
|
|
import java.util.List;
|
|
/**
|
* 输送线plc单个站点详细信息
|
* Created by vincent on 2020/8/6
|
*/
|
@Data
|
public class StaProtocol implements Cloneable {
|
|
// 站点编号
|
private Integer siteId;
|
|
// ----------------------------------------------------------------
|
// 工作号
|
private Short workNo = 0;
|
|
// ----------------------------------------------------------------
|
// 目标站
|
private Short 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 pakMk = true;
|
|
// 入库暂存数
|
private Short inQty;
|
|
// 外形检测 ------------------------------------------------------------------------
|
|
// 前超限
|
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 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; //顶升电机接触器故障
|
|
|
|
private Short agvStartPick; //允许取货
|
private Short agvStartPlace; //允许放货
|
private Short agvTypeSign; //允许放货
|
|
private Short agvTargetPick; //取货完成
|
private Short agvTargetPlace; //放货完成
|
private Short agvTypeSignEnd; //放货完成
|
|
private List<Integer> alarm;
|
|
public BasDevp toSqlModel(){
|
BasDevp basDevp = new BasDevp();
|
basDevp.setDevNo(siteId);
|
basDevp.setWrkNo(workNo.intValue());
|
basDevp.setAutoing(autoing?"Y":"N");
|
basDevp.setLoading(loading?"Y":"N");
|
if (frontErr){
|
basDevp.setStaErr(11);
|
}else if (backErr){
|
basDevp.setStaErr(12);
|
}else if (highErr){
|
basDevp.setStaErr(13);
|
}else if (leftErr){
|
basDevp.setStaErr(14);
|
}else if (rightErr){
|
basDevp.setStaErr(15);
|
}else if (weightErr){
|
basDevp.setStaErr(16);
|
}else if (barcodeErr){
|
basDevp.setStaErr(17);
|
}else if (breakerErr){
|
basDevp.setStaErr(18);
|
}else if (infraredErr){
|
basDevp.setStaErr(19);
|
}else if (outTimeErr){
|
basDevp.setStaErr(110);
|
}else if (seizeSeatErr){
|
basDevp.setStaErr(111);
|
}else if (wrkYgoodsN){
|
basDevp.setStaErr(112);
|
}else if (inverterErr){
|
basDevp.setStaErr(113);
|
}else if (contactErr){
|
basDevp.setStaErr(114);
|
}else if (upcontactErr){
|
basDevp.setStaErr(115);
|
}else {
|
if (!loading){
|
basDevp.setStaErr(0);
|
}
|
}
|
basDevp.setInEnable(inEnable?"Y":"N");
|
basDevp.setOutEnable(outEnable?"Y":"N");
|
basDevp.setLocType1(high ? (short) 2 : (short) 1);
|
basDevp.setInQty(inQty !=null ?(int)inQty : 0);
|
return basDevp;
|
}
|
|
@Override
|
public StaProtocol clone() {
|
try {
|
return (StaProtocol) super.clone();
|
} catch (CloneNotSupportedException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
}
|