From 0b7a31fdf4990b28ccad5453a9190727ecf02f14 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期三, 23 四月 2025 15:01:01 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java | 48 +++++++++++++++++++----------------------------- 1 files changed, 19 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java b/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java index d84c69c..3ee487a 100644 --- a/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java +++ b/src/main/java/com/zy/core/thread/impl/LfdZyForkLiftSlaveThread.java @@ -87,7 +87,7 @@ } read(); - Thread.sleep(200); + Thread.sleep(300); execute(); } catch (Exception e) { e.printStackTrace(); @@ -131,19 +131,7 @@ 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) { @@ -180,18 +168,7 @@ 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); @@ -199,10 +176,23 @@ 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); } } -- Gitblit v1.9.1