From b74b172daac9b2b21af1149bfcfb935bc879e5ef Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 25 十二月 2025 15:28:16 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java b/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java
index 2df5438..3e354a4 100644
--- a/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java
@@ -14,7 +14,7 @@
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
-import com.zy.core.enums.CrnTaskModeType;
+import com.zy.core.enums.DualCrnTaskModeType;
 import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.CommandResponse;
@@ -129,6 +129,7 @@
         crnProtocol.setForkPos(-1);
         crnProtocol.setLoaded(0);
         crnProtocol.setWalkPos(0);
+        crnProtocol.setLiftPos(0);
 
         //宸ヤ綅2
         crnProtocol.setTaskNoTwo(0);
@@ -138,6 +139,7 @@
         crnProtocol.setForkPosTwo(-1);
         crnProtocol.setLoadedTwo(0);
         crnProtocol.setWalkPosTwo(0);
+        crnProtocol.setLiftPosTwo(0);
 
         crnProtocol.setAlarm(0);
         crnProtocol.setXSpeed(0);
@@ -166,7 +168,6 @@
             OutputQueue.DUAL_CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧弻宸ヤ綅鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), deviceConfig.getDeviceNo(), deviceConfig.getIp(), deviceConfig.getPort()));
             return;
         }
-
         crnProtocol.setMode(crnStatus.getMode());
 
         //宸ヤ綅1
@@ -177,6 +178,8 @@
         crnProtocol.setForkPos(crnStatus.getForkPos());
         crnProtocol.setLoaded(crnStatus.getLoaded());
         crnProtocol.setWalkPos(crnStatus.getWalkPos());
+        crnProtocol.setLiftPos(crnStatus.getLiftPos());
+        crnProtocol.setTaskReceive(crnStatus.getTaskReceive());
 
         //宸ヤ綅2
         crnProtocol.setTaskNoTwo(crnStatus.getTaskNoTwo());
@@ -186,6 +189,8 @@
         crnProtocol.setForkPosTwo(crnStatus.getForkPosTwo());
         crnProtocol.setLoadedTwo(crnStatus.getLoadedTwo());
         crnProtocol.setWalkPosTwo(crnStatus.getWalkPosTwo());
+        crnProtocol.setLiftPosTwo(crnStatus.getLiftPosTwo());
+        crnProtocol.setTaskReceiveTwo(crnStatus.getTaskReceiveTwo());
 
         crnProtocol.setAlarm(crnStatus.getAlarm());
         crnProtocol.setTemp1(crnStatus.getTemp1());
@@ -272,10 +277,38 @@
         DualCrnCommand crnCommand = new DualCrnCommand();
         crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
         crnCommand.setTaskNo(taskNo.shortValue()); // 宸ヤ綔鍙�
-        crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE.id.shortValue()); // 浠诲姟妯″紡:  搴撲綅绉昏浆
+        crnCommand.setTaskMode(DualCrnTaskModeType.TRANSFER.id.shortValue()); // 浠诲姟妯″紡:  鍙栨斁璐�
         crnCommand.setSourcePosX((short) Utils.getRow(sourceLocNo));     // 婧愬簱浣嶆帓
         crnCommand.setSourcePosY((short) Utils.getBay(sourceLocNo));     // 婧愬簱浣嶅垪
         crnCommand.setSourcePosZ((short) Utils.getLev(sourceLocNo));     // 婧愬簱浣嶅眰
+        crnCommand.setDestinationPosX((short) Utils.getRow(targetLocNo));     // 鐩爣搴撲綅鎺�
+        crnCommand.setDestinationPosY((short) Utils.getBay(targetLocNo));     // 鐩爣搴撲綅鍒�
+        crnCommand.setDestinationPosZ((short) Utils.getLev(targetLocNo));     // 鐩爣搴撲綅灞�
+        crnCommand.setStation(station.shortValue());//宸ヤ綅
+        crnCommand.setCommand((short) 1);     // 浠诲姟纭
+        return crnCommand;
+    }
+
+    @Override
+    public DualCrnCommand getPickCommand(String targetLocNo, Integer taskNo, Integer crnNo, Integer station) {
+        DualCrnCommand crnCommand = new DualCrnCommand();
+        crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+        crnCommand.setTaskNo(taskNo.shortValue()); // 宸ヤ綔鍙�
+        crnCommand.setTaskMode(DualCrnTaskModeType.PICK.id.shortValue()); // 浠诲姟妯″紡:  鍙栬揣
+        crnCommand.setDestinationPosX((short) Utils.getRow(targetLocNo));     // 鐩爣搴撲綅鎺�
+        crnCommand.setDestinationPosY((short) Utils.getBay(targetLocNo));     // 鐩爣搴撲綅鍒�
+        crnCommand.setDestinationPosZ((short) Utils.getLev(targetLocNo));     // 鐩爣搴撲綅灞�
+        crnCommand.setStation(station.shortValue());//宸ヤ綅
+        crnCommand.setCommand((short) 1);     // 浠诲姟纭
+        return crnCommand;
+    }
+
+    @Override
+    public DualCrnCommand getPutCommand(String targetLocNo, Integer taskNo, Integer crnNo, Integer station) {
+        DualCrnCommand crnCommand = new DualCrnCommand();
+        crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
+        crnCommand.setTaskNo(taskNo.shortValue()); // 宸ヤ綔鍙�
+        crnCommand.setTaskMode(DualCrnTaskModeType.PUT.id.shortValue()); // 浠诲姟妯″紡:  鏀捐揣
         crnCommand.setDestinationPosX((short) Utils.getRow(targetLocNo));     // 鐩爣搴撲綅鎺�
         crnCommand.setDestinationPosY((short) Utils.getBay(targetLocNo));     // 鐩爣搴撲綅鍒�
         crnCommand.setDestinationPosZ((short) Utils.getLev(targetLocNo));     // 鐩爣搴撲綅灞�
@@ -289,8 +322,7 @@
         DualCrnCommand crnCommand = new DualCrnCommand();
         crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
         crnCommand.setTaskNo(taskNo.shortValue()); // 宸ヤ綔鍙�
-        crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        crnCommand.setTaskMode(CrnTaskModeType.CRN_MOVE.id.shortValue()); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
+        crnCommand.setTaskMode(DualCrnTaskModeType.MOVE.id.shortValue()); // 浠诲姟妯″紡:  鍫嗗灈鏈虹Щ鍔�
         crnCommand.setDestinationPosX((short) Utils.getRow(targetLocNo));     // 鐩爣搴撲綅鎺�
         crnCommand.setDestinationPosY((short) Utils.getBay(targetLocNo));     // 鐩爣搴撲綅鍒�
         crnCommand.setDestinationPosZ((short) Utils.getLev(targetLocNo));     // 鐩爣搴撲綅灞�
@@ -303,8 +335,7 @@
         DualCrnCommand crnCommand = new DualCrnCommand();
         crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
         crnCommand.setTaskNo((short) 0); // 宸ヤ綔鍙�
-        crnCommand.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
-        crnCommand.setTaskMode(CrnTaskModeType.NONE.id.shortValue()); // 浠诲姟妯″紡
+        crnCommand.setTaskMode(DualCrnTaskModeType.CONFIRM.id.shortValue()); // 浠诲姟妯″紡:  纭
         crnCommand.setSourcePosX((short)0);     // 婧愬簱浣嶆帓
         crnCommand.setSourcePosY((short)0);     // 婧愬簱浣嶅垪
         crnCommand.setSourcePosZ((short)0);     // 婧愬簱浣嶅眰

--
Gitblit v1.9.1