From 1fdb2ee8b5482b53825815fb4f73a5bb0fd33b22 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期六, 22 六月 2024 14:55:55 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java | 66 +++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 19 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
index 5e3a669..10c3fba 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -52,11 +52,6 @@
return false;
}
- //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
- if (!liftThread.isIdle()) {
- return false;
- }
-
if (motionService.count(new LambdaQueryWrapper<Motion>()
.eq(Motion::getDeviceCtg, DeviceCtgType.LIFT.val())
.eq(Motion::getDevice, motion.getDevice())
@@ -83,6 +78,11 @@
List<LiftCommand> command = new ArrayList<>();
switch (Objects.requireNonNull(MotionCtgType.get(motion.getMotionCtgEl()))){
case LIFT_MOVE:
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle()) {
+ return false;
+ }
+
// 濡傛灉宸茬粡鍦ㄧ洰鏍囧眰锛岄偅杈瑰眰杩囨护
if (liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
liftThread.setSyncTaskNo(motion.getTaskNo());
@@ -93,6 +93,10 @@
list.addAll(command);
return liftAction.assignWork(liftThread.getDevice(), assignCommand);
case LIFT_WITH_GOODS:
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle()) {
+ return false;
+ }
// if (liftProtocol.getHasTray()) {
// return false;
// }
@@ -101,6 +105,11 @@
list.addAll(command);
return liftAction.assignWork(liftThread.getDevice(), assignCommand);
case LIFT_WITH_SHUTTLE:
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle()) {
+ return false;
+ }
+
if (!liftProtocol.getHasCar()) {
return false;
}
@@ -109,30 +118,46 @@
list.addAll(command);
return liftAction.assignWork(liftThread.getDevice(), assignCommand);
case LIFT_WITH_GOODS_AND_SHUTTLE:
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle()) {
+ return false;
+ }
+
return false;
-// if (!liftProtocol.getPlatShuttleCheck()) {
-// return false;
-// }
-//
-// command = liftThread.getLiftUpDownCommand(Integer.parseInt(motion.getTarget()));
-// command.setLiftNo(deviceNo.shortValue());
-// command.setTaskNo(motion.getWrkNo().shortValue());
-// return liftThread.assignWork(command);
case LIFT_TRANSPORT_TO_CONVEYOR:
return false;
case LIFT_LOCK:
//閿佸畾鎻愬崌鏈�
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle(MotionCtgType.LIFT_LOCK)) {
+ return false;
+ }
+
command = liftThread.getLockCommand(motion.getTaskNo(), true);//鑾峰彇鎻愬崌鏈洪攣瀹氬懡浠�
list.addAll(command);
return liftAction.assignWork(liftThread.getDevice(), assignCommand);
case LIFT_UNLOCK:
- //閿佸畾鎻愬崌鏈�
+ //瑙i攣鎻愬崌鏈�
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle(MotionCtgType.LIFT_UNLOCK)) {
+ return false;
+ }
+
command = liftThread.getLockCommand(motion.getTaskNo(), false);//鑾峰彇鎻愬崌鏈鸿В瀹氬懡浠�
+ list.addAll(command);
+ return liftAction.assignWork(liftThread.getDevice(), assignCommand);
+ case LIFT_SHUTTLE_ARRIVAL:
+ //鎻愬崌鏈�-灏忚溅宸插埌浣�
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚﹁嚜鍔�
+ if (!liftThread.isIdle(MotionCtgType.LIFT_SHUTTLE_ARRIVAL)) {
+ return false;
+ }
+
+ command = liftThread.getShuttleSignalCommand(motion.getTaskNo(), true);//鑾峰彇灏忚溅宸插埌浣嶅懡浠�
list.addAll(command);
return liftAction.assignWork(liftThread.getDevice(), assignCommand);
default:
break;
-
}
return Boolean.TRUE;
@@ -171,10 +196,6 @@
return false;
}
-// if (!liftProtocol.getLineFrontHasStock() || !liftProtocol.getLineEndHasStock()) {
-// return false;
-// }
-
if (!liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
return false;
}
@@ -205,6 +226,10 @@
return false;
}
+ if (!liftProtocol.getHasTray()) {
+ return false;
+ }
+
if (!liftProtocol.getLev().equals(Integer.valueOf(motion.getTarget()))) {
return false;
}
@@ -223,6 +248,9 @@
return false;
}
break;
+ case LIFT_SHUTTLE_ARRIVAL:
+
+ break;
default:
return false;
}
--
Gitblit v1.9.1