| | |
| | | { |
| | | break;//出库锁定打开则不执行出库任务 |
| | | } |
| | | //判断该巷道有没有到达取货工位的入库任务,优先执行入库任务再执行移库/出库任务 |
| | | var taskIn = _db.Queryable<WcsTask>().First(s => s.Status == TaskStatusEnum.Doing && s.TaskType == TaskTypeEnum.In && s.EndRoadway == modDevice.StationNum && !string.IsNullOrEmpty(s.EndLocate)); |
| | | if (taskIn != null) |
| | | { |
| | | break; |
| | | } |
| | | |
| | | PlcTaskInfo taskInfo = new PlcTaskInfo(); |
| | | if (modTask.TaskType == TaskTypeEnum.Move) |
| | |
| | | //下发任务日志 |
| | | HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); |
| | | |
| | | //修改led屏信息 |
| | | var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == taskInfo.EndStation && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business); |
| | | ledText += $"任务类型:{modTask.TaskType.GetDescription()}\n\n"; |
| | | ledText += $"任务号:{modTask.TaskNo}\n"; |
| | | ledText += $"托盘号:{modTask.PalletNo}\n\n"; |
| | | ledText += $"起始位:{modTask.StartRoadway + " " + modTask.StartLocate}\n"; |
| | | ledText += $"目标位:{modTask.EndRoadway + " " + modTask.EndLocate}"; |
| | | LedDisplay(ledDevice.LedIP, ledText); |
| | | if (modTask.TaskType == TaskTypeEnum.Out) |
| | | { |
| | | //修改led屏信息 |
| | | var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == taskInfo.EndStation && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business); |
| | | ledText += $"任务类型:{modTask.TaskType.GetDescription()}\n\n"; |
| | | ledText += $"任务号:{modTask.TaskNo}\n"; |
| | | ledText += $"托盘号:{modTask.PalletNo}\n\n"; |
| | | ledText += $"起始位:{modTask.StartRoadway + " " + modTask.StartLocate}\n"; |
| | | ledText += $"目标位:{modTask.EndRoadway + " " + modTask.EndLocate}"; |
| | | LedDisplay(ledDevice.LedIP, ledText); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | |
| | | { |
| | | // 跺机非空闲等待 |
| | | break; |
| | | } |
| | | //判断该巷道有没有待执行的移库/出库任务,优先执行移库/出库任务再执行入库任务 |
| | | var taskOutMove = _db.Queryable<WcsTask>().First(s => s.Status == TaskStatusEnum.Wait && (s.TaskType == TaskTypeEnum.Out || s.TaskType == TaskTypeEnum.Move) |
| | | && s.StartRoadway == modDevice.StationNum); |
| | | if (taskOutMove != null) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | // 给PLC写入任务数据 |
| | | var listResult = new List<Result>(); |
| | | |