From 4dfe8ece141f05a163cf7d290b6fe4c520d89909 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 31 十月 2025 17:28:33 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs | 205 +++++++++++++++++++++++----------------------------
1 files changed, 93 insertions(+), 112 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 91883ea..a8c0dc3 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"
@@ -88,45 +88,48 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
{
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
+ if (task.Floor == "1F")
{
- if (task.Floor == "1F")
- {
- elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
- }
- else
- {
- elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
- }
- _taskService.UpdateTaskStatusToNext(task.TaskNum);
- content.OK();
+ elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1);
}
- else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting)
+ else
{
- _taskService.UpdateTaskStatusToNext(task.TaskNum);
- content.OK();
+ elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1);
}
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ content.OK();
}
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup)
+ else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting)
+ {
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
+ content.OK();
+ }
+
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
{
_taskService.UpdateTaskStatusToNext(task.TaskNum);
}
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
if (task.TaskState == (int)TaskOutStatusEnum.AGV_OutExecuting)
{
_taskService.UpdateTaskStatusToNext(task.TaskNum);
}
}
- else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+ else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
{
+ commonConveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9990));
commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001");
- commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990);
+
+ Thread.Sleep(1000);
+ commonConveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9990));
commonConveyorLine.Communicator.WriteNoRead("DB100.4", Convert.ToInt16(task.TaskNum));
- task.TaskState = (int)TaskInStatusEnum.Line_InExecuting;
+ task.TaskState = (int)TaskInStatusEnum.AGV_InFinish;
_taskRepository.UpdateData(task);
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
}
@@ -147,28 +150,28 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
- {
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
- {
- if (task.Floor == "1F")
- {
- elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
- }
- else
- {
- elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
- }
- task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
- _taskRepository.UpdateData(task);
- }
- }
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+ {
+ if (task.Floor == "1F")
+ {
+ elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1);
+ }
+ else
+ {
+ elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
+ }
+ task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
+ _taskRepository.UpdateData(task);
+ }
+
+
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001");
- task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
- _taskRepository.UpdateData(task);
+ //task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
+ //_taskRepository.UpdateData(task);
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
}
@@ -189,48 +192,46 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
{
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry)
+ if (task.Floor == "1F")
{
- if (task.Floor == "1F")
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1)
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPickUp";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁稿彇璐�");
- }
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
}
else
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPickUp";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁稿彇璐�");
- }
+ task.AGVSign = "RequestPickUp";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁稿彇璐�");
+ }
+ }
+ else
+ {
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1)
+ {
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
+ }
+ else
+ {
+ task.AGVSign = "RequestPickUp";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁稿彇璐�");
}
}
}
-
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
{
if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1)
{
_taskService.ContinueAgvTask(task.AGVTaskNum);
- task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
- _taskRepository.UpdateData(task);
+ //task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
+ //_taskRepository.UpdateData(task);
+ _taskService.UpdateTaskStatusToNext(task.TaskNum);
content.OK();
}
else
@@ -260,42 +261,39 @@
WebResponseContent content = new WebResponseContent();
try
{
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup)
+
+ if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
{
- if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry)
+ if (task.Floor == "1F")
{
- if (task.Floor == "1F")
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1)
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPut";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁告斁璐�");
- }
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
}
else
{
- if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1)
- {
- _taskService.ContinueAgvTask(task.AGVTaskNum);
- content.OK();
- }
- else
- {
- task.AGVSign = "RequestPut";
- _taskRepository.UpdateData(task);
- content.Error("璁惧涓嶅厑璁告斁璐�");
- }
+ task.AGVSign = "RequestPut";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁告斁璐�");
+ }
+ }
+ else
+ {
+ if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1)
+ {
+ _taskService.ContinueAgvTask(task.AGVTaskNum);
+ content.OK();
+ }
+ else
+ {
+ task.AGVSign = "RequestPut";
+ _taskRepository.UpdateData(task);
+ content.Error("璁惧涓嶅厑璁告斁璐�");
}
}
}
-
- if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
+ if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup)
{
if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "LK001") == 1)
{
@@ -323,22 +321,5 @@
#endregion
- #region 鑾峰彇AGV浠诲姟鍙�
-
- private static readonly Random _random = new Random();
-
-
- public static string GenerateUniqueId()
- {
- // 鑾峰彇褰撳墠姣绾ф椂闂存埑
- long timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds();
-
- // 鐢熸垚4浣嶉殢鏈烘暟锛�0000-9999锛�
- int randomNumber = _random.Next(0, 10000);
- string randomPart = randomNumber.ToString("D4"); // 琛ラ浂鍒�4浣�
-
- return $"{timestamp}{randomPart}";
- }
- #endregion
}
}
--
Gitblit v1.9.3