| | |
| | | // 跺机空闲,获取出库任务、移库任务 |
| | | { |
| | | // 获取任务信息 |
| | | var modTask = _db.Queryable<WcsTask>().OrderBy(m => m.CreateTime).OrderBy(m => m.Levels, OrderByType.Desc) |
| | | var modTask = _db.Queryable<WcsTask>().OrderBy(m => m.CreateTime).OrderBy(m => m.Levels, OrderByType.Asc) |
| | | .First(s => s.Status == TaskStatusEnum.Wait && (s.TaskType == TaskTypeEnum.Out || s.TaskType == TaskTypeEnum.Move) |
| | | && s.StartRoadway == modDevice.StationNum); |
| | | if (modTask == null) |
| | | { |
| | | break; |
| | | } |
| | | //判断出库锁定是否打开 |
| | | if (PLCTaskAction.boOutLock) |
| | | { |
| | | break;//出库锁定打开则不执行出库任务 |
| | | } |
| | | |
| | | PlcTaskInfo taskInfo = new PlcTaskInfo(); |
| | |
| | | // 改变任务状态 |
| | | modTask.Status = TaskStatusEnum.Complete; |
| | | modTask.FinishDate = DateTime.Now; |
| | | modTask.Levels = 999; |
| | | _db.Updateable(modTask).ExecuteCommand(); |
| | | //下发任务日志 |
| | | HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); |
| | |
| | | break; |
| | | case "330": |
| | | { |
| | | |
| | | // 写入任务 托盘移动 340 |
| | | |
| | | // 获取工位托盘码信息 |
| | |
| | | { |
| | | // 此托盘没有对应的转移任务 led显示 |
| | | break; |
| | | } |
| | | //判断入库锁定是否打开 |
| | | if (PLCTaskAction.boEnterLock) |
| | | { |
| | | break;//入库锁定打开则不执行入库任务 |
| | | } |
| | | |
| | | // 获取巷道口入库工位 |
| | |
| | | // 改变任务状态 |
| | | modTask.Status = TaskStatusEnum.Complete; |
| | | modTask.FinishDate = DateTime.Now; |
| | | modTask.Levels = 999; |
| | | _db.Updateable(modTask).ExecuteCommand(); |
| | | HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); |
| | | // 插入任务明细 |
| | |
| | | // 改变任务状态 |
| | | modTask.Status = TaskStatusEnum.Complete; |
| | | modTask.FinishDate = DateTime.Now; |
| | | modTask.Levels = 999; |
| | | _db.Updateable(modTask).ExecuteCommand(); |
| | | |
| | | HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); |