| | |
| | | using Microsoft.AspNetCore.Components.Routing; |
| | | using HslCommunication.WebSocket; |
| | | using Microsoft.AspNetCore.Components.Routing; |
| | | using Newtonsoft.Json; |
| | | using Quartz; |
| | | using System; |
| | | using System.Collections.Generic; |
| | |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Enums; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_DTO.Equipment; |
| | | using WIDESEAWCS_IBasicInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane.Enum; |
| | | using WIDESEAWCS_Tasks.StackerCraneJob; |
| | | using WIDESEAWCS_Tasks; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | using WIDESEAWCS_QuartzJob.Repository; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using HslCommunication.WebSocket; |
| | | using WIDESEAWCS_DTO.Equipment; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane; |
| | | using WIDESEAWCS_Tasks.StackerCraneJob; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_Tasks.åæåº; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | private readonly IRouterService _routerService; |
| | | private readonly IRouterRepository _routerRepository; |
| | | private readonly IStationMangerRepository _stationMangerRepository; |
| | | private WebSocketServer _webSocketServer; |
| | | private readonly WebSocketServer _webSocketServer; |
| | | |
| | | public StackerCraneJob_YLSC3(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository,WebSocketServer webSocketServer) |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | // 设置设å¤ç¼å·ï¼å端ç¨äºè¯å«å åæº |
| | | YL_DB yL_DB = new YL_DB(); |
| | | yL_DB.R_PP_Status = commonStackerCrane.DeviceCode; |
| | | // 设置å åæºç¶æ |
| | | yL_DB.YL_Status = commonStackerCrane.StackerCraneStatusValue switch |
| | | { |
| | | StackerCraneStatus.Fault => 0, |
| | | StackerCraneStatus.Normal => 1, |
| | | StackerCraneStatus.EmergencyStop => 2, |
| | | StackerCraneStatus.Unkonw => 3, |
| | | }; |
| | | yL_DB.YL_AutoStatus = commonStackerCrane.StackerCraneAutoStatusValue switch |
| | | { |
| | | StackerCraneAutoStatus.SemiAutomatic => 1, |
| | | StackerCraneAutoStatus.Maintenance => 2, |
| | | StackerCraneAutoStatus.Automatic => 3, |
| | | StackerCraneAutoStatus.Manual => 4, |
| | | StackerCraneAutoStatus.Unkonw => 5, |
| | | }; |
| | | yL_DB.YL_WorkStatus = commonStackerCrane.StackerCraneWorkStatusValue switch |
| | | { |
| | | StackerCraneWorkStatus.Standby => 1, |
| | | StackerCraneWorkStatus.PickUpCompleted => 2, |
| | | StackerCraneWorkStatus.PickUp => 3, |
| | | StackerCraneWorkStatus.Putting => 5, |
| | | StackerCraneWorkStatus.WorkCompleted => 9, |
| | | }; |
| | | yL_DB.YL_TaskNum = commonStackerCrane.CurrentTaskNum; |
| | | yL_DB.YL_WorkType = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType); |
| | | yL_DB.YL_Row = commonStackerCrane.Communicator.Read<short>("DB1000.46"); |
| | | yL_DB.YL_Column = commonStackerCrane.Communicator.Read<short>("DB1000.48.0"); |
| | | yL_DB.YL_Layer = commonStackerCrane.Communicator.Read<short>("DB1000.50.0"); |
| | | // è¯»åæ¥è¦ä¿¡æ¯ |
| | | short stackerError2 = commonStackerCrane.Communicator.Read<short>("DB1000.54.0"); |
| | | yL_DB.StackerAlarm = stackerError2 == 0 ? "æ " : $"æ¥è¦ä»£ç : {stackerError2}"; |
| | | // åºååå¹¶åéæ°æ® |
| | | string ylDB = JsonConvert.SerializeObject(yL_DB); |
| | | _webSocketServer.PublishAllClientPayload(ylDB); |
| | | |
| | | #region è°ç¨äºä»¶æ»çº¿éç¥å端 |
| | | |
| | |
| | | Dt_Task? task; |
| | | if (commonStackerCrane.LastTaskType == null) |
| | | { |
| | | task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode); |
| | | task = _taskService.QueryStackerYLTask(commonStackerCrane.DeviceCode); |
| | | } |
| | | else |
| | | { |
| | |
| | | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); |
| | | if (task == null) |
| | | { |
| | | task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); |
| | | task = _taskService.QueryStackerYLTask(commonStackerCrane.DeviceCode, TaskTypeGroup.OutbondGroup); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //ä¸ä¸ä¸ªä¸ºå
¥åºåæ¥æ¯å¦åå¨åºåºä»»å¡ äº¤æ¿æ§è¡ |
| | | task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode); |
| | | task = _taskService.QueryStackerYLTask(commonStackerCrane.DeviceCode, TaskTypeGroup.OutbondGroup); |
| | | if (task == null) |
| | | { |
| | | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); |
| | |
| | | { |
| | | task.ExceptionMessage = "åºåºç«å°æ æ³ä¸å"; |
| | | _taskRepository.UpdateData(task); |
| | | WriteInfo(task.DeviceCode, $"åºåºç«å°æ æ³ä¸å"); |
| | | } |
| | | } |
| | | else |
| | |
| | | YLStackerCraneTaskCommand stackerCraneTaskCommand = new YLStackerCraneTaskCommand(); |
| | | |
| | | stackerCraneTaskCommand.PalletType = Convert.ToInt16(task.PalletType); |
| | | if (task.TaskLength>=1160 && task.TaskLength<1630) |
| | | if (task.TaskLength>=1200 && task.TaskLength<1630) |
| | | { |
| | | stackerCraneTaskCommand.PalletType = 3; |
| | | } |