src/main/java/com/zy/asrs/controller/ConsoleController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/CrnController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/enums/CrnLiftPosType.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/CrnProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensCrnThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -129,7 +129,7 @@ /** * 堆垛机状态判断 */ if ((crn.getId() == 1 && crnProtocol.getAlarm1() > 0) || (crn.getId() == 2 && crnProtocol.getAlarm1() > 1000)) { if (crn.getId() == 1 && crnProtocol.getAlarm1() > 0) { vo.setCrnStatus(CrnStatusType.MACHINE_ERROR); } else { if (crnProtocol.getTaskNo()>0) { src/main/java/com/zy/asrs/controller/CrnController.java
@@ -129,11 +129,7 @@ vo.setXLocation(crnProtocol.getWalkPos() == 1?"是":"否"); // 走行定位 vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"否":"是"); // 升降定位 // vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"是":"否"); // 急停 if (vo.getCrnNo() == 2) { vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()-1000)); // 异常码 } else { vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); // 异常码 } vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); // 异常码 } return R.ok().add(list); src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -755,7 +755,7 @@ if (wrkMast == null) { continue; } BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1()); BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 编号 @@ -802,7 +802,7 @@ if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) { // 记录新异常 if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) { BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1()); BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName(); BasErrLog basErrLog = new BasErrLog( null, // 编号 src/main/java/com/zy/core/enums/CrnLiftPosType.java
@@ -7,6 +7,7 @@ DOWN(2, "单伸位低位"), // 下定位 UP(1, "单伸位高位"), // 上定位 NONE(0, "不在定位"), // 不在定位 ERROR(-1, "未知"), // 不在定位 ; public Integer id; src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -185,25 +185,25 @@ * 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; /** * 拨指位置 src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -114,7 +114,7 @@ * 读取状态 */ private void readStatus(){ OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 90); OperateResultExOne<byte[]> result = siemensNet.Read("DB11.2", (short) 104); if (result.IsSuccess) { if (null == crnProtocol) { crnProtocol = new CrnProtocol(); @@ -160,6 +160,19 @@ crnProtocol.setDoubleLow(bool3[5]); crnProtocol.setPlatformHigh(bool3[6]); crnProtocol.setPlatformLow(bool3[7]); boolean[] bool4 = siemensNet.getByteTransform().TransBool(result.Content, 64, 1); // 66 crnProtocol.setLoaded((short) (bool4[4]?1:0)); // 有物 // 速度 crnProtocol.setXSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 22)); // 24 crnProtocol.setYSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 24)); // 26 crnProtocol.setZSpeed((float) siemensNet.getByteTransform().TransInt16(result.Content, 26)); // 28 // 累计里程、时长 crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 88)); // 90 crnProtocol.setYDistance((float) siemensNet.getByteTransform().TransInt32(result.Content, 92)); // 94 crnProtocol.setXDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 96)); // 98 crnProtocol.setYDuration((float) siemensNet.getByteTransform().TransInt32(result.Content, 100)); // 102 // 增强 if (crnProtocol.getForkHome()) { crnProtocol.setForkPos(CrnForkPosType.HOME); @@ -230,6 +243,66 @@ log.error("堆垛机写入命令为空"); return false; } if (command.getTaskNo() == 0) { command.setTaskNo((short) 9999); } // 代理 switch (command.getSourcePosX()) { case 1: command.setSourcePosX((short) 4); break; case 2: command.setSourcePosX((short) 3); break; case 3: command.setSourcePosX((short) 2); break; case 4: command.setSourcePosX((short) 1); break; case 5: command.setSourcePosX((short) 4); break; case 6: command.setSourcePosX((short) 3); break; case 7: command.setSourcePosX((short) 2); break; case 8: command.setSourcePosX((short) 1); break; default: log.info("{}号堆垛机下方命令错误,源排:{}", command.getCrnNo(), command.getSourcePosX()); } switch (command.getDestinationPosX()) { case 1: command.setDestinationPosX((short) 4); break; case 2: command.setDestinationPosX((short) 3); break; case 3: command.setDestinationPosX((short) 2); break; case 4: command.setDestinationPosX((short) 1); break; case 5: command.setDestinationPosX((short) 4); break; case 6: command.setDestinationPosX((short) 3); break; case 7: command.setDestinationPosX((short) 2); break; case 8: command.setDestinationPosX((short) 1); break; default: log.info("{}号堆垛机下方命令错误,目标排:{}", command.getCrnNo(), command.getSourcePosX()); } command.setCrnNo(slave.getId()); short[] array = new short[9]; if (!command.getTaskModeType().equals(CrnTaskModeType.CLEAR)) { src/main/resources/application.yml
@@ -44,10 +44,10 @@ # 堆垛机1 crn[0]: id: 1 ip: 192.168.6.9 port: 102 ip: 192.168.0.20 port: 2000 rack: 0 slot: 0 slot: 1 # 偏移量,当堆垛机站点列号=1时,偏移量=2 offset: 2 # 堆垛机入库站点 @@ -67,10 +67,10 @@ # 堆垛机2 crn[1]: id: 2 ip: 192.168.6.20 port: 6000 ip: 192.168.0.10 port: 2000 rack: 0 slot: 0 slot: 1 # 偏移量,当堆垛机站点列号=1时,偏移量=2 offset: 2 # 堆垛机入库站点