From f9e8a2d52fe52fb2389892a46c12d4d262ee9aaf Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期六, 29 十一月 2025 16:53:28 +0800
Subject: [PATCH] 增加提升机可进行一次进俩托物料出入库
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs | 69 ++++++++++++++++++++++++----------
1 files changed, 49 insertions(+), 20 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
index 3a713f6..bedaecb 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs"
@@ -91,13 +91,31 @@
if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
{
- if (task.Floor == "1F")
+ if (task.DoubleTray != 1)
{
- elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
+ if (task.Floor == "1F")
+ {
+ elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
+ }
+ else
+ {
+ elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
+ }
}
else
{
- elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
+ var taskDouble = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarryFinish && x.DoubleTray==1);
+ if (taskDouble != null)
+ {
+ if (task.Floor == "1F")
+ {
+ elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
+ }
+ else
+ {
+ elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
+ }
+ }
}
_taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
@@ -107,8 +125,12 @@
_taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
-
- if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
+ else if(task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
+ {
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ }
+
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.RelocationGroup)
{
_taskService.UpdateTaskStatusToNext(task.TaskNum);
}
@@ -121,14 +143,8 @@
}
else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
{
- commonConveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9990));
commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
- Thread.Sleep(1000);
- commonConveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9990));
- commonConveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum));
- task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
- _taskRepository.UpdateData(task);
_taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
@@ -153,25 +169,40 @@
if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
{
- if (task.Floor == "1F")
+ if (task.DoubleTray != 1)
{
- elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
+ if (task.Floor == "1F")
+ {
+ elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
+ }
+ else
+ {
+ elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
+ }
}
else
{
- elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
+ var taskDouble = _taskRepository.QueryFirst(x => x.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry && x.DoubleTray == 1 && x.PalletCode != task.PalletCode);
+ if (taskDouble == null)
+ {
+ if (task.Floor == "1F")
+ {
+ elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
+ }
+ else
+ {
+ elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
+ }
+ }
}
- //task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
- //_taskRepository.UpdateData(task);
_taskService.UpdateTaskStatusToNext(task.TaskNum);
+ content.OK();
}
if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001");
- //task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
- //_taskRepository.UpdateData(task);
_taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
@@ -230,8 +261,6 @@
if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1)
{
_taskService.ContinueAgvTask(task.AGVTaskNum);
- //task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
- //_taskRepository.UpdateData(task);
_taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
--
Gitblit v1.9.3