chenluhua1980
2026-01-14 6b6297c6fc0aa5c059d35732c7ee22ebca93967f
1.修复以下问题:
ProceedWithCarrier 直接发 CCC_PROCESS_START:CModel::onCarrierAction 在 CompareMapsBeforeProceeding 关闭时,收到 ProceedWithCarrier 就调用 master.proceedWithCarrier(仅发送 Cassette Process Start,不校验 PJ/CJ 是否存在、SlotMap 是否验通过)。若 Host 流程异常(未下 PJ/CJ)或本地尚未准备好,会把设备推进加工态但无作业可跑。
已修改1个文件
5 ■■■■■ 文件已修改
SourceCode/Bond/Servo/Model.cpp 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/Model.cpp
@@ -233,6 +233,11 @@
                // 真正的“开始”由 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);
                }