From aa4aa67abfdf69e30d5076451716e5aba11d5ec0 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期二, 14 四月 2026 16:12:40 +0800
Subject: [PATCH] 1
---
WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs
index 5d4674f..3b5763b 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGV/RGVJob_L2.cs
@@ -87,19 +87,24 @@
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt());
if (task != null)
{
- if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt())//RGV鍏ュ簱浠诲姟瀹屾垚
+ if (task.TaskType >= TaskTypeEnum.Inbound.ObjToInt())//RGV鍏ュ簱浠诲姟瀹屾垚
{
Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == task.NextAddress);
_taskService.UpdateTask(task, TaskStatusEnum.RGV_Finish, currentAddress: task.NextAddress, nextAddress: routers.NextPosi);
+ device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
}
else
{
//鍑哄簱浠诲姟鏄惁闇�瑕佽窡鍑哄簱鍙h緭閫佺嚎瀵规帴瀹屾垚浠诲姟
+ device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
WriteDebug(device.DeviceName, $"浠诲姟瀹屾垚,浠诲姟鍙�:{task.TaskNum}");
_taskService.TaskCompleted(task.TaskNum);
-
}
- device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
+ for (int i = 0; i < 3; i++)
+ {
+ device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode);
+ Thread.Sleep(100);
+ }
}
}
@@ -108,23 +113,31 @@
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_NEW.ObjToInt() && x.RGVCode == item.StationCode);
if (task != null)
{
- //鍐欏叆RGV浠诲姟
- device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task.TaskNum, item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task.SourceAddress.ObjToInt(), item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task.NextAddress.ObjToInt(), item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+ for (int i = 0; i < 3; i++)
+ {
+ //鍐欏叆RGV浠诲姟
+ device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task.TaskNum, item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task.SourceAddress.ObjToInt(), item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task.NextAddress.ObjToInt(), item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+ Thread.Sleep(1000);
+ }
_taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
}
- Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType <= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.RGVCode == item.StationCode);
+ Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType < TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.RGVCode == item.StationCode);
if (task1 != null)
{
- //鍐欏叆RGV浠诲姟
- device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task1.TaskNum, item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task1.CurrentAddress, item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task1.TargetAddress, item.StationCode);
- device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+ for (int i = 0; i < 3; i++)
+ {
+ //鍐欏叆RGV浠诲姟
+ device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task1.TaskNum, item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task1.CurrentAddress, item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task1.TargetAddress, item.StationCode);
+ device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode);
+ Thread.Sleep(1000);
+ }
_taskService.UpdateTask(task1, TaskStatusEnum.RGV_Executing);
}
}
--
Gitblit v1.9.3