| | |
| | | } |
| | | |
| | | read(); |
| | | Thread.sleep(200); |
| | | Thread.sleep(300); |
| | | execute(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | private void readStatus() { |
| | | try { |
| | | //获取提升机数据 |
| | | HashMap<String, Object> resultData = this.masterThread.read(this.slave.getId(), "status"); |
| | | if (resultData == null) { |
| | | OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId())); |
| | | return; |
| | | } |
| | | if (Integer.parseInt(resultData.get("slaveId").toString()) != this.slave.getId()) { |
| | | return; |
| | | } |
| | | if (!resultData.get("slaveId").toString().equals("status")) { |
| | | return; |
| | | } |
| | | |
| | | OperateResultExOne<byte[]> result1 = (OperateResultExOne<byte[]>) resultData.get("data"); |
| | | OperateResultExOne<byte[]> result1 = this.masterThread.read(this.slave.getId(), "status"); |
| | | SiemensS7Net siemensS7Net = this.masterThread.getSiemensS7Net(); |
| | | if (result1.IsSuccess) { |
| | | if (null == forkLiftProtocol) { |
| | |
| | | OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId())); |
| | | } |
| | | |
| | | //获取提升机数据 |
| | | HashMap<String, Object> resultData2 = this.masterThread.read(this.slave.getId(), "staStatus"); |
| | | if (resultData2 == null) { |
| | | OutputQueue.FORKLIFT.offer(MessageFormat.format("【{0}】{1}读取货叉提升机状态信息失败", DateUtils.convert(new Date()), slave.getId())); |
| | | } |
| | | if (Integer.parseInt(resultData.get("slaveId").toString()) != this.slave.getId()) { |
| | | return; |
| | | } |
| | | if (!resultData.get("slaveId").toString().equals("staStatus")) { |
| | | return; |
| | | } |
| | | OperateResultExOne<byte[]> result2 = (OperateResultExOne<byte[]>) resultData.get("data"); |
| | | OperateResultExOne<byte[]> result2 = this.masterThread.read(this.slave.getId(), "staStatusTray"); |
| | | if (result2.IsSuccess) { |
| | | for (int i = 0; i < this.slave.getSta().size(); i++) { |
| | | ForkLiftSlave.Sta sta = this.slave.getSta().get(i); |
| | |
| | | continue; |
| | | } |
| | | |
| | | short val = siemensS7Net.getByteTransform().TransInt16(result2.Content, i * 2); |
| | | ForkLiftStaProtocol forkLiftStaProtocol = forkLiftStaProtocols.get(i); |
| | | boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result2.Content, i * 2, 2); |
| | | forkLiftStaProtocol.setHasTray(status1[0]); |
| | | forkLiftStaProtocol.setHasCar(status1[1]); |
| | | forkLiftStaProtocol.setHasTray(val == 1); |
| | | } |
| | | } |
| | | |
| | | OperateResultExOne<byte[]> result3 = this.masterThread.read(this.slave.getId(), "staStatusCar"); |
| | | if (result3.IsSuccess) { |
| | | for (int i = 0; i < this.slave.getSta().size(); i++) { |
| | | ForkLiftSlave.Sta sta = this.slave.getSta().get(i); |
| | | if (forkLiftStaProtocols.isEmpty()) { |
| | | continue; |
| | | } |
| | | |
| | | short val = siemensS7Net.getByteTransform().TransInt16(result3.Content, i * 2); |
| | | ForkLiftStaProtocol forkLiftStaProtocol = forkLiftStaProtocols.get(i); |
| | | forkLiftStaProtocol.setHasCar(val == 1); |
| | | } |
| | | } |
| | | |