From 152a81472f4a8a593950ef19d716df1c82098a6c Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期一, 17 十一月 2025 08:48:47 +0800
Subject: [PATCH] 堆垛机移库任务等待确认调整

---
 src/main/java/com/zy/core/thread/SiemensCrnThread.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index b74fae7..babbb57 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -75,6 +75,7 @@
                     // 鍐欏叆鏁版嵁 1鍙峰伐浣�
                     case 2:
                         CrnCommand data = (CrnCommand) task.getData();
+                        crnProtocol.setLastCommandTime(System.currentTimeMillis());
                         if (data.getPltType() == null || data.getPltType() == 1) {
                             write(data);
                         } else if (data.getPltType() == 2) {
@@ -225,7 +226,7 @@
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
 
                 // 澶嶄綅淇″彿
-                if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+                if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING) && crnProtocol.getTaskNo() != null && crnProtocol.getTaskNo() != 0) {
 //                    if (crnProtocol.getTaskNo() == 0){
 //                        News.error("鍫嗗灈鏈哄伐浣�1宸ヤ綔鍙蜂负0锛屼笉浜堢‘璁わ紝宸ヤ綅1{}",crnProtocol.getLoaded() == 1 ? "鏈夌墿" : "鏃犵墿");
 //                        return;
@@ -248,7 +249,7 @@
                 }
 
                 // 澶嶄綅淇″彿
-                if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING)) {
+                else if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING) && crnProtocol.getTaskNoTwo() != null && crnProtocol.getTaskNoTwo() != 0) {
 //                    if (crnProtocol.getTaskNoTwo() == 0){
 //                        News.error("鍫嗗灈鏈哄伐浣�2宸ヤ綔鍙蜂负0锛屼笉浜堢‘璁わ紝宸ヤ綅2{}",crnProtocol.getLoadedTwo() == 1 ? "鏈夌墿" : "鏃犵墿");
 //                        return;
@@ -533,8 +534,8 @@
 //        convertRow(command);
         command.setCrnNo(slave.getId());
 //        short[] array = new short[10];
-        short[] array = new short[9];
-        //array[0] = command.getAckFinish(); // 浠诲姟瀹屾垚纭浣�
+        short[] array = new short[10];
+//        array[0] = command.getAckFinish(); // 浠诲姟瀹屾垚纭浣�
         array[0] = command.getTaskNo();  // 浠诲姟鍙�
         array[1] = command.getTaskMode();  // 妯″紡
         array[2] = command.getSourcePosX(); // 婧愪綅缃帓鍙�
@@ -548,9 +549,15 @@
 
         short[] array2 = new short[1];
         array2[0] = command.getAckFinish();
-        OperateResult result = siemensNet.Write("DB100.20", array);
         OperateResult result2 = siemensNet.Write("DB100.0", array2);
+        try {
+            Thread.sleep(100);
+        } catch (Exception e) {
+
+        }
+        OperateResult result = siemensNet.Write("DB100.20", array);
         News.info("鍫嗗灈鏈哄伐浣�2鍛戒护涓嬪彂[id:{}] >>>>> {}", slave.getId(), array);
+        News.info("鍫嗗灈鏈哄伐浣�2浠诲姟瀹屾垚纭浣嶄笅鍙慬id:{}] >>>>> {}", slave.getId(), array2);
 
         int writeCount1 = 1;
         do {
@@ -558,7 +565,7 @@
                 if (!result.IsSuccess || !result2.IsSuccess) {
 //                    if (!resetFlag){
                     News.error("鍐欏叆鍫嗗灈鏈哄伐浣�2plc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
-                    result = siemensNet.Write("DB100.0", array);
+                    result = siemensNet.Write("DB100.20", array);
 //                    }
                     Thread.sleep(100);
                     writeCount1++;
@@ -599,7 +606,13 @@
                         }
 //                        if (!resetFlag){
                         News.error("鍐欏叆鍫嗗灈鏈哄伐浣�2plc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command), writeCount1);
-                        result = siemensNet.Write("DB100.0", array);
+                        result = siemensNet.Write("DB100.20", array);
+                        try {
+                            Thread.sleep(100);
+                        } catch (Exception e) {
+
+                        }
+                        result2 = siemensNet.Write("DB100.0", array2);
 //                        }
                         writeCount1++;
                         continue;

--
Gitblit v1.9.1