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