|  |  |  | 
|---|
|  |  |  | package com.zy.core.model.protocol; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.zy.asrs.entity.BasCrnp; | 
|---|
|  |  |  | import com.zy.core.enums.CrnForkPosType; | 
|---|
|  |  |  | import com.zy.core.enums.CrnLiftPosType; | 
|---|
|  |  |  | import com.zy.core.enums.CrnModeType; | 
|---|
|  |  |  | import com.zy.core.enums.CrnStatusType; | 
|---|
|  |  |  | import lombok.Data; | 
|---|
|  |  |  | 
|---|
|  |  |  | public class CrnProtocol { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Integer crnNo; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 1 = 手动模式 | 
|---|
|  |  |  | * 2 = 自动模式 | 
|---|
|  |  |  | * 3 = 电脑模式 | 
|---|
|  |  |  | * 4 = 手动模式启动中 | 
|---|
|  |  |  | * 5 = 自动模式启动中 | 
|---|
|  |  |  | * 6 = 电脑模式启动中 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short mode; | 
|---|
|  |  |  | public Short mode; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CrnModeType modeType; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 1 = 急停 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short eStop; | 
|---|
|  |  |  | public Short eStop; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常码 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short alarm; | 
|---|
|  |  |  | public Short alarm; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 任务号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short taskNo; | 
|---|
|  |  |  | public Short taskNo = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机当前状态 | 
|---|
|  |  |  | * 0 = 未知 | 
|---|
|  |  |  | * 1 = 空闲 | 
|---|
|  |  |  | * 2 = 检查任务数据 | 
|---|
|  |  |  | * 3 = 定位到取货位 | 
|---|
|  |  |  | * 7 = 取货完成 | 
|---|
|  |  |  | * 8 = 等待调度柜允许 | 
|---|
|  |  |  | * 9 = 移动到放货位置 | 
|---|
|  |  |  | * 10 = 放货中 | 
|---|
|  |  |  | * 13 = 搬运完成 | 
|---|
|  |  |  | * 14 = 空载避让 | 
|---|
|  |  |  | * 15 = 检查任务数据 | 
|---|
|  |  |  | * 20 = 检查源位置 | 
|---|
|  |  |  | * 21 = 检查目标位置 | 
|---|
|  |  |  | * 50 = 移动任务 | 
|---|
|  |  |  | * 98 = 任务完成,wcs未确认 | 
|---|
|  |  |  | * 99 = 报警 | 
|---|
|  |  |  | * 0:空闲,无任务 | 
|---|
|  |  |  | * 1:取货定位中 | 
|---|
|  |  |  | * 2:取货中 | 
|---|
|  |  |  | * 3:取货完成,放货定位中 | 
|---|
|  |  |  | * 4:放货中 | 
|---|
|  |  |  | * 5:回原点中 | 
|---|
|  |  |  | * 6:反原点 | 
|---|
|  |  |  | * 7:库位移位 | 
|---|
|  |  |  | * 90:任务完成等待WCS确认 | 
|---|
|  |  |  | * 99:报警 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short status; | 
|---|
|  |  |  | public Short status; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 状态枚举 | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机当前列号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short bay; | 
|---|
|  |  |  | public Short bay; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机当前层号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short level; | 
|---|
|  |  |  | public Short level; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 当前货叉位置 | 
|---|
|  |  |  | 
|---|
|  |  |  | * 1 = 货叉在左侧 | 
|---|
|  |  |  | * 2 = 货叉在右侧 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short forkPos; | 
|---|
|  |  |  | public Short forkPos; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnForkPosType forkPosType; | 
|---|
|  |  |  | public CrnForkPosType forkPosType; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 当前载货台位置 | 
|---|
|  |  |  | * 0 = 下定位 | 
|---|
|  |  |  | * 1 = 上定位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short liftPos; | 
|---|
|  |  |  | public Short liftPos; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CrnLiftPosType liftPosType; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 走行在定位 | 
|---|
|  |  |  | * 0 = 在定位 | 
|---|
|  |  |  | * 1 = 不在定位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short walkPos; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机任务完成 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short taskFinish; | 
|---|
|  |  |  | public Short walkPos; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 载货台有物 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public short loaded; | 
|---|
|  |  |  | public Short loaded; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnTemp1 crnTemp1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp2; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp3; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计走行距离 | 
|---|
|  |  |  | * 异常1 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public int xDistance; | 
|---|
|  |  |  | private boolean[] error1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError1 crnError1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计升降距离 | 
|---|
|  |  |  | * 异常2 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public int yDistance; | 
|---|
|  |  |  | private boolean[] error2; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError2 crnError2; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计运行时长 | 
|---|
|  |  |  | * 异常3 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public int duration; | 
|---|
|  |  |  | private boolean[] error3; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError3 crnError3; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常4 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private boolean[] error4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError4 crnError4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常5 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private boolean[] error5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError5 crnError5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常6 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private boolean[] error6; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError6 crnError6; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * X行走线速度m/min | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Float xSpeed; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Y行走线速度m/min | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Float ySpeed; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Z行走线速度m/min | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Float zSpeed; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setZSpeed(Float zSpeed) { | 
|---|
|  |  |  | if (zSpeed.isNaN()) { | 
|---|
|  |  |  | this.zSpeed = 0.0F; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.zSpeed = zSpeed; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计走行距离km | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float xDistance; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计升降距离km | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float yDistance; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计走行时长h | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float xDuration; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计升降时长h | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float yDuration; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setMode(Short mode) { | 
|---|
|  |  |  | this.mode = mode; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.forkPos = CrnForkPosType.get(type).id.shortValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setLiftPos(Short liftPos) { | 
|---|
|  |  |  | this.liftPos = liftPos; | 
|---|
|  |  |  | this.liftPosType = CrnLiftPosType.get(liftPos); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setLiftPos(CrnLiftPosType type) { | 
|---|
|  |  |  | this.liftPosType = type; | 
|---|
|  |  |  | this.liftPos = CrnLiftPosType.get(type).id.shortValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setStatus(Short status){ | 
|---|
|  |  |  | this.status = status; | 
|---|
|  |  |  | this.statusType = CrnStatusType.get(status); | 
|---|
|  |  |  | 
|---|
|  |  |  | this.status = CrnStatusType.get(type).id.shortValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public Short getTemp1() { | 
|---|
|  |  |  | return temp1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setTemp1(Short temp1) { | 
|---|
|  |  |  | this.temp1 = temp1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 最近一次入出库类型 | 
|---|
|  |  |  | *       I:入库 | 
|---|
|  |  |  | *       O:出库 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private String lastIo = "I"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public BasCrnp toSqlModel(BasCrnp basCrnp){ | 
|---|
|  |  |  | if (alarm!=null) { | 
|---|
|  |  |  | basCrnp.setCrnErr(alarm.longValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | basCrnp.setWrkNo(taskNo.intValue()); | 
|---|
|  |  |  | return basCrnp; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|