| | |
| | | package com.zy.core.model.protocol; |
| | | |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.CommandInfo; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 输送线plc单个站点详细信息 |
| | |
| | | |
| | | // ---------------------------------------------------------------- |
| | | // 工作号 |
| | | private Short workNo = 0; |
| | | private Integer workNo = 0; |
| | | |
| | | // ---------------------------------------------------------------- |
| | | // 目标站 |
| | | private Short staNo; |
| | | private Integer staNo; |
| | | |
| | | // ---------------------------------------------------------------- |
| | | // 自动 |
| | |
| | | private boolean fullPlt; |
| | | |
| | | // 高 |
| | | private boolean high = false; |
| | | private boolean high; |
| | | |
| | | // 低 |
| | | private boolean low; |
| | | |
| | | //agv |
| | | private boolean car; |
| | | |
| | | // 锁定标记 |
| | | private boolean pakMk = true; |
| | | private boolean pakMkWalk = true; |
| | | |
| | | // 入库暂存数 |
| | | private Short inQty; |
| | |
| | | // 隔壁站点(台车位置) |
| | | private String nearbySta; |
| | | |
| | | //指令ID |
| | | private Integer commandId; |
| | | |
| | | // 外形检测 ------------------------------------------------------------------------ |
| | | |
| | | // 前超限 |
| | | private boolean frontErr = false; |
| | | private boolean frontErr; |
| | | |
| | | // 后超限 |
| | | private boolean backErr = false; |
| | | private boolean backErr; |
| | | |
| | | // 高超限 |
| | | private boolean highErr = false; |
| | | private boolean highErr; |
| | | |
| | | // 左超限 |
| | | private boolean leftErr = false; |
| | | private boolean leftErr; |
| | | |
| | | // 右超限 |
| | | private boolean rightErr = false; |
| | | private boolean rightErr; |
| | | |
| | | // 超重 |
| | | private boolean weightErr = false; |
| | | private boolean weightErr; |
| | | |
| | | // 扫码失败 |
| | | private boolean barcodeErr = false; |
| | | private boolean barcodeErr; |
| | | |
| | | //故障----------------------------------------------------------------------- |
| | | private Boolean breakerErr = false; //断路器故障 |
| | | // Super有无信息 |
| | | private boolean loadingSuper = true; |
| | | |
| | | 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 List<Integer> getAlarm(){ |
| | | List<Integer> alarm = new ArrayList<>(); |
| | | if (breakerErr){ |
| | | alarm.add(1); |
| | | } |
| | | if (infraredErr){ |
| | | alarm.add(2); |
| | | } |
| | | if (outTimeErr){ |
| | | alarm.add(3); |
| | | } |
| | | if (seizeSeatErr){ |
| | | alarm.add(4); |
| | | } |
| | | if (wrkYgoodsN){ |
| | | alarm.add(5); |
| | | } |
| | | if (inverterErr){ |
| | | alarm.add(6); |
| | | } |
| | | if (contactErr){ |
| | | alarm.add(7); |
| | | } |
| | | if (upcontactErr){ |
| | | alarm.add(8); |
| | | } |
| | | return alarm; |
| | | } |
| | | |
| | | |
| | | //指令ID |
| | | private Integer commandId; |
| | | private Double grossWt; |
| | | |
| | | public BasDevp toSqlModel(){ |
| | | BasDevp basDevp = new BasDevp(); |
| | | basDevp.setDevNo(siteId); |
| | | basDevp.setWrkNo(workNo.intValue()); |
| | | basDevp.setWrkNo(workNo); |
| | | 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((short) 0); // 高低类型{0:未知,1:低库位,2:高库位} |