From 2f8fc989f339a936b01092caebd4c46e6109da1b Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 16 十二月 2025 11:29:37 +0800
Subject: [PATCH] 代码提交

---
 WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/RGVJob_BC.cs |   53 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 34 insertions(+), 19 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 7b640ff..5711323 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"
@@ -100,37 +100,52 @@
                                     _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());
                             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.TaskType <= TaskTypeEnum.Inbound.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);
-                                WriteDebug(device.DeviceName, $"鍑哄簱RGV浠诲姟鍙穥task1.TaskNum}宸插啓鍏�");
+                                Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType <= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt());
+                                //鍐欏叆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