| | |
| | | // 1. 运行模式为自动(2) |
| | | // 2. 控制模式为客户端控制(1) |
| | | // 3. 运行状态是 Running |
| | | if (latestState.RobotRunMode == 2 /*&& latestState.RobotControlMode == 1*/ && latestState.OperStatus == "Running" && (latestState.Homed == "Homed" || latestState.Homed.IsNullOrEmpty())) |
| | | if (latestState.RobotRunMode == 2 /*&& latestState.RobotControlMode == 1*/ /*&& latestState.OperStatus == "Running"*/ && (latestState.Homed == "Homed" || latestState.Homed.IsNullOrEmpty())) |
| | | { |
| | | // ========== 取货完成后的放货处理 ========== |
| | | // 条件: |
| | |
| | | // - 任务状态为 RobotPutFinish 或不是 RobotExecuting |
| | | else if ((latestState.CurrentAction == "PutFinished" || latestState.CurrentAction == "AllPutFinished" || latestState.CurrentAction.IsNullOrEmpty()) |
| | | && (latestState.RobotArmObject.IsNullOrEmpty() || latestState.RobotArmObject == 0) |
| | | && (task.RobotTaskState == TaskRobotStatusEnum.RobotPutFinish.GetHashCode() |
| | | || task.RobotTaskState != TaskRobotStatusEnum.RobotExecuting.GetHashCode())) |
| | | && (task.RobotTaskState == TaskRobotStatusEnum.RobotPutFinish.GetHashCode() || task.RobotTaskState != TaskRobotStatusEnum.RobotExecuting.GetHashCode()) |
| | | && latestState.BatteryArrived) |
| | | { |
| | | _logger.LogInformation("ExecuteAsync:满足取货条件,开始下发取货任务,任务号: {TaskNum}", task.RobotTaskNum); |
| | | QuartzLogger.Info($"ExecuteAsync:满足取货条件,开始下发取货任务", latestState.RobotCrane?.DeviceName ?? ipAddress); |
| | |
| | | private async Task HandlePutFinishedStateAsync(Dt_RobotTask task, string ipAddress) |
| | | { |
| | | // 获取最新状态 |
| | | var stateForUpdate = _stateManager.GetState(ipAddress); |
| | | RobotSocketState? stateForUpdate = _stateManager.GetState(ipAddress); |
| | | if (stateForUpdate == null) |
| | | { |
| | | _logger.LogWarning("HandlePutFinishedStateAsync:获取状态失败,IP: {IpAddress}", ipAddress); |