From dc3f9cc91759823ce59486f19b138be4b296a0f1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 28 四月 2026 09:43:28 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java | 28 ++++++++++++++++++++++++----
1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java b/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
index c511d51..3475ddf 100644
--- a/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
@@ -171,6 +171,7 @@
crnProtocol.setWalkPos(crnStatus.getWalkPos());
crnProtocol.setLoaded(crnStatus.getLoaded());
crnProtocol.setAlarm(crnStatus.getAlarm());
+ crnProtocol.setLaserValue(crnStatus.getLaserValue());
crnProtocol.setTemp1(crnStatus.getTemp1());
crnProtocol.setTemp2(crnStatus.getTemp2());
crnProtocol.setTemp3(crnStatus.getTemp3());
@@ -258,14 +259,15 @@
@Override
public CrnCommand getPickAndPutCommand(String sourceLocNo, String targetLocNo, Integer taskNo, Integer crnNo) {
+ BasCrnp basCrnp = getBasCrnp(crnNo);
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(taskNo); // 宸ヤ綔鍙�
crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE.id); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(Utils.getRow(sourceLocNo)); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosX(resolveCommandRow(sourceLocNo, basCrnp)); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(Utils.getBay(sourceLocNo)); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(Utils.getLev(sourceLocNo)); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getRow(targetLocNo)); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosX(resolveCommandRow(targetLocNo, basCrnp)); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY(Utils.getBay(targetLocNo)); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(Utils.getLev(targetLocNo)); // 鐩爣搴撲綅灞�
crnCommand.setCommand(1); // 浠诲姟纭
@@ -274,21 +276,39 @@
@Override
public CrnCommand getMoveCommand(String targetLocNo, Integer taskNo, Integer crnNo) {
+ Integer targetRow = resolveCommandRow(targetLocNo, crnNo);
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(taskNo); // 宸ヤ綔鍙�
crnCommand.setAckFinish(0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.CRN_MOVE.id); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔�
- crnCommand.setSourcePosX(Utils.getRow(targetLocNo)); // 鐩爣搴撲綅鎺�
+ crnCommand.setSourcePosX(targetRow); // 鐩爣搴撲綅鎺�
crnCommand.setSourcePosY(Utils.getBay(targetLocNo)); // 鐩爣搴撲綅鍒�
crnCommand.setSourcePosZ(Utils.getLev(targetLocNo)); // 鐩爣搴撲綅灞�
- crnCommand.setDestinationPosX(Utils.getRow(targetLocNo)); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosX(targetRow); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY(Utils.getBay(targetLocNo)); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(Utils.getLev(targetLocNo)); // 鐩爣搴撲綅灞�
crnCommand.setCommand(1); // 浠诲姟纭
return crnCommand;
}
+ private Integer resolveCommandRow(String locNo, Integer crnNo) {
+ return resolveCommandRow(locNo, getBasCrnp(crnNo));
+ }
+
+ private Integer resolveCommandRow(String locNo, BasCrnp basCrnp) {
+ Integer locationRow = Utils.getRow(locNo);
+ if (basCrnp == null) {
+ return locationRow;
+ }
+ return basCrnp.getCommandRow(locationRow);
+ }
+
+ private BasCrnp getBasCrnp(Integer crnNo) {
+ BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+ return basCrnpService.getById(crnNo);
+ }
+
@Override
public CrnCommand getResetCommand(Integer taskNo, Integer crnNo) {
CrnCommand crnCommand = new CrnCommand();
--
Gitblit v1.9.1