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