跳到主要内容
版本:Next

LMES 进站加工逻辑详解

1. 概述

本文档旨在详细阐述LMES系统在处理正常件点检件返修件时的核心业务逻辑与技术实现。所有产品在进入任一工站前,都必须经过DetermineProcessActivity(加工类型判断活动)进行身份判定与准入校验,该活动是所有进站逻辑的统一入口。

系统的核心设计思想是建立一个清晰、有序的优先级仲裁机制,确保在复杂的生产场景下,产品能够被快速、准确地引导至正确的处理路径。

2. 加工判定优先级

与旧版逻辑不同,LMES 采用了新的三级优先级判定模型。系统会严格按照以下顺序对进站产品进行检查,一旦在高优先级检查中命中,则直接进入对应流程,不再执行后续优先级的检查。

  1. 最高优先级:点检件 (Inspection Part)

    • 判定依据:系统首先调用HasInspectionAsync检查产品是否存在有效的“点检任务”。
    • 核心逻辑:如果存在,产品被立即识别为“点检件”,其“返修”状态会被忽略。系统将跳过返修检查,直接进入针对点检件的特定校验流程。
  2. 中等优先级:返修件(Repair Part)

    • 判定依据:若产品非点检件,系统会调用ProductQualityCheckAsync,通过IProductQualityChecker服务检查产品是否存在质量判定记录(如“设备返修”、“报废”等)。
    • 核心逻辑:如果存在,产品被识别为“返修件”或“特殊状态品”,并根据其具体的质量状态(在途、报废、到达返修工位等)执行放行、拦截或返修操作。
  3. 普通优先级:正常件 (Normal Part)

    • 判定依据:若产品既不是点检件,也不是返修或特殊状态品。
    • 核心逻辑:产品被视为“正常件”,必须通过一系列严格的、多层级的资格校验,全部通过后方可进站进行标准化生产。

3. 核心处理流程详解

3.1 点检件处理流程 (Inspection Part)

  • 识别与触发DetermineProcessActivity(加工类型判断活动)首先检查hasInspectionMark标记。若为true,则产品被确认为点检件。

  • 进站校验逻辑 (****ProductFormulaCheckAsync ) : 点检件虽然优先级最高,但仍需经过必要的验证:

    1. 产品型号校验:与正常件逻辑类似,会检查进站产品型号与点检任务或当前工位上下文的匹配性。
    2. 工艺路线校验:系统会调用IProductTraceChecker.CanEnterStationAsync进行校验,但传入的formulaCheck参数为false。这意味着系统不会检查配方相关配置,但仍会执行如重码漏工序等基础的工艺路线验证,以确保点检操作的合规性。
  • 出站逻辑 : 点检任务完成后的逻辑取决于其点检判定结果。

3.2 返修件处理流程 (Repair Part)

  • 识别与触发: 当产品非点检件时,ProductQualityCheckAsync活动被触发,它会遍历所有IProductQualityChecker实现,并调用CanEnterStationAsync方法。若任一检查器返回hasRepairMark = true,则产品被确认为返修件或特殊状态品。

  • 进站校验逻辑: 此类产品的准入逻辑完全由CanEnterStationAsync的返回值和产品的具体质量状态决定,主要分为以下四种场景:

    • 场景A:允许进站 (返修通道)

      • 条件:产品状态为“设备返修”,且canEnterStation返回true
      • 描述:通常意味着产品已到达其质量记录中指定的返修工站。系统会为其开辟“绿色通道”,豁免所有常规的防错校验(如重码、漏工序),允许产品进站执行返修作业。
    • 场景B:在途放行 (Bypass通道)

      • 条件:产品状态为“设备返修”,但canEnterStation返回false
      • 描述:产品是返修件,但当前工站并非其指定的返修目的地。系统会向设备下发“Bypass (放行)”指令,让产品安全通过,继续流向目标返修工站。
    • 场景C:NG品流出 (Bypass至缓冲区)

      • 条件:产品状态为“NG品流出”。
      • 描述:这是一个临时挂起状态。系统不会拦截,而是会向所有非指定缓冲区的工站下发“Bypass (放行)”指令,让产品随线流动,最终在指定的不良品处理站被排出或流入缓冲区,等待品保人员的最终判定。
    • 场景D:拦截 (拦截通道)

      • 条件:产品状态为“产品报废”。
      • 描述:系统会下发硬停止指令,并触发报警,强制要求将产品移出产线。报废品会被永久禁止进入任何生产工站。
  • 出站逻辑: 返修完成后,系统会清除产品的“返修”标记,使其恢复为“正常件”状态,以便在后续工序中接受标准的质量防错校验。

3.3 正常件处理流程 (Normal Part)

  • 识别与触发: 当产品既无点检标记,也无返修或特殊状态标记时,被确认为正常件,进入ProductFormulaCheckAsync方法进行处理。

  • 核心逻辑: 正常件的校验分为两个主要阶段:身份确定与防错历史合规性验证第一阶段:身份确定与防错 此阶段的核心是确定产品的“权威产品型号”,并防止型号混淆。

    1. 检查产品历史记录:系统首先调用GetProductionAsync(serialNumber)检查产品是否已加工过。

    2. 场景A:产品已加工过 (有历史记录)

      • 身份确定:产品的身份(产品型号、工单等)直接从其历史记录中获取。
      • 防错校验:产品型号不匹配拦截:系统会立即将产品的已知型号与其当前所在工站的上下文(由当前工段下发的工单segmentOrder或工位应用的配方formulaModel决定)进行比较。如果两者不匹配,说明产线配置已变更,而旧产品被错误地送入,系统将以“产品型号不匹配”为由立即拦截,这是防止混料的核心防错机制。
    3. 场景B:产品未加工过 (无历史记录)

      • 身份确定:对于新产品,系统必须依赖当前工站的上下文来赋予其身份。此时,“配方下发方式”的配置变得至关重要:

        • 方式0 (仅工单可操作下发) :系统必须能获取到当前工段下发的工单 (segmentOrder),并以此确定产品型号。若无工单,则禁止进站。
        • 方式1 (仅工艺配方可操作下发) :系统依赖当前工位静态应用的配方 (formulaModel) 来确定产品型号。
        • 方式2 (工序识别产品时下发) :此方式理论上适用于已有记录的产品,若一个新产品在此模式下出现,通常意味着上游工序存在异常。

    第二阶段:历史合规性验证 在产品的权威身份被确定且防错校验通过后,系统会调用IProductTraceChecker.CanEnterStationAsync进行最终的历史合规性验证:

    • 产品状态校验:追溯上游关键工序的加工结果,若前置结果为NG,则禁止进站。
    • 重码校验:检查该产品是否已在当前工站有成功的加工记录,若有则判定为“重码”,禁止进站。
    • 漏工序校验:检查产品的完整加工历史,确保其严格遵循了预设的工艺路线,未发生“跳站”,否则判定为“漏工序”,禁止进站。
  • 出站逻辑: 正常加工完成后,产品按标准工艺流程图流转至下一工序。

4. 进站逻辑决策流程图

5. 处理类型对比总结

处理类型识别方式核心检查点产线行为关键说明
点检件hasInspectionMark=true配方检查被豁免按需配置防错,不满足则禁止进站最高优先级
返修件 (在指定工序)hasRepairMark=truecanEnterStation返回true允许进站 (豁免常规防错)系统开通返修"绿色通道"
返修件 (在途)hasRepairMark=truecanEnterStation返回false➡️ Bypass (在途放行)安全路过中间工站至指定返修点
NG品流出hasRepairMark=true NG品流出状态➡️ Bypass (放行至缓冲区)临时挂起状态,待最终判定
报废品hasRepairMark=true 报废状态永久禁止进入任何工站产品生命周期终结
正常件无点检和返修标记身份确定-> 历史合规性验证严格执行所有防错,不满足则禁止进站保证生产质量的标准防错路径