From 0cc7b55a04bc96c76e8ac3b02793dff1c69e578a Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期二, 14 四月 2026 15:02:26 +0800
Subject: [PATCH] 1
---
WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/RGVJob_BC.cs | 60 +++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 39 insertions(+), 21 deletions(-)
diff --git "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs" "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs"
index e48dd7e..b77030a 100644
--- "a/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs"
+++ "b/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs"
@@ -87,48 +87,66 @@
Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == device.GetValue<R_ConveyorLineDB, int>(R_ConveyorLineDB.TaskNum) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt());
if (task != null)
{
- if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt())//RGV鍏ュ簱浠诲姟瀹屾垚
+ if (task.TaskType >= TaskTypeEnum.Inbound.ObjToInt())//RGV鍏ュ簱浠诲姟瀹屾垚
{
List<Dt_Router> routers = _routerService.QueryNextRoutes(task.NextAddress, task.Roadway, task.TaskType);
Dt_Router? router = routers.FirstOrDefault();
_taskService.UpdateTask(task, TaskStatusEnum.RGV_Finish, sourceAddress: router.NextPosi);
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
}
else
{
//鍑哄簱浠诲姟鏄惁闇�瑕佽窡鍑哄簱鍙h緭閫佺嚎瀵规帴瀹屾垚浠诲姟
WriteDebug(device.DeviceName, $"浠诲姟瀹屾垚,浠诲姟鍙�:{task.TaskNum}");
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
_taskService.TaskCompleted(task.TaskNum);
-
}
- device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ for (int i = 0; i < 3; i++)
+ {
+ device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode);
+ Thread.Sleep(100);
+ }
}
}
+ WriteDebug("RGV鐘舵�佽鍙栨棩蹇�", $"鑱旀満锛�:{device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Online)}锛岀┖闂诧紵{device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Free)}锛屾棤璐э紵{!device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Goods)}锛屼换鍔″彿涓�0锛焮device.GetValue<R_ConveyorLineDB, int>(R_ConveyorLineDB.TaskNum) == 0}锛屾棤鏁呴殰{!device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Alarm)}");
if (device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Online) && device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Free) && !device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Goods) && device.GetValue<R_ConveyorLineDB, int>(R_ConveyorLineDB.TaskNum) == 0 && !device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.Alarm))
{
- Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_NEW.ObjToInt());
+ Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_NEW.ObjToInt() && x.Roadway.Contains("BC"));
if (task != null)
{
- //鍐欏叆RGV浠诲姟
- device.SetValue(W_ConveyorLineDB.TaskNo, task.TaskNum, item.StationCode);
- device.SetValue(W_ConveyorLineDB.StartPos, task.SourceAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.TaskType, 2, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
- _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+ //鍐欏叆RGV鍏ュ簱浠诲姟
+ for (int i = 0; i < 3; i++)
+ {
+ device.SetValue(W_ConveyorLineDB.TaskNo, task.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.StartPos, task.SourceAddress, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.TaskType, 2, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
+ _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing);
+ }
+ WriteDebug(device.DeviceName, $"鍏ュ簱RGV浠诲姟鍙穥task.TaskNum}宸插啓鍏�");
}
- Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt());
- if (task1 != null)
+ else
{
- //鍐欏叆RGV浠诲姟
- device.SetValue(W_ConveyorLineDB.TaskNo, task1.TaskNum, item.StationCode);
- device.SetValue(W_ConveyorLineDB.StartPos, task1.SourceAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.TaskType, 2, item.StationCode);
- device.SetValue(W_ConveyorLineDB.EndPos, task1.NextAddress, item.StationCode);
- device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
-
- _taskService.UpdateTask(task1, 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.Roadway.Contains("BC"));
+ //鍐欏叆RGV鍑哄簱浠诲姟
+ if (task1 != null)
+ {
+ for (int i = 0; i < 3; i++)
+ {
+ device.SetValue(W_ConveyorLineDB.TaskNo, task1.TaskNum, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.StartPos, task1.SourceAddress, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.TaskType, 2, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.EndPos, task1.NextAddress, item.StationCode);
+ device.SetValue(W_ConveyorLineDB.STB, true, item.StationCode);
+ }
+ _taskService.UpdateTask(task1, TaskStatusEnum.RGV_Executing);
+ WriteDebug(device.DeviceName, $"鍑哄簱RGV浠诲姟鍙穥task1.TaskNum}宸插啓鍏�");
+ }
}
+
+
}
if (device.GetValue<R_ConveyorLineDB, bool>(R_ConveyorLineDB.ACK))
--
Gitblit v1.9.3