1.修复以下问题:
ProceedWithCarrier 直接发 CCC_PROCESS_START:CModel::onCarrierAction 在 CompareMapsBeforeProceeding 关闭时,收到 ProceedWithCarrier 就调用 master.proceedWithCarrier(仅发送 Cassette Process Start,不校验 PJ/CJ 是否存在、SlotMap 是否验通过)。若 Host 流程异常(未下 PJ/CJ)或本地尚未准备好,会把设备推进加工态但无作业可跑。
| | |
| | | // 真正的“开始”由 ProceedWithSlotMap 决策触发。 |
| | | // 仅当未开启 CompareMapsBeforeProceeding 时,才沿用旧逻辑直接 Start。 |
| | | LOGI("<CModel>ProceedWithCarrier"); |
| | | if (m_master.getControlJob() == nullptr || m_master.isProcessJobsEmpty()) { |
| | | strErrorTxt = "rejected - ControlJob/ProcessJob not ready"; |
| | | LOGW("<CModel>ProceedWithCarrier rejected: no CJ/PJ, port=%d", portIndex + 1); |
| | | return CAACK_5; |
| | | } |
| | | if (pLoadPort == nullptr || !pLoadPort->isCompareMapsBeforeProceeding()) { |
| | | m_master.proceedWithCarrier(portIndex); |
| | | } |