| | |
| | | crnProtocol.setMode((short) -1); |
| | | // crnProtocol.setTaskNo((short)0); |
| | | crnProtocol.setStatus((short)-1); |
| | | crnProtocol.setStatusTwo((short)-1); |
| | | crnProtocol.setBay((short)0); |
| | | crnProtocol.setLevel((short)0); |
| | | crnProtocol.setForkPos((short) -1); |
| | |
| | | crnProtocol.setyDistance((short) 0); |
| | | crnProtocol.setxDuration((short) 0); |
| | | crnProtocol.setyDuration((short) 0); |
| | | |
| | | // 根据实时信息更新数据库 |
| | | BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class); |
| | | BasCrnp basCrnp = basCrnpService.selectById(slave.getId()); |
| | | basCrnp.setCrnSts((int)crnProtocol.getMode()); |
| | | basCrnp.setCrnStatusOne(-1); |
| | | basCrnp.setCrnStatusTwo(-1); |
| | | if (!basCrnpService.updateById(basCrnp)){ |
| | | log.error("堆垛机plc数据库更新失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | try { |
| | | OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>(); |
| | | if (slave.getId()>2 && slave.getId()<6){ |
| | | result = siemensNet.Read("DB101.0", (short) 62); |
| | | result = siemensNet.Read("DB101.0", (short) 66); |
| | | } else { |
| | | result = siemensNet.Read("DB101.0", (short) 52); |
| | | result = siemensNet.Read("DB101.0", (short) 56); |
| | | } |
| | | if (result.IsSuccess) { |
| | | if (null == crnProtocol) { |
| | |
| | | crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8)); |
| | | crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10)); |
| | | |
| | | if (slave.getId()>2 && slave.getId()<6){ |
| | | if (slave.getId()<3 || slave.getId()>5){ |
| | | crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12)); |
| | | crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14)); |
| | | crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16)); |
| | |
| | | crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 22)); |
| | | crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 24)); |
| | | |
| | | crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 30)); |
| | | crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 32)); |
| | | |
| | | crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 34)); |
| | | crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 38)); |
| | | crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42)); |
| | |
| | | crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 54)); |
| | | crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 58)); |
| | | crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 62)); |
| | | } |
| | | //工位2数据 无则无需理会 |
| | | try{ |
| | | |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | |
| | | OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] <<<<< 实时数据更新成功",DateUtils.convert(new Date()), slave.getId())); |