| | |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == device.GetValue<R_RGVConveyorLineDBName, int>(R_RGVConveyorLineDBName.R_TaskNum, item.StationCode) && x.TaskState == TaskStatusEnum.RGV_Executing.ObjToInt()); |
| | | if (task != null) |
| | | { |
| | | if (task.TaskType == TaskTypeEnum.Inbound.ObjToInt())//RGV入库任务完成 |
| | | if (task.TaskType >= TaskTypeEnum.Inbound.ObjToInt())//RGV入库任务完成 |
| | | { |
| | | Dt_Router routers = _routerRepository.QueryFirst(x => x.StartPosi == task.NextAddress); |
| | | _taskService.UpdateTask(task, TaskStatusEnum.RGV_Finish, currentAddress: task.NextAddress, nextAddress: routers.NextPosi); |
| | |
| | | _taskService.TaskCompleted(task.TaskNum); |
| | | |
| | | } |
| | | device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode); |
| | | for (int i = 0; i < 3; i++) |
| | | { |
| | | device.SetValue(W_RGVConveyorLineDBName.W_ACK, true, item.StationCode); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_NEW.ObjToInt() && x.RGVCode == item.StationCode); |
| | | if (task != null) |
| | | { |
| | | //写入RGV任务 |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task.TaskNum, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task.SourceAddress.ObjToInt(), item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task.NextAddress.ObjToInt(), item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode); |
| | | for (int i = 0; i < 3; i++) |
| | | { |
| | | //写入RGV任务 |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task.TaskNum, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task.SourceAddress.ObjToInt(), item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task.NextAddress.ObjToInt(), item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode); |
| | | Thread.Sleep(1000); |
| | | } |
| | | _taskService.UpdateTask(task, TaskStatusEnum.RGV_Executing); |
| | | } |
| | | Dt_Task task1 = _taskRepository.QueryFirst(x => x.TaskType >= TaskTypeEnum.Outbound.ObjToInt() && x.TaskType <= TaskTypeEnum.Inbound.ObjToInt() && x.TaskState == TaskStatusEnum.RGV_Execute.ObjToInt() && x.RGVCode == item.StationCode); |
| | | if (task1 != null) |
| | | { |
| | | //写入RGV任务 |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task1.TaskNum, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task1.CurrentAddress, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task1.TargetAddress, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode); |
| | | for (int i = 0; i < 3; i++) |
| | | { |
| | | //写入RGV任务 |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskNo, task1.TaskNum, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_StartPos, task1.CurrentAddress, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_TaskType, 2, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_EndPos, task1.TargetAddress, item.StationCode); |
| | | device.SetValue(W_RGVConveyorLineDBName.W_STB, true, item.StationCode); |
| | | Thread.Sleep(1000); |
| | | } |
| | | _taskService.UpdateTask(task1, TaskStatusEnum.RGV_Executing); |
| | | } |
| | | } |