| | |
| | | |
| | | bool isFlowA = task.RobotSourceAddressLineCode is "11001" or "11010"; |
| | | |
| | | await _taskProcessor.SendSocketRobotNumAsync(task, state, false); |
| | | Thread.Sleep(500); |
| | | |
| | | // ==================== Phase 2: 放正常电芯到目标托盘(两流向相同)==================== |
| | | // PickFinished 到达:Phase 1 的 Pick 命令完成,现在下发 Put 命令放正常电芯 |
| | | if (state?.ChangePalletPhase == 2) |
| | |
| | | return; |
| | | } |
| | | |
| | | // 非批次模式或其他阶段不下发指令 |
| | | return; |
| | | } |
| | | |
| | | // 非换盘任务:使用原有格式 |
| | |
| | | // 判断流向(null-safe) |
| | | bool isFlowA = task.RobotSourceAddressLineCode is "11001" or "11010"; |
| | | |
| | | await _taskProcessor.SendSocketRobotNumAsync(task, stateForUpdate); |
| | | Thread.Sleep(500); |
| | | |
| | | // 目标数量为48:直接走原有逻辑,不进入批次模式 |
| | | if (targetNormalCount == targetTotal) |
| | | if (targetNormalCount + currentCompletedCount == targetTotal) |
| | | { |
| | | QuartzLogHelper.LogInfo(_logger, $"HandlePutFinishedStateAsync:目标数量已达48,直接下发取货指令,任务号: {task.RobotTaskNum}", stateForUpdate?.RobotCrane?.DeviceName ?? ipAddress); |
| | | await _taskProcessor.SendSocketRobotPickAsync(task, stateForUpdate); |
| | | return; |
| | | } |
| | | |
| | | QuartzLogHelper.LogDebug(_logger,$"HandlePutFinishedStateAsync:换盘任务目标数量: {targetNormalCount},当前已完成数量: {currentCompletedCount},流向: {(isFlowA ? "A" : "B")},任务号: {task.RobotTaskNum}", stateForUpdate?.RobotCrane?.DeviceName ?? ipAddress); |
| | | |
| | | // 初始化批次模式 |
| | | if (stateForUpdate.ChangePalletPhase == 0) |
| | | { |