From 4bac95fc34591bc3d61d6192c457052275ae4298 Mon Sep 17 00:00:00 2001 From: cpT <1@123> Date: 星期三, 18 六月 2025 14:17:58 +0800 Subject: [PATCH] #改造 --- src/main/java/com/zy/core/thread/RgvThread.java | 49 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 0dd4ee9..0a76c89 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -66,6 +66,7 @@ private boolean connectRgv = false; private boolean delRgvTask = false; + private short wrkSign = 0; public RgvThread(RgvSlave slave) { this.slave = slave; @@ -140,7 +141,7 @@ continue; } Thread.sleep(20); -// System.out.println("璇荤嚎绋�"+ slave.getId()); +// System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()); readStatus(); @@ -179,10 +180,12 @@ delRgvTask = false; continue; } - Thread.sleep(40); + Thread.sleep(50L); + OperateResultExOne<byte[]> result = siemensNet.Read("DB100.12", (short) 1); boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 0, 1); if (status[0]){ + Thread.sleep(500L); OperateResult result4 = siemensNet.Write("DB100.12.0", false); } } catch (Exception e) { @@ -300,7 +303,7 @@ write(issued); rgvTaskProtocol.setAvoid(0); - Thread.sleep(200); +// Thread.sleep(200); RgvTaskCache.updateRgvStatus(rgvTaskProtocol); } catch (Exception e) { @@ -333,13 +336,13 @@ // System.out.println(JSON.toJSON(rgvRun)); // 浼戠湢 1 绉� - if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 1000) { - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + if (System.currentTimeMillis() - rgvRun.currentTimeMilliOld > 100) { + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; } else { continue; } if (!deviceDetection()) { - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); if (!errorRgv.equals("鏃�")){ @@ -356,20 +359,20 @@ rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); } if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) || (Math.abs(rgvProtocol.getRgvPos() - rgvProtocol.getRgvPosDestination())>100)){ - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); continue; } if (rgvProtocol.getLoaded() == -1){ - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); RgvErrCache.updateRgvErr(slave.getId(),"灏忚溅鎺㈢墿鐗╃姸鎬佸紓甯�"); continue; } if (rgvTaskProtocol.getAvoid() != 0) { - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); continue; @@ -457,7 +460,7 @@ } } } - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); } catch (Exception e) { @@ -469,7 +472,7 @@ // log.error("e2:"+e2.getMessage()); } rgvRun = RgvRunCache.getRgvRun(); - rgvRun.currentTimeMilliOld = System.currentTimeMillis()+50; + rgvRun.currentTimeMilliOld = System.currentTimeMillis()+10; rgvRun.setRgvNo(slave.getOtherId()); RgvRunCache.updateRgvStatus(rgvRun); continue; @@ -1087,6 +1090,16 @@ } rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 8)); +// rgvProtocol.setStatus((short)1); + + //浣滀笟鍚姩涓� 瑙e喅浠诲姟涓嬪彂鍚庡皬杞︾姸鎬佹湭鏇存柊锛屽皬杞︾姸鎬佷笉鍙婃椂 + if (this.wrkSign == 1 && rgvProtocol.getStatus()!=(short)1){ + this.wrkSign = 0; + } + if (this.wrkSign == 1){ + rgvProtocol.setStatus((short)110); + } + rgvProtocol.setTaskNo((long)siemensNet.getByteTransform().TransInt32(result.Content, 10)); rgvProtocol.setRgvNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 14)); @@ -1106,7 +1119,10 @@ rgvProtocol.setErr5(status[12]); rgvProtocol.setErr6(status[13]); // System.out.println("璇荤嚎绋�"+ slave.getId()+"---"+JSON.toJSONString(rgvProtocol)); - +// System.out.println("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol)); + if (rgvProtocol.getRgvNo()==1){ + log.info("璇荤嚎绋�,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()+"灏忚溅鏁版嵁锛�"+JSON.toJSONString(rgvProtocol)); + } OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId())); // // 宸ヤ綅1澶嶄綅淇″彿 // if (rgvProtocol.getStatusType().equals(RgvStatusType.WAITING) @@ -1198,9 +1214,8 @@ } // convertRow(command); // taskProtocol.setRgvNo(slave.getId()); - Long[] array = new Long[11]; +// Long[] array = new Long[11]; OperateResult result41 = siemensNet.Write("DB100.12.0", false); - // array[0] = taskProtocol.getAckFinish1(); // array[1] = taskProtocol.getTaskNo(); // array[2] = taskProtocol.getTaskMode(); @@ -1212,8 +1227,12 @@ OperateResult result1 = siemensNet.Write("DB100.4", (short) taskStatus); OperateResult result2 = siemensNet.Write("DB100.6", taskProtocol.getTaskNo().intValue()); OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 : (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� + Thread.sleep(20L); + this.wrkSign = 1; OperateResult result4 = siemensNet.Write("DB100.12.0", true); + log.info("浠诲姟涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()); + // if (taskProtocol.getAckFinish1() == 0) { // short commandFinish = 3; //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆 // Thread.sleep(100L); @@ -1241,6 +1260,7 @@ } catch (Exception ignore) { } + readStatus(); if (result != null && result.IsSuccess) { // Thread.sleep(50); // this.readStatus(); @@ -1269,6 +1289,7 @@ OperateResult result1 = siemensNet.Write("DB100.4", (short) 0); OperateResult result2 = siemensNet.Write("DB100.6", (int) 0); OperateResult result3 = siemensNet.Write("DB100.10", (short) 0); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級 true:宸� false:鍙� + log.info("浠诲姟瀹屾垚涓嬪彂绾跨▼,灏忚溅鍙�"+ slave.getId()+"鏃堕棿鎴筹細"+System.currentTimeMillis()); try { // 鏃ュ織璁板綍 -- Gitblit v1.9.1