InboundDetectionActivity - 进站检测
概述
InboundDetectionActivity 是一个 MES 专用的进站检测基类节点,为各种入站检测功能提供通用的基础设施。该节点提供了物料参数采集、产品状态检测配置获取、漏工序检测配置获取、重码检测配置获取等通用方法,供子类节点使用。
基本信息
| 属性 | 值 |
|---|---|
| 显示名称 | 进站检测 |
| 类名 | InboundDetectionActivity |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 基类 | ProcessBusinessActivity |
| 分类 | 工序步骤 |
| 发布 | 否 |
配置说明
该节点作为基类,不直接配置属性,而是为子类提供通用功能。
输出变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| TraceMaterialModels | FlowItemCollection.TraceMaterialModels | List<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 |
物料检测触发条件
物料参数采集仅在以下条件满足时执行:
| 配置项 | 值 | 说明 |
|---|---|---|
| MaterielStateDetection | OnProductInbound | 物料状态检测在产品入站时执行 |
| MaterielMissingProcessDetection | OnProductInbound | 物料漏工序检测在产品入站时执行 |
子类节点
以下节点继承自 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 | 流程变量服务,用于采集物料参数 |
| IJsonSerializer | JSON 序列化服务,用于日志输出 |
注意事项
- 基类节点:该节点为基类,不应直接在流程中使用
- 点检模式:点检模式使用独立的配置项,与正常生产分开
- 跨线生产:部分检测支持跨线生产的额外配置
- 物料采集:物料参数采集使用 TraceId 进行追踪
- 缓存机制:物料数据会缓存到流程上下文,避免重复采集
- 配置组合:正常模式的检测配置会与跨线配置相加
相关节点
- ProcessBusinessActivity - 工序业务活动基类
- InboundInitializeActivity - 进站初始化节点
- DuplicateCodeDetectionActivity - 重码校验节点
- ProductStateDetectionActivity - 产品状态检测节点
- MissingProcessDetectionActivity - 漏工序检测节点
最后更新时间: 2025-11-28