|  |  |  | 
|---|
|  |  |  | 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 com.zy.core.enums.*; | 
|---|
|  |  |  | import lombok.Data; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Data | 
|---|
|  |  |  | public class CrnProtocol { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Integer crnNo; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 1 = 手动模式 | 
|---|
|  |  |  | 
|---|
|  |  |  | public CrnModeType modeType; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机任务完成 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short taskFinish; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 校验结果 1表示检验成功 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short valid; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 1 = 急停 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short eStop; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常码 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short alarm; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 任务号 | 
|---|
|  |  |  | 
|---|
|  |  |  | public Short level; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机当前排 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short row; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机当前巷道号 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short lane; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机通讯状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean connStatus; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 申请入库修正 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean correction; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 托盘号错 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean tuError; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 取货无箱 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean noneError; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 双重入库 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean stockError; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 作业数据无效 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean jobInvalid; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 空闲状态 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean idle; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 控制柜使能 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean control; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 停准 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean stopQuasi; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 运行 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean running; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 故障 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean fault; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 货叉中位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean forkHome; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 单伸位货叉左位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean forkSingleLeft; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 单伸位货叉右位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean forkSingleRight; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 双伸位货叉左位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean forkDoubleLeft; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 双伸位货叉右位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean forkDoubleRight; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 单伸位高位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean singleHigh; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 单伸位低位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean singleLow; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 双伸位高位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean doubleHigh; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 双伸位低位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean doubleLow; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 站台高位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean platformHigh; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 站台低位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Boolean platformLow; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 当前货叉位置 | 
|---|
|  |  |  | * 0 = 货叉原位 | 
|---|
|  |  |  | * 1 = 货叉在左侧 | 
|---|
|  |  |  | * 2 = 货叉在右侧 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short forkPos; | 
|---|
|  |  |  | public Short forkPos = -1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CrnForkPosType forkPosType; | 
|---|
|  |  |  | public CrnForkPosType forkPosType = CrnForkPosType.NONE; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 当前载货台位置 | 
|---|
|  |  |  | * 0 = 下定位 | 
|---|
|  |  |  | * 1 = 上定位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short liftPos; | 
|---|
|  |  |  | public Short liftPos = -1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CrnLiftPosType liftPosType; | 
|---|
|  |  |  | public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 走行在定位 | 
|---|
|  |  |  | * 0 = 在定位 | 
|---|
|  |  |  | * 1 = 不在定位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short walkPos; | 
|---|
|  |  |  | public Short walkPos = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 拨指位置 | 
|---|
|  |  |  | * 0 = 不在定位 | 
|---|
|  |  |  | * 1 = 上定位 | 
|---|
|  |  |  | * 2 = 下定位 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short fingerPos; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CrnFingerPosType fingerPosType; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 载货台有物 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Short loaded; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp1; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机垂直故障代码(数值显示) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Integer alarm1 = 0; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnTemp1 crnTemp1; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机水平故障代码(数值显示) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Integer alarm2 = 0;; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp2; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机货叉故障代码(数值显示) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Integer alarm3 = 0;; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp3; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private Short temp4; | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机状态故障代码(数值显示) | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Integer alarm4 = 0;; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常1 | 
|---|
|  |  |  | 
|---|
|  |  |  | private CrnError4 crnError4; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常5 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private boolean[] error5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError5 crnError5; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 异常6 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private boolean[] error6; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private CrnError6 crnError6; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * X行走线速度m/min | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Float xSpeed; | 
|---|
|  |  |  | private Float xSpeed = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Y行走线速度m/min | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Float ySpeed; | 
|---|
|  |  |  | private Float ySpeed = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Z行走线速度m/min | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private Float zSpeed; | 
|---|
|  |  |  | private Float zSpeed = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计走行距离km | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float xDistance; | 
|---|
|  |  |  | public Float xDistance = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计升降距离km | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float yDistance; | 
|---|
|  |  |  | public Float yDistance = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 堆垛机累计走行时长h | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float xDuration; | 
|---|
|  |  |  | public Float xDuration = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | /**w | 
|---|
|  |  |  | * 堆垛机累计升降时长h | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public Float yDuration; | 
|---|
|  |  |  | public Float yDuration = 0F; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setMode(Short mode) { | 
|---|
|  |  |  | this.mode = mode; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.status = CrnStatusType.get(type).id.shortValue(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public Short getTemp1() { | 
|---|
|  |  |  | return temp1; | 
|---|
|  |  |  | public void setFingerPos(Short type) { | 
|---|
|  |  |  | this.fingerPos = type; | 
|---|
|  |  |  | this.fingerPosType = CrnFingerPosType.get(type); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setTemp1(Short temp1) { | 
|---|
|  |  |  | this.temp1 = temp1; | 
|---|
|  |  |  | public void setError1(boolean[] error1){ | 
|---|
|  |  |  | this.error1 = error1; | 
|---|
|  |  |  | this.crnError1 = new CrnError1(); | 
|---|
|  |  |  | this.crnError1.remoteStop = error1[0]; | 
|---|
|  |  |  | this.crnError1.mainStop = error1[1]; | 
|---|
|  |  |  | this.crnError1.controlStop = error1[2]; | 
|---|
|  |  |  | this.crnError1.xCoverErr = error1[3]; | 
|---|
|  |  |  | this.crnError1.yCoverErr = error1[4]; | 
|---|
|  |  |  | this.crnError1.zCoverErr = error1[5]; | 
|---|
|  |  |  | this.crnError1.laserErr = error1[6]; | 
|---|
|  |  |  | this.crnError1.barcodeErr = error1[7]; | 
|---|
|  |  |  | this.crnError1.xFrontLimitErr = error1[8]; | 
|---|
|  |  |  | this.crnError1.xBackLimitErr = error1[9]; | 
|---|
|  |  |  | this.crnError1.yUpLimitErr = error1[10]; | 
|---|
|  |  |  | this.crnError1.yDownLimitErr = error1[11]; | 
|---|
|  |  |  | this.crnError1.zLeftLimitErr = error1[12]; | 
|---|
|  |  |  | this.crnError1.zRightLimitErr = error1[13]; | 
|---|
|  |  |  | this.crnError1.leftOverWidthErr1 = error1[14]; | 
|---|
|  |  |  | this.crnError1.leftOverWidthErr2 = error1[15]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setError2(boolean[] error2){ | 
|---|
|  |  |  | this.error2 = error2; | 
|---|
|  |  |  | this.crnError2 = new CrnError2(); | 
|---|
|  |  |  | this.crnError2.leftOverLenErr1 = error2[0]; | 
|---|
|  |  |  | this.crnError2.leftOverLenErr2 = error2[1]; | 
|---|
|  |  |  | this.crnError2.leftOverHighErr = error2[2]; | 
|---|
|  |  |  | this.crnError2.rightOverWidthErr1 = error2[3]; | 
|---|
|  |  |  | this.crnError2.rightOverWidthErr2 = error2[4]; | 
|---|
|  |  |  | this.crnError2.rightOverLenErr1 = error2[5]; | 
|---|
|  |  |  | this.crnError2.rightOverLenErr2 = error2[6]; | 
|---|
|  |  |  | this.crnError2.rightOverHighErr = error2[7]; | 
|---|
|  |  |  | this.crnError2.leftLooseRopeErr = error2[8]; | 
|---|
|  |  |  | this.crnError2.rightLooseRopeErr = error2[9]; | 
|---|
|  |  |  | this.crnError2.frontDoorErr = error2[10]; | 
|---|
|  |  |  | this.crnError2.backDoorErr = error2[11]; | 
|---|
|  |  |  | this.crnError2.startupErr = error2[12]; | 
|---|
|  |  |  | this.crnError2.xFrontLocaUpErr = error2[13]; | 
|---|
|  |  |  | this.crnError2.xFrontLocaDownErr = error2[14]; | 
|---|
|  |  |  | this.crnError2.xBackLocaUpErr = error2[15]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setError3(boolean[] error3) { | 
|---|
|  |  |  | this.error3 = error3; | 
|---|
|  |  |  | this.crnError3 = new CrnError3(); | 
|---|
|  |  |  | this.crnError3.xBackLocaDownErr = error3[0]; | 
|---|
|  |  |  | this.crnError3.yUpLocaUpErr = error3[1]; | 
|---|
|  |  |  | this.crnError3.yUpLocaDownErr = error3[2]; | 
|---|
|  |  |  | this.crnError3.yDownLocaUpErr = error3[3]; | 
|---|
|  |  |  | this.crnError3.yDownLocaDownErr = error3[4]; | 
|---|
|  |  |  | this.crnError3.zLeftLocaUpErr = error3[5]; | 
|---|
|  |  |  | this.crnError3.zLeftLocaDownErr = error3[6]; | 
|---|
|  |  |  | this.crnError3.zRightLocaUpErr = error3[7]; | 
|---|
|  |  |  | this.crnError3.zRightLocaDownErr = error3[8]; | 
|---|
|  |  |  | this.crnError3.leftTakeNoneErr = error3[9]; | 
|---|
|  |  |  | this.crnError3.rightTakeNoneErr = error3[10]; | 
|---|
|  |  |  | this.crnError3.leftTakeThenLoadErr = error3[11]; | 
|---|
|  |  |  | this.crnError3.rightTakeThenLoadErr = error3[12]; | 
|---|
|  |  |  | this.crnError3.leftPutAndLoadErr = error3[13]; | 
|---|
|  |  |  | this.crnError3.rightPutAndLoadErr = error3[14]; | 
|---|
|  |  |  | this.crnError3.leftPutThenNoneErr = error3[15]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setError4(boolean[] error4) { | 
|---|
|  |  |  | this.error4 = error4; | 
|---|
|  |  |  | this.crnError4 = new CrnError4(); | 
|---|
|  |  |  | this.crnError4.rightPutThenNoneErr = error4[0]; | 
|---|
|  |  |  | this.crnError4.xLooseBrakeTimeout = error4[1]; | 
|---|
|  |  |  | this.crnError4.yLooseBrakeTimeout = error4[2]; | 
|---|
|  |  |  | this.crnError4.zLooseBrakeTimeout = error4[3]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public BasCrnp toSqlModel(BasCrnp basCrnp){ | 
|---|
|  |  |  | if (alarm!=null) { | 
|---|
|  |  |  | basCrnp.setCrnErr(alarm.longValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | basCrnp.setCrnErr(alarm1.longValue()); | 
|---|
|  |  |  | basCrnp.setWrkNo(taskNo.intValue()); | 
|---|
|  |  |  | return basCrnp; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setxSpeed(Short xSpeed) { | 
|---|
|  |  |  | this.xSpeed = Float.valueOf(xSpeed); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setySpeed(Short ySpeed) { | 
|---|
|  |  |  | this.ySpeed = Float.valueOf(ySpeed); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setzSpeed(Short zSpeed) { | 
|---|
|  |  |  | this.zSpeed = Float.valueOf(zSpeed); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setxDistance(Short xDistance) { | 
|---|
|  |  |  | this.xDistance = Float.valueOf(xDistance); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setyDistance(Short yDistance) { | 
|---|
|  |  |  | this.yDistance = Float.valueOf(yDistance); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setxDuration(Short xDuration) { | 
|---|
|  |  |  | this.xDuration = Float.valueOf(xDuration); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void setyDuration(Short yDuration) { | 
|---|
|  |  |  | this.yDuration = Float.valueOf(yDuration); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|