duyongjia
2024-12-03 14aaca9a2e1da2849d602487a52094ee26bbe30a
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/DoubleStackerCraneJob.cs
@@ -52,7 +52,7 @@
        public  Task Execute(IJobExecutionContext context)
        {
            //WriteDebug("小堆垛机运行日志", "开始时间" + DateTime.Now);
            CommonStackerCrane? stackerCraneOne = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC02") as CommonStackerCrane;
            CommonStackerCrane? stackerCraneTwo = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "SC03") as CommonStackerCrane;
          
@@ -66,7 +66,7 @@
                    CommonStackerCrane? StackerCrane = GetStrackerCrane(task, stackerCraneOne, stackerCraneTwo);
                    if (StackerCrane != null)
                    {
                        WriteDebug("小堆垛机运行日志", $"小堆垛机任务号{task.TaskNum}");
                        WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机任务号{task.TaskNum}");
                        StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
                        if (stackerCraneTaskCommand != null)
                        {
@@ -79,8 +79,8 @@
                            }
                            else
                            {
                                _taskService.UpdateTaskExceptionMessage(task.TaskNum, "堆垛机执行任务命令失败!");
                                WriteDebug(nameof(DoubleStackerCraneJob), "堆垛机执行任务命令失败!");
                                _taskService.UpdateTaskExceptionMessage(task.TaskNum, "堆垛机发送任务命令失败!");
                                WriteDebug(nameof(DoubleStackerCraneJob), $"堆垛机发送任务命令失败!{task.TaskNum}");
                            }
                        }
@@ -98,9 +98,7 @@
                WriteError(nameof(DoubleStackerCraneJob), "小堆垛机执行任务异常!", ex);
            }
            //读取堆垛机任务号和任务完成确认状态
            //Task.Run(delegate
            //{
            try
            {
@@ -108,7 +106,7 @@
                {
                    byte IsOver = stackerCraneOne.Communicator.Read<byte>("DB106.22");
                    int tasknum = stackerCraneOne.Communicator.Read<int>("DB106.18");
                   // WriteDebug(nameof(DoubleStackerCraneJob), $"读取小堆垛机SC02任务完成信号值:{IsOver}任务号:{tasknum}");
                    WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机SC02任务号堆垛机任务号:{tasknum}状态:{IsOver}");
                    if (IsOver == 6)
                    {
                        if (stackerCraneOne.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
@@ -116,14 +114,6 @@
                            _taskService.StackCraneTaskCompleted(tasknum);
                            Console.Out.WriteLine("TaskCompleted" + tasknum);
                            bool issuccess = stackerCraneOne.SetValue(StackerCraneDBName.WorkType, 5);
                            if (issuccess)
                            {
                                WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机SC02任务号写入任务完成确认值5成功{tasknum}");
                            }
                            else
                            {
                                WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机SC02任务号写入任务完成确认值5失败{tasknum}");
                            }
                        }
                    }
@@ -134,7 +124,7 @@
                    //读取堆垛机任务号和任务完成确认状态
                    byte IsOver = stackerCraneTwo.Communicator.Read<byte>("DB106.22");
                    int tasknum = stackerCraneTwo.Communicator.Read<int>("DB106.18");
                   // WriteDebug(nameof(DoubleStackerCraneJob), $"读取小堆垛机SC03任务完成信号值:{IsOver}任务号:{tasknum}");
                    WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机SC03任务号堆垛机任务号:{tasknum}状态:{IsOver}");
                    if (IsOver == 6)
                    {
                        if (stackerCraneTwo.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
@@ -142,27 +132,18 @@
                            _taskService.StackCraneTaskCompleted(tasknum);
                            Console.Out.WriteLine("TaskCompleted" + tasknum);
                            bool issuccess = stackerCraneTwo.SetValue(StackerCraneDBName.WorkType, 5);
                            if (issuccess)
                            {
                                WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机SC03任务号写入任务完成确认值5成功{tasknum}");
                            }
                            else
                            {
                                WriteDebug(nameof(DoubleStackerCraneJob), $"小堆垛机SC03任务号写入任务完成确认值5失败{tasknum}");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                WriteError(nameof(DoubleStackerCraneJob), "查询或写入PLC状态失败!", ex);
                WriteError(nameof(DoubleStackerCraneJob), "执行异常!", ex);
            }
            //});
            //WriteDebug("小堆垛机运行日志", "结束时间" + DateTime.Now);
            return Task.CompletedTask;
        }