跳到主要内容
版本:Next

ProductStateDetectionActivity - 产品状态检测

概述

ProductStateDetectionActivity 是一个 MES 专用的产品状态检测节点,用于在产品入站时检测产品的当前状态是否允许进入当前工序。该节点支持正常产品状态检测和跨产线产品状态检测,可以验证产品是否已完成前置工序、是否为 NG 状态等。

基本信息

属性
显示名称产品状态检测
类名ProductStateDetectionActivity
命名空间CMS.Plugin.MesSuite.Activitys
基类InboundDetectionActivity
分类工序步骤
排序15
发布

配置说明

该节点通过工艺配置和流程上下文变量进行控制,无需直接配置属性。

工艺配置

配置项说明
ProductStateDetection正常生产时的产品状态检测开关
ProductStateDetectionOfInspection点检时的产品状态检测开关
ProductStateDetectionOfCrossLine跨产线产品状态检测开关

输入变量

变量名常量类型说明
SerialNumberFlowItemCollection.SerialNumberstring产品序列号
ProductModelFlowItemCollection.ProductModelAssociationProductModel产品型号信息
HasRepairMarkFlowItemCollection.HasRepairMarkbool是否为返修标记
HasInspectionMarkFlowItemCollection.HasInspectionMarkbool是否为点检标记

输出变量

变量名常量类型说明
Inbound_ResultVariable_ValueFlowItemCollection.InboundResultValuestring入站结果(检测失败时)
Inbound_Description_ValueFlowItemCollection.InboundDescriptionValuestring入站异常描述(检测失败时)

业务逻辑

执行流程

┌─────────────────────────────────────────────────────────────┐
│ ProductStateDetectionActivity │
├─────────────────────────────────────────────────────────────┤
│ 1. 检查功能是否启用 │
│ ├─ 点检模式 → 检查 ProductStateDetectionOfInspection │
│ └─ 正常模式 → 检查 ProductStateDetection + CrossLine │
├─────────────────────────────────────────────────────────────┤
│ 2. 获取检测所需数据 │
│ ├─ 产品型号 │
│ ├─ 序列号 │
│ ├─ 返修标记 │
│ └─ 物料参数 │
├─────────────────────────────────────────────────────────────┤
│ 3. 执行产品状态检测 │
│ └─ 调用 IProductTraceChecker.ProductStateDetectionAsync │
├─────────────────────────────────────────────────────────────┤
│ 4. 执行跨产线检测(如果启用) │
│ └─ 调用 CrossProductionLineProductStateDetectionAsync │
├─────────────────────────────────────────────────────────────┤
│ 5. 处理检测结果 │
│ ├─ 全部通过 → 继续流程 │
│ └─ 任一失败 → 设置入站结果和异常描述 │
└─────────────────────────────────────────────────────────────┘

检测类型

检测类型配置项配置位置说明
产品状态检测ProductStateDetection过程设置 - 产品状态检测设置检测产品在当前产线的状态,验证是否完成配置的检测工序
跨产线检测ProductStateDetectionOfCrossLine过程设置 - 产品状态检测设置(跨产线段)检测产品在其他产线段的状态,用于跨线段流转场景

数据类型区分

模式TraceDataType说明
点检模式InspectionPoint点检数据
正常模式Normal正常生产数据

检测内容

产品状态检测通过 ITraceCacheService 查询追溯缓存数据,验证产品是否满足进站条件。主要包括以下检测项:

1. 前置工序完成检查

验证产品是否已完成必要的前置工序:

  • 配置位置:在**过程设置(Process Configuration)**模块的"产品状态检测设置"中配置
    • 可以为每个产品型号、配方、工序组合配置需要检测的前置工序列表
    • 支持配置多个检测工序,系统会验证产品是否在这些工序中有合格记录
  • 检测机制:根据产品型号、配方和当前工序,查询过程设置中配置的状态检测规则
  • 验证逻辑:检查产品在配置的检测工序中是否有合格的过站记录
  • 失败条件:如果产品未完成配置的任一检测工序,则检测失败,不允许进站
  • 数据来源:从追溯缓存(ITraceCacheService)中查询产品的历史过站记录
  • 配置参考:详见 过程设置 - 产品状态检测设置

2. 产品质量状态检查

验证产品在前置工序和当前工序中的质量判定结果:

  • 检测机制:查询产品在前置工序和当前工序中的合格/不合格(NG)状态
  • 验证逻辑
    • 检查产品是否在任何前置工序中被判定为 NG
    • 检查产品在当前工序是否已存在 NG 记录(如重复进站)
  • 失败条件
    • 如果产品在前置工序中为 NG 状态,则不允许进入当前工序
    • 如果产品在当前工序已有 NG 记录且未经返修,则不允许再次进站
  • 例外情况:返修产品可能有特殊处理逻辑,允许重新进入 NG 工序

3. 返修状态处理

针对返修产品的特殊检测逻辑:

  • 标记识别:通过 HasRepairMark 变量识别返修产品
  • 检测策略:返修产品可以重新进入已完成过的工序
  • 验证逻辑:检测器根据返修标记调整验证规则,允许返修流程
  • 参数传递isRepair 参数会传递给 IProductTraceChecker,由具体实现决定放行策略

4. 物料关联状态检查

验证产品关联物料的状态(如果提供了物料信息):

  • 检测范围:检查当前采集的物料信息(materials 参数)
  • 验证逻辑:验证物料是否在前置工序中正确使用和记录
  • 关联检查:确认物料与产品的绑定关系是否有效
  • 数据来源:从追溯缓存中查询物料的使用记录

缓存机制

产品状态检测依赖追溯缓存服务(ITraceCacheService):

  • 缓存周期:维护指定天数内的追溯数据(通过 Period 属性配置)
  • 缓存内容:产品过站记录、质量状态、物料关联关系
  • 性能优势:快速检测,避免频繁查询数据库
  • 数据同步:产品出站时自动更新缓存数据

使用示例

典型入站流程

┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐
│DuplicateCodeDetection│──▶│ProductStateDetection│──▶│MissingProcessDetection│
│ 重码校验 │ │ 产品状态检测 │ │ 漏工序检测 │
└──────────────────┘ └──────────────────┘ └──────────────────┘

完整入站检测流程

┌──────────────────┐
│InboundInitialize │
│ 进站初始化 │
└────────┬─────────┘


┌──────────────────┐
│DuplicateCodeDetection│
│ 重码校验 │
└────────┬─────────┘


┌──────────────────┐
│ProductStateDetection│ ← 当前节点
│ 产品状态检测 │
└────────┬─────────┘


┌──────────────────┐
│MissingProcessDetection│
│ 漏工序检测 │
└──────────────────┘

错误处理

错误场景入站结果说明
产品状态检测失败ProductNG产品状态不允许进站
跨产线检测失败ProductNG跨产线状态不允许进站
跨产线检测异常ProductNG检测过程发生异常

异常原因

当检测失败时,系统会:

  1. 设置入站结果为 ProductNG
  2. IAbnormalCauseProvider 获取异常原因模板
  3. 合并产品状态检测和跨产线检测的错误信息

依赖服务

服务接口说明
IProductTraceChecker产品追溯检查服务,执行实际的状态检测
IEntryResultProvider入站结果配置服务
IAbnormalCauseProvider异常原因配置服务

注意事项

  1. 功能启用:需要在工艺配置中启用产品状态检测功能
  2. 过程设置配置:必须在"过程设置"模块中为产品型号、配方、工序组合配置检测规则
    • 在"产品状态检测设置"中配置需要检测的工序列表
    • 在"产品状态检测设置(跨产线段)"中配置跨线段检测规则
  3. 返修处理:返修标记会传递给检查器,由检查器决定是否放行
  4. 点检模式:点检模式使用独立的配置项
  5. 跨产线检测:跨产线检测独立于正常检测,可单独启用
  6. 检查器顺序:多个 IProductTraceChecker 按注册顺序执行
  7. 异常处理:跨产线检测异常会被捕获并记录,不会中断流程
  8. 物料参数:检测时会自动采集物料参数供检查器使用
  9. 配置维护:当工艺流程变更时,需要同步更新过程设置中的检测配置

相关节点


最后更新时间: 2025-11-28