From 3cf23392ce90c0a99835afe2db3a81206e093819 Mon Sep 17 00:00:00 2001 From: L <L@132> Date: 星期四, 25 九月 2025 10:02:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jshdwcs' into jshdwcs --- src/main/java/com/zy/core/thread/RgvThread.java | 61 ++++++++++++++++-------------- 1 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 1235f3e..4cfa9fa 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -100,7 +100,7 @@ } command.setRgvNo(slave.getId()); // RGV缂栧彿 command.setTaskNo1(0); // 宸ヤ綔鍙� - command.setAckFinish1(true); // 浠诲姟瀹屾垚纭浣� + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� command.setTaskStatus1(RgvTaskStatusType.NONE); // 浠诲姟妯″紡 command.setTargetPosition1( 0); // 婧愮珯 command.setEndStaNo1(0); // 鐩爣绔� @@ -116,9 +116,9 @@ } command2.setRgvNo(slave.getId()); // RGV缂栧彿 command2.setTaskNo2(0); // 宸ヤ綔鍙� - command2.setAckFinish2(true); // 浠诲姟瀹屾垚纭浣� + command2.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣� command2.setTaskStatus2(RgvTaskStatusType.NONE); // 浠诲姟妯″紡 - command2.setTargetPosition2( 0); // 婧愮珯 + command2.setTargetPosition2(0); // 婧愮珯 command2.setEndStaNo2(0); // 鐩爣绔� command2.setWrkTaskPri((short)0); command2.setWrkTaskMove2((short)0); @@ -131,11 +131,13 @@ command3 = new RgvCommand(); } command3.setRgvNo(slave.getId()); // RGV缂栧彿 - command3.setAckFinish1(true); // 浠诲姟瀹屾垚纭浣� + command3.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� command3.setTaskStatus1(RgvTaskStatusType.NONE); // 浠诲姟妯″紡 command3.setTargetPosition1( 0); // 婧愮珯 + command3.setWrkTaskMove1(task.getMoveSta() !=null ? task.getMoveSta() : 0); command3.setCommand(false); command3.setWrkTaskPri((short)0); + command3.setTaskNo1(Math.toIntExact(task.getWorkNo())); write1(command3); break; case 8 : @@ -144,11 +146,13 @@ command4 = new RgvCommand(); } command4.setRgvNo(slave.getId()); // RGV缂栧彿 - command4.setAckFinish2(true); // 浠诲姟瀹屾垚纭浣� + command4.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣� command4.setTaskStatus2(RgvTaskStatusType.NONE); // 浠诲姟妯″紡 - command4.setTargetPosition2( 0); // 灏忚溅鐩爣绔欐竻闆� + command4.setTargetPosition2(0); // 灏忚溅鐩爣绔欐竻闆� + command4.setWrkTaskMove2(task.getMoveSta() !=null ? task.getMoveSta() : 0); command4.setCommand(false); command4.setWrkTaskPri((short)0); + command4.setTaskNo2(Math.toIntExact(task.getWorkNo())); write2(command4); break; // 鍥炲師鐐� 閬胯 @@ -539,7 +543,7 @@ return false; } - OperateResultExOne<byte[]> result1 = siemensNet.Read("DB100.0", (short) 34); + OperateResultExOne<byte[]> result1 = siemensNet.Read("DB100.0", (short) 39); // OperateResultExOne<byte[]> result4 = siemensNet.Read("DB100.10", (short) 2); if (result1.IsSuccess){ RgvCommand one = new RgvCommand(); @@ -549,13 +553,6 @@ one.setTaskNo1(siemensNet.getByteTransform().TransInt32(result1.Content, 10)); one.setDirection1(siemensNet.getByteTransform().TransInt16(result1.Content, 14)); one.setWrkTaskMove1(siemensNet.getByteTransform().TransInt16(result1.Content, 36)); -// one.setAckFinish1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 0)); -// one.setTaskNo1(siemensNet.getByteTransform().TransInt16(result3.Content, 2)); -// one.setTaskMode1(siemensNet.getByteTransform().TransInt16(result3.Content, 4)); -// one.setSourceStaNo1(siemensNet.getByteTransform().TransInt16(result3.Content, 6)); -// one.setDestinationStaNo1(siemensNet.getByteTransform().TransInt16(result3.Content, 8)); -// one.setCommand(siemensNet.getByteTransform().TransInt16(result4.Content, 0)); - News.error("RGV鍛戒护涓嬪彂鍓嶈鍙栫姸鎬乕id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one)); } @@ -564,7 +561,7 @@ if (result2.IsSuccess){ News.error("涓嬪彂鍓嶆妸杞﹀瓙纭浣嶇疆涓篺alse"); } - byte[] writeBytes = new byte[34]; + byte[] writeBytes = new byte[40]; command.setRgvNo(slave.getId()); writeInt32(writeBytes, 0, command.getTargetPosition1()); @@ -573,7 +570,7 @@ writeInt32(writeBytes, 10, command.getTaskNo1()); writeInt16(writeBytes, 14, (short)command.getDirection1()); writeBool(writeBytes, 32, 0, command.getAckFinish1()); - writeInt16(writeBytes, 36, (short)command.getWrkTaskMove1()); + writeInt16(writeBytes, 38, (short)command.getWrkTaskMove1()); OperateResult result = siemensNet.Write("DB100.0", writeBytes); @@ -589,10 +586,10 @@ //RGV浠诲姟鍐欏叆鍚庯紝鍥炶涓�娆★紝鐪嬫槸鍚︽垚鍔� Thread.sleep(400); try { - OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 34); + OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 39); if (resultRead.IsSuccess){ RgvCommand one = new RgvCommand(); - one.setWrkTaskMove1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 36)); + one.setWrkTaskMove1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 38)); one.setDirection1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14)); one.setTaskNo1(siemensNet.getByteTransform().TransInt32(resultRead.Content, 10)); one.setTaskStatus1(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8)); @@ -628,7 +625,7 @@ News.error("RGV鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�"); } - if (command.getAckFinish1()) { + if (!command.getAckFinish1()) { if (result.IsSuccess) { Thread.sleep(300); //浠诲姟涓嬪彂娆℃暟 @@ -636,7 +633,10 @@ do { writeCount2++; - boolean commandFinish = false; + boolean commandFinish = true; + if(command.getCommand()){ + commandFinish = false; + } result = siemensNet.Write("DB100.32.0", commandFinish); if(result.IsSuccess){ //RGV浠诲姟鍐欏叆鍚庯紝鍥炶涓�娆★紝鐪嬫槸鍚︽垚鍔� @@ -708,10 +708,10 @@ return false; } - OperateResultExOne<byte[]> result1 = siemensNet.Read("DB100.0", (short) 34); + OperateResultExOne<byte[]> result1 = siemensNet.Read("DB100.0", (short) 40); if (result1.IsSuccess){ RgvCommand one = new RgvCommand(); - one.setTargetPosition2(siemensNet.getByteTransform().TransInt32(result1.Content, 16)); + one.setTargetPosition1(siemensNet.getByteTransform().TransInt32(result1.Content, 0)); one.setEndStaNo2(siemensNet.getByteTransform().TransInt32(result1.Content, 20)); one.setTaskStatus2(siemensNet.getByteTransform().TransInt16(result1.Content, 24)); one.setTaskNo2(siemensNet.getByteTransform().TransInt32(result1.Content, 26)); @@ -727,10 +727,10 @@ } - byte[] writeBytes = new byte[34]; + byte[] writeBytes = new byte[42]; command.setRgvNo(slave.getId()); - writeInt32(writeBytes, 16, command.getTargetPosition1()); + writeInt32(writeBytes, 0, command.getTargetPosition1()); writeInt32(writeBytes, 20, command.getEndStaNo2()); writeInt16(writeBytes, 24, (short)command.getTaskStatus2()); writeInt32(writeBytes, 26, command.getTaskNo2()); @@ -754,7 +754,7 @@ //RGV浠诲姟鍐欏叆鍚庯紝鍥炶涓�娆★紝鐪嬫槸鍚︽垚鍔� Thread.sleep(400); try { - OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 34); + OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 42); if (resultRead.IsSuccess){ RgvCommand one = new RgvCommand(); one.setWrkTaskMove2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 38)); @@ -762,13 +762,13 @@ one.setTaskNo2(siemensNet.getByteTransform().TransInt32(resultRead.Content, 26)); one.setTaskStatus2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24)); one.setEndStaNo2(siemensNet.getByteTransform().TransInt32(resultRead.Content, 20)); - one.setTargetPosition2(siemensNet.getByteTransform().TransInt32(resultRead.Content, 16)); + one.setTargetPosition1(siemensNet.getByteTransform().TransInt32(resultRead.Content, 0)); if ( !command.getDirection2().equals(one.getDirection2()) || !command.getTaskNo2().equals(one.getTaskNo2()) || !command.getTaskStatus2().equals(one.getTaskStatus2()) || !command.getEndStaNo2().equals(one.getEndStaNo2()) || - !command.getTargetPosition2().equals(one.getTargetPosition2()) || + !command.getTargetPosition1().equals(one.getTargetPosition1()) || !command.getWrkTaskMove2().equals(one.getWrkTaskMove2()) ) { try{ @@ -793,7 +793,7 @@ News.error("RGV鍛戒护鍦板潃鍐欏叆鍚庡洖璇诲嚭閿�"); } - if (command.getAckFinish1()) { + if (!command.getAckFinish2()) { if (result.IsSuccess) { Thread.sleep(300); //浠诲姟涓嬪彂娆℃暟 @@ -801,7 +801,10 @@ do { writeCount2++; - boolean commandFinish = false; + boolean commandFinish = true; + if(command.getCommand()){ + commandFinish = false; + } result = siemensNet.Write("DB100.32.1", commandFinish); if(result.IsSuccess){ //RGV浠诲姟鍐欏叆鍚庯紝鍥炶涓�娆★紝鐪嬫槸鍚︽垚鍔� -- Gitblit v1.9.1