MissingProcessDetectionActivity - 漏工序校验
概述
MissingProcessDetectionActivity 是一个 MES 专用的漏工序校验节点,用于在产品入站时检测产品是否完成了必要的前置工序。该节点支持正常漏工序检测和跨产线漏工序检测,确保产品按照工艺路线顺序加工。
基本信息
| 属性 | 值 |
|---|---|
| 显示名称 | 漏工序校验 |
| 类名 | MissingProcessDetectionActivity |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 基类 | InboundDetectionActivity |
| 分类 | 工序步骤 |
| 排序 | 17 |
| 发布 | 是 |
配置说明
该节点通过工艺配置和流程上下文变量进行控制。
工艺配置
| 配置项 | 说明 |
|---|---|
| MissingProcessDetection | 正常生产时的漏工序检测开关 |
| MissingProcessDetectionOfInspection | 点检时的漏工序检测开关 |
| MissingProcessDetectionOfCrossLine | 跨产线漏工序检测开关 |
输入变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| SerialNumber | FlowItemCollection.SerialNumber | string | 产品序列号 |
| ProductModel | FlowItemCollection.ProductModel | AssociationProductModel | 产品型号信息 |
| HasInspectionMark | FlowItemCollection.HasInspectionMark | bool | 是否为点检标记 |
输出变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| Inbound_ResultVariable_Value | FlowItemCollection.InboundResultValue | string | 入站结果(检测失败时) |
| Inbound_Description_Value | FlowItemCollection.InboundDescriptionValue | string | 入站异常描述(检测失败时) |
业务逻辑
执行流程
┌─────────────────────────────────────────────────────────────┐
│ MissingProcessDetectionActivity │
├─────────────────────────────────────────────────────────────┤
│ 1. 检查功能是否启用 │
│ ├─ 点检模式 → 检查 MissingProcessDetectionOfInspection │
│ └─ 正常模式 → 检查 MissingProcessDetection + CrossLine │
├─────────────────────────────────────────────────────────────┤
│ 2. 获取检测所需数据 │
│ ├─ 产品型号 │
│ ├─ 序列号 │
│ └─ 物料参数 │
├─────────────────────────────────────────────────────────── ──┤
│ 3. 执行漏工序检测 │
│ └─ 调用 IProductTraceChecker.MissingProcessDetectionAsync│
├─────────────────────────────────────────────────────────────┤
│ 4. 执行跨产线检测(如果启用) │
│ └─ 调用 CrossProductionLineMissingProcessDetectionAsync │
├─────────────────────────────────────────────────────────────┤
│ 5. 处理检测结果 │
│ ├─ 全部通过 → 继续流程 │
│ └─ 任一失败 → 设置入站结果和异常描述 │
└─────────────────────────────────────────────────────────────┘
检测类型
| 检测类型 | 配置项 | 说明 |
|---|---|---|
| 漏工序检测 | MissingProcessDetection | 检测产品在当前产线是否漏工序 |
| 跨产线检测 | MissingProcessDetectionOfCrossLine | 检测产品在其他产线是否漏工序 |
数据类型区分
| 模式 | TraceDataType | 说明 |
|---|---|---|
| 点检模式 | InspectionPoint | 点检数据 |
| 正常模式 | Normal | 正常生产数据 |
检测内容
漏工序检测通常包括:
- 前置工序检查:验证产品是否已完成当前工序之前的所有必要工序
- 工艺路线验证:验证产品的加工顺序是否符合工艺路线定义
- 物料关联检查:验证关联物料是否完成前置工序
使用示例
典型入站流程
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ProductStateDetection│──▶│MissingProcessDetection│──▶│ MaterialDetection │
│ 产品状态检测 │ │ 漏工序校验 │ │ 物料检测 │
└──────────────────┘ └──────────────────┘ └──────────────────┘
完整入站检测流程
┌──────────────────┐
│InboundInitialize │
│ 进站初始化 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│DuplicateCodeDetection│
│ 重码校验 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ProductStateDetection│
│ 产品状态检测 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│MissingProcessDetection│ ← 当前节点
│ 漏工序校验 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ MaterialDetection │
│ 物料检测 │
└──────────────────┘
错误处理
| 错误场景 | 入站结果 | 说明 |
|---|---|---|
| 漏工序检测失败 | MissingProcessing | 产品漏工序 |
| 跨产线检测失败 | MissingProcessing | 跨产线漏工序 |
| 跨产线检测异常 | MissingProcessing | 检测过程发生异常 |
异常原因
当检测失败时,系统会:
- 设置入站结果为
MissingProcessing - 从
IAbnormalCauseProvider获取异常原因模板 - 合并漏工序检测和跨产线检测的错误信息
依赖服务
| 服务接口 | 说明 |
|---|---|
| IProductTraceChecker | 产品追溯检查服务,执行实际的漏工序检测 |
| IEntryResultProvider | 入站结果配置服务 |
| IAbnormalCauseProvider | 异常原因配置服务 |
注意事项
- 功能启用:需要在工艺配置中启用漏工序检测功能
- 点检模式:点检模式使用独立的配置项
- 跨产线检测:跨产线检测独立于正常检测,可单独启用
- 检查器顺序:多个
IProductTraceChecker按注册顺序执行 - 异常处理:跨产线检测异常会被捕获并记录
- 物料参数:检测时会自动采集物料参数供检查器使用
- 工艺路线:检测基于产品的工艺路线定义
相关节点
- InboundDetectionActivity - 进站检测基类
- InboundInitializeActivity - 入站初始化节点
- DuplicateCodeDetectionActivity - 重码校验节点
- ProductStateDetectionActivity - 产品状态检测节点
- DetermineProcessActivity - 判断加工类型节点
最后更新时间: 2025-11-28