DetermineProcessActivity - 判断加工类型
概述
DetermineProcessActivity 是一个 MES 专用的加工类型判断节点,用于在产品入站时判断当前产品的加工类型(正常加工、返修加工、点检加工)。该节点会进行产品质量检查、配方匹配检查、工序路线检查等,确定产品是否可以进站以及以何种方式加工。
基本信息
| 属性 | 值 |
|---|---|
| 显示名称 | 判断加工类型 |
| 类名 | DetermineProcessActivity |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 基类 | ProcessBusinessActivity |
| 分类 | 工序步骤 |
| 排序 | 12 |
| 发布 | 是 |
配置说明
配置属性
| 属性名 | 显示名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
| DisableProductMismatch | 禁用产品型号检测 | bool | false | 是否禁用产品型号匹配检测 |
输入变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| SerialNumber | FlowItemCollection.SerialNumber | string | 产品序列号 |
| FormulaApplyModel | FlowItemCollection.FormulaApplyModel | FormulaApplyModel | 配方应用模型(可选) |
输出变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| HasRepairMark | FlowItemCollection.HasRepairMark | bool | 返修标记 |
| HasInspectionMark | FlowItemCollection.HasInspectionMark | bool | 点检标记 |
| InspectionWorkCanEnterStation | FlowItemCollection.InspectionWorkCanEnterStation | bool | 点检加工是否允许进站 |
| FormulaWorkCanEnterStation | FlowItemCollection.FormulaWorkCanEnterStation | bool | 正常加工是否允许进站 |
| RepairWorkCanEnterStation | FlowItemCollection.RepairWorkCanEnterStation | bool | 返修加工是否允许进站 |
| InboundWorkTypeValue | FlowItemCollection.InboundWorkTypeValue | int | 加工类型 |
| OrderModel | FlowItemCollection.OrderModel | OrderModel | 生产工单 |
| ProductModel | FlowItemCollection.ProductModel | AssociationProductModel | 产品型号 |
| InspectionPointTaskModel | FlowItemCollection.InspectionPointTaskModel | InspectionPointTaskModel | 点检任务 |
加工类型
| 类型 | 枚举值 | 说明 |
|---|---|---|
| Normal | WorkType.Normal.Value | 正常加工 |
| Repair | WorkType.Repair.Value | 返修加工 |
| Inspection | WorkType.Inspection.Value | 点检加工 |
业务逻辑
执行流程
┌─────────────────────────────────────────────────────────────┐
│ DetermineProcessActivity │
├─────────────────────────────────────────────────────────────┤
│ 1. 验证产品码 │
│ └─ 为空 → 设置无产品进站错误 │
├───────────────────────── ────────────────────────────────────┤
│ 2. 点检任务检测 │
│ └─ 检查是否存在执行中的点检任务 │
├─────────────────────────────────────────────────────────────┤
│ 3. 返修加工判断(非点检模式) │
│ ├─ 调用 IProductQualityChecker 检查 │
│ ├─ 有返修标记 → 设置返修加工类型 │
│ └─ 不允许进站 → 设置出站不加工 │
├─────────────────────────────────────────────────────────────┤
│ 4. 配方加工判断 │
│ ├─ 获取配方应用和工单 │
│ ├─ 产品型号匹配检查 │
│ ├─ 工序路线检查 │
│ └─ 设置加工类型和进站结果 │
└─────────────────────────────────────────────────────────────┘
判断优先级
┌─────────────────────────────────────────────────────────────┐
│ 加工类型判断优先级 │
├──────────────────────────────── ─────────────────────────────┤
│ 1. 点检加工(最高优先级) │
│ └─ 存在执行中的点检任务 │
├─────────────────────────────────────────────────────────────┤
│ 2. 返修加工 │
│ └─ 产品有返修判定记录 │
├─────────────────────────────────────────────────────────────┤
│ 3. 正常加工(默认) │
│ └─ 无点检任务且无返修标记 │
└─────────────────────────────────────────────────────────────┘
产品型号匹配检查
当以下条件都满足时进行产品型号匹配检查:
- 非点检模式
- 有生产记录中的产品型号
- 未禁用产品型号检测
- 系统配置未禁用产品型号检测
检查内容:
- 配方应用的产品型号与进站产品型号是否匹配
- 工单的产品型号与进站产品型号是否匹配
使用示例
基本配置
{
"Name": "判断加工类型",
"Type": "DetermineProcessActivity",
"DisableProductMismatch": false
}
典型入站流程
┌──────────────────┐
│InboundInitialize │
│ 进站初始化 │
└────────┬─────────┘
│
▼
┌──────────────────┐
│DetermineProcessActivity│ ← 判断加工类型
│ 判断加工类型 │
└────────┬─────────┘
│
┌────┴────┬────────┐
│ │ │
▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐
│正常加工 │ │返修加工 │ │点检加工 │
└────────┘ └────────┘ └────────┘
检查加 工类型
{
"Activities": [
{
"Name": "判断加工类型",
"Type": "DetermineProcessActivity"
},
{
"Name": "检查是否返修",
"Type": "ConditionActivity",
"Condition": "HasRepairMark == true"
}
]
}
错误处理
| 错误场景 | 入站结果 | 说明 |
|---|---|---|
| 产品码为空 | NoProductEntry | 无产品进站 |
| 返修不允许进站 | ExitWithoutProcessing | 出站不加工 |
| 产品型号不匹配 | NG | 产品型号与配方/工单不匹配 |
| 无工单 | NG | 启用工单管理但无工单 |
| 工序路线检查失败 | NG | 不符合工序路线要求 |
依赖服务
| 服务接口 | 说明 |
|---|---|
| IProductQualityChecker | 产品质量检查服务,判断返修状态 |
| IProductTraceChecker | 产品追溯检查服务,检查工序路线 |
| IOrderProvider | 工单服务,获取工单信息 |
| IProductProvider | 产品服务,获取产品信息 |
| ISettingManager | 配置管理服务 |
| IAbnormalCauseProvider | 异常原因配置服务 |
| IEntryResultProvider | 入站结果配置服务 |
注意事项
- 判断顺序:点检 → 返修 → 正常,按优先级判断
- 点检模式:点检模式下不进行返修判断
- 产品型号检测:可通过配置或属性禁用
- 工序路线:有产品型号时才检查工序路线
- 性能监控:各判断步骤都有耗时日志
- 工单管理:启用工单管理时,无工单会拦截进站
相关节点
- ProcessBusinessActivity - 工序业务活动基类
- InboundInitializeActivity - 进站初始化节点
- ProductStateDetectionActivity - 产品状态检测节点
- MissingProcessDetectionActivity - 漏工序检测节点
最后更新时间: 2025-11-28