跳到主要内容
版本: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正常生产数据

检测内容

产品状态检测通常包括:

  1. 前置工序检查:验证产品是否已完成必要的前置工序
  2. NG 状态检查:验证产品是否为 NG 状态
  3. 返修状态检查:验证返修产品的状态是否允许进站
  4. 物料关联检查:验证产品关联的物料状态

使用示例

典型入站流程

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

完整入站检测流程

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


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


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


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

错误处理

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

异常原因

当检测失败时,系统会:

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

依赖服务

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

注意事项

  1. 功能启用:需要在工艺配置中启用产品状态检测功能
  2. 返修处理:返修标记会传递给检查器,由检查器决定是否放行
  3. 点检模式:点检模式使用独立的配置项
  4. 跨产线检测:跨产线检测独立于正常检测,可单独启用
  5. 检查器顺序:多个 IProductTraceChecker 按注册顺序执行
  6. 异常处理:跨产线检测异常会被捕获并记录,不会中断流程
  7. 物料参数:检测时会自动采集物料参数供检查器使用

相关节点


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