From 4ad3a6e5540c5ca9d6042fc2fb7d72fa18c49c15 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期三, 06 八月 2025 12:51:48 +0800 Subject: [PATCH] 保存一个版本 --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 53 ++++++++++++++++++++++---- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java | 1 zy-acs-common/src/main/java/com/zy/acs/common/enums/AgvActionCmdType.java | 2 + zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/RunToWaitHeight.java | 33 ++++++++++++++++ 4 files changed, 81 insertions(+), 8 deletions(-) diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/RunToWaitHeight.java b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/RunToWaitHeight.java new file mode 100644 index 0000000..9f31d64 --- /dev/null +++ b/zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/action/RunToWaitHeight.java @@ -0,0 +1,33 @@ +package com.zy.acs.common.domain.protocol.action; + +import com.zy.acs.common.domain.protocol.IActionBody; +import com.zy.acs.common.utils.Utils; +import com.zy.acs.framework.common.RadixTools; +import lombok.Data; + +import java.io.Serializable; + +/** + * 鍘诲緟鏈轰綅锛屽皢璐у弶鍗囪嚦鎸囧畾楂樺害 + * 灞炴�у�硷細鏂瑰悜锛屽乏1 鍙�2 + * Created by vincent on 2023/3/23 + */ +@Data +public class RunToWaitHeight implements IActionBody, Serializable { + + private static final long serialVersionUID = 6496283344148393737L; + + @Override + public byte[] writeToBytes() { + return Utils.reverse(RadixTools.shortToByte(this.height)); + } + + @Override + public void readFromBytes(byte[] messageBodyBytes) { + + } + + // 楂樺害 + private Short height; + +} diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/enums/AgvActionCmdType.java b/zy-acs-common/src/main/java/com/zy/acs/common/enums/AgvActionCmdType.java index 2240884..b94b116 100644 --- a/zy-acs-common/src/main/java/com/zy/acs/common/enums/AgvActionCmdType.java +++ b/zy-acs-common/src/main/java/com/zy/acs/common/enums/AgvActionCmdType.java @@ -29,6 +29,8 @@ READY_RELEASE_FROM_SHELVES_LOC(0x78, "鍑嗗寰�璐ф灦鏀捐揣", ReadyReleaseToShelvesLoc.class), + RUN_TO_WAIT_HEIGHT(0x79, "璐у弶杩愯鑷冲緟鏈洪珮搴�", RunToWaitHeight.class), + READY_TAKE_FROM_CONVEYOR_STA(0x7B, "鍑嗗浠庤緭閫佺嚎鍙栬揣", ReadyTakeFromConveyorSta.class), READY_RELEASE_FROM_CONVEYOR_STA(0x7C, "鍑嗗寰�杈撻�佺嚎鏀捐揣", ReadyReleaseToConveyorSta.class), diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java index 2092f91..0370dc5 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java @@ -989,7 +989,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.TurnCorner.desc, // 鍚嶇О - mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 灞炴�у�� + mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� String.valueOf(oriStaWorkDirection), // 鍔ㄤ綔鍙傛暟 ActionTypeType.TurnCorner.val(), // 鍔ㄤ綔绫诲瀷 @@ -1025,7 +1025,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.ReadyReleaseToAgvSite.desc, // 鍚嶇О - (double) backpackType.lev, // 灞炴�у�� + (double) backpackType.lev, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� String.valueOf(backpackType.height), // 鍔ㄤ綔鍙傛暟 ActionTypeType.ReadyReleaseToAgvSite.val(), // 鍔ㄤ綔绫诲瀷 @@ -1051,7 +1051,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.TurnCorner.desc, // 鍚嶇О - mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 灞炴�у�� + mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� String.valueOf(destStaWorkDirection), // 鍔ㄤ綔鍙傛暟 ActionTypeType.TurnCorner.val(), // 鍔ㄤ綔绫诲瀷 @@ -1070,7 +1070,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.ReadyTakeFromAgvSite.desc, // 鍚嶇О - (double) backpackType.lev, // 灞炴�у�� + (double) backpackType.lev, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� String.valueOf(backpackType.height), // 鍔ㄤ綔鍙傛暟 ActionTypeType.ReadyTakeFromAgvSite.val(), // 鍔ㄤ綔绫诲瀷 @@ -1087,7 +1087,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.ReadyReleaseToConveyorSta.desc, // 鍚嶇О - staWorkDirection, // 灞炴�у�� + staWorkDirection, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� String.valueOf(destSta.getOffset()), // 鍔ㄤ綔鍙傛暟 ActionTypeType.ReadyReleaseToConveyorSta.val(), // 鍔ㄤ綔绫诲瀷 @@ -1108,7 +1108,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.TurnCorner.desc, // 鍚嶇О - mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 灞炴�у�� + mapService.isTurnCorner(lastCode.getData()) ? 1D : 0D, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� String.valueOf(chargeDirection), // 鍔ㄤ綔鍙傛暟 ActionTypeType.TurnCorner.val(), // 鍔ㄤ綔绫诲瀷 @@ -1127,7 +1127,7 @@ null, // 鍔ㄤ綔鍙� null, // 浼樺厛绾� ActionTypeType.DockingCharge.desc, // 鍚嶇О - null, // 灞炴�у�� + null, // 灞炴�ш皰 lastCode.getData(), // 鍦伴潰鐮� null, // 鍔ㄤ綔鍙傛暟 ActionTypeType.DockingCharge.val(), // 鍔ㄤ綔绫诲瀷 @@ -1147,7 +1147,7 @@ // null, // 鍔ㄤ綔鍙� // null, // 浼樺厛绾� // ActionTypeType.TurnCorner.desc, // 鍚嶇О -// null, // 灞炴�у�� +// null, // 灞炴�ш皰 // lastCode.getData(), // 鍦伴潰鐮� // String.valueOf(standByDirection), // 鍔ㄤ綔鍙傛暟 // ActionTypeType.TurnCorner.val(), // 鍔ㄤ綔绫诲瀷 @@ -1157,6 +1157,36 @@ // )); // lastDirection = standByDirection; // } + String runToWaitHeightFlag = configService.getVal("RunToWaitHeightFlag", String.class); + if (!Cools.isEmpty(runToWaitHeightFlag) && runToWaitHeightFlag.contains(agvId.toString())) { + String runToWaitHeight = configService.getVal("RunToWaitHeight", String.class); + if (Cools.isEmpty(runToWaitHeight)) { + runToWaitHeight = "800"; + } + Double runToWaitHeightValue = configService.getVal("RunToWaitHeightValue", Double.class); + if (Cools.isEmpty(runToWaitHeight) || runToWaitHeightValue == 0) { + runToWaitHeightValue = 1D; + } + // 淇绌烘寚閽堝紓甯革細妫�鏌astCode鏄惁涓簄ull + if (lastCode == null) { + throw new BusinessException("AGV瀹氫綅淇℃伅寮傚父锛屾棤娉曠敓鎴愬緟鏈哄姩浣�"); + } + actionList.add(new Action( + null, // 缂栧彿 + task.getBusId(), // 鎬荤嚎 + task.getId(), // 浠诲姟 + null, // 鍔ㄤ綔鍙� + null, // 浼樺厛绾� + ActionTypeType.RunToWaitHeight.desc, // 鍚嶇О + runToWaitHeightValue, // 灞炴�ш皰 + lastCode.getData(), // 鍦伴潰鐮� + runToWaitHeight, // 鍔ㄤ綔鍙傛暟 + ActionTypeType.RunToWaitHeight.val(), // 鍔ㄤ綔绫诲瀷 + actionPrepareSts, // 鍔ㄤ綔杩涘害 + agvId, // AGV + now // 宸ヤ綔鏃堕棿 + )); + } break; case MOVE: break; @@ -1341,6 +1371,13 @@ .bodySync(body -> body.setDepth((short) Double.parseDouble(action.getParams()))) ); break; + case RunToWaitHeight: + agvAction.add(new AgvActionItem<>(RunToWaitHeight.class) + .setVal(action.getVal().intValue()) + .setQrCode(action.getCode()) + .bodySync(body -> body.setHeight((short) Double.parseDouble(action.getParams()))) + ); + break; case FinishPath: agvAction.add(new AgvActionItem<>(FinishPathAction.class) .setQrCode(action.getCode()) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java index 6aa6718..e229b9b 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/ActionTypeType.java @@ -21,6 +21,7 @@ ReadyReleaseToShelvesLoc("鍑嗗寰�璐ф灦鏀捐揣"), // 鍑嗗浠庤揣鏋舵斁璐� ReadyReleaseToConveyorSta("鍑嗗寰�杈撻�佺嚎鏀捐揣"), // 鍑嗗寰�杈撻�佺嚎鏀捐揣 ReadyReleaseToAgvSite("鍑嗗寰�AGV鏆傚瓨璐т綅鏀捐揣"), // 鍑嗗寰�AGV鏆傚瓨璐т綅鏀捐揣 + RunToWaitHeight("璐у弶杩愯鑷冲緟鏈洪珮搴�"), // 璐у弶杩愯鑷冲緟鏈洪珮搴� FinishPath("鏁翠釜璺緞缁撴潫"), // 鏁翠釜璺緞缁撴潫 DockingCharge("瀵规帴鍏呯數妗�"), // 瀵规帴鍏呯數妗� ; -- Gitblit v1.9.1