package com.zy.core.model.protocol; import com.zy.asrs.entity.BasDevp; import lombok.Data; /** * 输送线plc单个站点详细信息 * Created by vincent on 2020/8/6 */ @Data public class StaProtocol implements Cloneable { // 站点编号 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 pakMk = true; // 入库暂存数 private Short inQty; // 隔壁站点(台车位置) private String nearbySta; // 外形检测 ------------------------------------------------------------------------ // 前超限 private boolean frontErr; // 后超限 private boolean backErr; // 高超限 private boolean highErr; // 左超限 private boolean leftErr; // 右超限 private boolean rightErr; // 超重 private boolean weightErr; // 扫码失败 private boolean barcodeErr; private short endRow;//小车目标位 private short nowRow;//小车当前位 //左:1 中: 2 右:3 (面朝入料口) private boolean RGV1;//小车无货空闲 private boolean RGV2;//小车输送线取货到位 private boolean RGV3;//小车运行中 private boolean RGV4;//小车改左侧货物目标站 取1(左)货物 (面朝入料口) private boolean RGV5;//小车改右侧货物目标站 取2(右)货物 (面朝入料口) private boolean RGV6;//上位机清除平移车资料 private short RGV11;//小车无货空闲 private short RGV22;//小车输送线取货到位 private short RGV33;//小车运行中 private short RGV44;//小车改左侧货物目标站 取1(左)货物 (面朝入料口) private short RGV55;//小车改右侧货物目标站 取2(右)货物 (面朝入料口) private short RGV66;//上位机清除平移车资料 private String barcode;//托盘条码 public BasDevp toSqlModel(){ BasDevp basDevp = new BasDevp(); basDevp.setDevNo(siteId); basDevp.setWrkNo(workNo); basDevp.setAutoing(autoing?"Y":"N"); basDevp.setLoading(loading?"Y":"N"); basDevp.setEmptyMk(emptyMk?"Y":"N"); if (basDevp.getLoading().equals("N") && basDevp.getAutoing().equals("Y") && (basDevp.getWrkNo()==0 || !basDevp.getWrkNo().equals(basDevp.getWrkNo1()))){ basDevp.setWrkNo1(workNo); basDevp.setReportSign(0); } basDevp.setInEnable(inEnable?"Y":"N"); basDevp.setOutEnable(outEnable?"Y":"N"); basDevp.setLocType1((short) 0); // 高低类型{0:未知,1:低库位,2:高库位} basDevp.setLocType2((short) 0); // 宽窄类型{0:未知,1:窄库位,2:宽库位} basDevp.setLocType3((short) 0); // 轻重类型{0:未知,1:轻库位,2:重库位} basDevp.setLocType1(high != low && low ? (short) 1 : (short) 2); basDevp.setInQty(inQty !=null ?(int)inQty : 0); basDevp.setBarcode(barcode); return basDevp; } public boolean rgvBoolean(Integer type){ if (type==1){ if (!RGV1){ return false; } } else { if (RGV1){ return false; } } if (type==2){ if (!RGV2){ return false; } } else { if (RGV2){ return false; } } if (type==3){ if (!RGV3){ return false; } } else { if (RGV3){ return false; } } if (type==4){ if (!RGV4){ return false; } } else { if (RGV4){ return false; } } if (type==5){ if (!RGV5){ return false; } } else { if (RGV5){ return false; } } if (type==6){ if (!RGV6){ return false; } } else { if (RGV6){ return false; } } return true; } @Override public StaProtocol clone() { try { return (StaProtocol) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return null; } }