| | |
| | | if (err15[5]) { crnProtocol.setAlarm4(72); } |
| | | if (err15[6]) { crnProtocol.setAlarm4(73); } |
| | | |
| | | boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1); // 62 |
| | | crnProtocol.setConnStatus(bool1[0]); |
| | | crnProtocol.setCorrection(bool1[3]); |
| | | crnProtocol.setTuError(bool1[4]); |
| | | crnProtocol.setNoneError(bool1[5]); |
| | | crnProtocol.setStockError(bool1[6]); |
| | | crnProtocol.setJobInvalid(bool1[7]); |
| | | boolean[] bool2 = siemensNet.getByteTransform().TransBool(result.Content, 61, 1); // 63 |
| | | crnProtocol.setIdle(bool2[0]); |
| | | crnProtocol.setControl(bool2[1]); |
| | | crnProtocol.setStopQuasi(bool2[2]); |
| | | crnProtocol.setRunning(bool2[3]); |
| | | crnProtocol.setFault(bool2[4]); |
| | | crnProtocol.setForkHome(bool2[5]); |
| | | crnProtocol.setForkSingleLeft(bool2[6]); |
| | | crnProtocol.setForkSingleRight(bool2[7]); |
| | | boolean[] bool3 = siemensNet.getByteTransform().TransBool(result.Content, 62, 1); // 64 |
| | | crnProtocol.setForkDoubleLeft(bool3[0]); |
| | | crnProtocol.setForkDoubleRight(bool3[1]); |
| | | crnProtocol.setSingleHigh(bool3[2]); |
| | | crnProtocol.setSingleLow(bool3[3]); |
| | | crnProtocol.setDoubleHigh(bool3[4]); |
| | | 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)); // 有物 |
| | | // boolean[] bool1 = siemensNet.getByteTransform().TransBool(result.Content, 60, 1); // 62 |
| | | // crnProtocol.setConnStatus(bool1[0]); |
| | | // crnProtocol.setCorrection(bool1[3]); |
| | | // crnProtocol.setTuError(bool1[4]); |
| | | // crnProtocol.setNoneError(bool1[5]); |
| | | // crnProtocol.setStockError(bool1[6]); |
| | | // crnProtocol.setJobInvalid(bool1[7]); |
| | | // boolean[] bool2 = siemensNet.getByteTransform().TransBool(result.Content, 61, 1); // 63 |
| | | // crnProtocol.setIdle(bool2[0]); |
| | | // crnProtocol.setControl(bool2[1]); |
| | | // crnProtocol.setStopQuasi(bool2[2]); |
| | | // crnProtocol.setRunning(bool2[3]); |
| | | // crnProtocol.setFault(bool2[4]); |
| | | // crnProtocol.setForkHome(bool2[5]); |
| | | // crnProtocol.setForkSingleLeft(bool2[6]); |
| | | // crnProtocol.setForkSingleRight(bool2[7]); |
| | | // boolean[] bool3 = siemensNet.getByteTransform().TransBool(result.Content, 62, 1); // 64 |
| | | // crnProtocol.setForkDoubleLeft(bool3[0]); |
| | | // crnProtocol.setForkDoubleRight(bool3[1]); |
| | | // crnProtocol.setSingleHigh(bool3[2]); |
| | | // crnProtocol.setSingleLow(bool3[3]); |
| | | // crnProtocol.setDoubleHigh(bool3[4]); |
| | | // 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.setXDistance((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 |
| | | // 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.setXDistance((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); |
| | | } |
| | | if (crnProtocol.getForkSingleLeft()) { |
| | | crnProtocol.setForkPos(CrnForkPosType.LEFT); |
| | | } |
| | | if (crnProtocol.getForkSingleRight()) { |
| | | crnProtocol.setForkPos(CrnForkPosType.RIGHT); |
| | | } |
| | | if (crnProtocol.getForkDoubleLeft()) { |
| | | crnProtocol.setForkPos(CrnForkPosType._LEFT); |
| | | } |
| | | if (crnProtocol.getForkDoubleRight()) { |
| | | crnProtocol.setForkPos(CrnForkPosType._RIGHT); |
| | | } |
| | | if (crnProtocol.getSingleHigh()) { |
| | | crnProtocol.setLiftPos(CrnLiftPosType.UP); |
| | | } |
| | | if (crnProtocol.getSingleLow()) { |
| | | crnProtocol.setLiftPos(CrnLiftPosType.DOWN); |
| | | } |
| | | if (crnProtocol.getDoubleHigh()) { |
| | | crnProtocol.setLiftPos(CrnLiftPosType._UP); |
| | | } |
| | | if (crnProtocol.getDoubleLow()) { |
| | | crnProtocol.setLiftPos(CrnLiftPosType._DOWN); |
| | | } |
| | | if (crnProtocol.getIdle()) { |
| | | crnProtocol.setStatus(CrnStatusType.IDLE); |
| | | } |
| | | // // 增强 |
| | | // if (crnProtocol.getForkHome()) { |
| | | // crnProtocol.setForkPos(CrnForkPosType.HOME); |
| | | // } |
| | | // if (crnProtocol.getForkSingleLeft()) { |
| | | // crnProtocol.setForkPos(CrnForkPosType.LEFT); |
| | | // } |
| | | // if (crnProtocol.getForkSingleRight()) { |
| | | // crnProtocol.setForkPos(CrnForkPosType.RIGHT); |
| | | // } |
| | | // if (crnProtocol.getForkDoubleLeft()) { |
| | | // crnProtocol.setForkPos(CrnForkPosType._LEFT); |
| | | // } |
| | | // if (crnProtocol.getForkDoubleRight()) { |
| | | // crnProtocol.setForkPos(CrnForkPosType._RIGHT); |
| | | // } |
| | | // if (crnProtocol.getSingleHigh()) { |
| | | // crnProtocol.setLiftPos(CrnLiftPosType.UP); |
| | | // } |
| | | // if (crnProtocol.getSingleLow()) { |
| | | // crnProtocol.setLiftPos(CrnLiftPosType.DOWN); |
| | | // } |
| | | // if (crnProtocol.getDoubleHigh()) { |
| | | // crnProtocol.setLiftPos(CrnLiftPosType._UP); |
| | | // } |
| | | // if (crnProtocol.getDoubleLow()) { |
| | | // crnProtocol.setLiftPos(CrnLiftPosType._DOWN); |
| | | // } |
| | | // if (crnProtocol.getIdle()) { |
| | | // crnProtocol.setStatus(CrnStatusType.IDLE); |
| | | // } |
| | | |
| | | OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId())); |
| | | |
| | | // 复位信号 |
| | | if (crnProtocol.getTaskFinish() == 1) { |
| | | if (crnProtocol.getTaskFinish() == 0) { |
| | | if (resetFlag) { |
| | | CrnCommand crnCommand = new CrnCommand(); |
| | | crnCommand.setAckFinish((short)1); |
| | |
| | | // } |
| | | |
| | | // 日志记录 |
| | | try { |
| | | // try { |
| | | if (command.getAckFinish() != 1) { |
| | | BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class); |
| | | BasCrnOpt basCrnOpt = new BasCrnOpt( |
| | |
| | | ); |
| | | bean.insert(basCrnOpt); |
| | | } |
| | | } catch (Exception ignore) {} |
| | | // } catch (Exception ignore) {} |
| | | |
| | | //更新命令日志 |
| | | CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class); |
| | | CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); |
| | | CommandInfo commandInfo = commandInfoService.selectById(command.getCommandId()); |
| | | CommandInfoLog commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class); |
| | | commandInfoLog.setId(null); |
| | | CommandInfoLog commandInfoLog = new CommandInfoLog(); |
| | | if (commandInfo != null) { |
| | | commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class); |
| | | commandInfoLog.setId(null); |
| | | }else { |
| | | Date now = new Date(); |
| | | commandInfoLog.setCommand(JSON.toJSONString(command)); |
| | | commandInfoLog.setCommandStatus(3); |
| | | commandInfoLog.setStartTime(now); |
| | | commandInfoLog.setExecuteTime(now); |
| | | commandInfoLog.setCompleteTime(now); |
| | | commandInfoLog.setDevice(SlaveType.Devp.toString()); |
| | | commandInfoLog.setWrkNo(9999); |
| | | commandInfoLog.setTaskNo("9999"); |
| | | commandInfoLog.setCommandDesc("手动命令"); |
| | | } |
| | | |
| | | |
| | | if (result.IsSuccess) { |
| | | log.warn("堆垛机命令下发[id:{},时间:{}] >>>>> {}", slave.getId(), DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F), JSON.toJSON(command)); |