跳到主要内容
版本:Next

InboundDetectionActivity - 进站检测

概述

InboundDetectionActivity 是一个 MES 专用的进站检测基类节点,为各种入站检测功能提供通用的基础设施。该节点提供了物料参数采集、产品状态检测配置获取、漏工序检测配置获取、重码检测配置获取等通用方法,供子类节点使用。

基本信息

属性
显示名称进站检测
类名InboundDetectionActivity
命名空间CMS.Plugin.MesSuite.Activitys
基类ProcessBusinessActivity
分类工序步骤
发布

配置说明

该节点作为基类,不直接配置属性,而是为子类提供通用功能。

输出变量

变量名常量类型说明
TraceMaterialModelsFlowItemCollection.TraceMaterialModelsList<TraceMaterialModel>采集的物料检测参数

业务逻辑

提供的通用方法

1. GetMaterialVariableValue - 获取物料参数

┌─────────────────────────────────────────────────────────────┐
│ GetMaterialVariableValue │
├─────────────────────────────────────────────────────────────┤
│ 1. 检查缓存 │
│ └─ 已有物料数据 → 直接返回 │
├─────────────────────────────────────────────────────────────┤
│ 2. 检查物料检测配置 │
│ ├─ MaterielStateDetection != OnProductInbound │
│ └─ MaterielMissingProcessDetection != OnProductInbound │
│ └─ 都不满足 → 返回空列表 │
├─────────────────────────────────────────────────────────────┤
│ 3. 收集物料变量名 │
│ └─ 从 MaterialParameters 提取 BarcodeVariable │
├─────────────────────────────────────────────────────────────┤
│ 4. 采集物料数据 │
│ └─ 调用 IFlowVariableService.ReadValueAsync() │
├─────────────────────────────────────────────────────────────┤
│ 5. 构建物料模型 │
│ └─ 创建 TraceMaterialModel 列表 │
└─────────────────────────────────────────────────────────────┘

2. GetProductStateDetectionAsync - 获取产品状态检测配置

根据是否为点检模式返回对应的配置值:

模式返回值
点检模式ProductStateDetectionOfInspection
正常模式ProductStateDetection + ProductStateDetectionOfCrossLine

3. GetMissingProcessDetectionAsync - 获取漏工序检测配置

根据是否为点检模式返回对应的配置值:

模式返回值
点检模式MissingProcessDetectionOfInspection
正常模式MissingProcessDetection + MissingProcessDetectionOfCrossLine

4. GetDuplicateCodeDetectionAsync - 获取重码检测配置

根据是否为点检模式返回对应的配置值:

模式返回值
点检模式DuplicateCodeDetectionOfInspection
正常模式DuplicateCodeDetection

物料检测触发条件

物料参数采集仅在以下条件满足时执行:

配置项说明
MaterielStateDetectionOnProductInbound物料状态检测在产品入站时执行
MaterielMissingProcessDetectionOnProductInbound物料漏工序检测在产品入站时执行

子类节点

以下节点继承自 InboundDetectionActivity

节点说明
DuplicateCodeDetectionActivity重码校验
ProductStateDetectionActivity产品状态检测
MissingProcessDetectionActivity漏工序检测
MaterialDetectionActivity物料检测

使用示例

典型入站检测流程

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


┌──────────────────┐
│DuplicateCodeDetection│ ← 继承自 InboundDetectionActivity
│ 重码校验 │
└────────┬─────────┘


┌──────────────────┐
│ProductStateDetection│ ← 继承自 InboundDetectionActivity
│ 产品状态检测 │
└────────┬─────────┘


┌──────────────────┐
│MissingProcessDetection│ ← 继承自 InboundDetectionActivity
│ 漏工序检测 │
└────────┬─────────┘


┌──────────────────┐
│ MaterialDetection │ ← 继承自 InboundDetectionActivity
│ 物料检测 │
└──────────────────┘

物料参数数据结构

public class TraceMaterialModel
{
public string Key { get; set; } // 物料参数键
public string Value { get; set; } // 物料参数值(条码)
}

工艺配置说明

产品状态检测配置

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

漏工序检测配置

配置项说明
MissingProcessDetection正常生产时的漏工序检测
MissingProcessDetectionOfInspection点检时的漏工序检测
MissingProcessDetectionOfCrossLine跨线生产时的漏工序检测

重码检测配置

配置项说明
DuplicateCodeDetection正常生产时的重码检测
DuplicateCodeDetectionOfInspection点检时的重码检测

物料检测配置

配置项说明
MaterielStateDetection物料状态检测触发时机
MaterielMissingProcessDetection物料漏工序检测触发时机

依赖服务

服务接口说明
IFlowVariableService流程变量服务,用于采集物料参数
IJsonSerializerJSON 序列化服务,用于日志输出

注意事项

  1. 基类节点:该节点为基类,不应直接在流程中使用
  2. 点检模式:点检模式使用独立的配置项,与正常生产分开
  3. 跨线生产:部分检测支持跨线生产的额外配置
  4. 物料采集:物料参数采集使用 TraceId 进行追踪
  5. 缓存机制:物料数据会缓存到流程上下文,避免重复采集
  6. 配置组合:正常模式的检测配置会与跨线配置相加

相关节点


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