跳到主要内容
版本:Next

DetermineProcessActivity - 判断加工类型

概述

DetermineProcessActivity 是一个 MES 专用的加工类型判断节点,用于在产品入站时判断当前产品的加工类型(正常加工、返修加工、点检加工)。该节点会进行产品质量检查、配方匹配检查、工序路线检查等,确定产品是否可以进站以及以何种方式加工。

基本信息

属性
显示名称判断加工类型
类名DetermineProcessActivity
命名空间CMS.Plugin.MesSuite.Activitys
基类ProcessBusinessActivity
分类工序步骤
排序12
发布

配置说明

配置属性

属性名显示名称类型默认值说明
DisableProductMismatch禁用产品型号检测boolfalse是否禁用产品型号匹配检测

输入变量

变量名常量类型说明
SerialNumberFlowItemCollection.SerialNumberstring产品序列号
FormulaApplyModelFlowItemCollection.FormulaApplyModelFormulaApplyModel配方应用模型(可选)

输出变量

变量名常量类型说明
HasRepairMarkFlowItemCollection.HasRepairMarkbool返修标记
HasInspectionMarkFlowItemCollection.HasInspectionMarkbool点检标记
InspectionWorkCanEnterStationFlowItemCollection.InspectionWorkCanEnterStationbool点检加工是否允许进站
FormulaWorkCanEnterStationFlowItemCollection.FormulaWorkCanEnterStationbool正常加工是否允许进站
RepairWorkCanEnterStationFlowItemCollection.RepairWorkCanEnterStationbool返修加工是否允许进站
InboundWorkTypeValueFlowItemCollection.InboundWorkTypeValueint加工类型
OrderModelFlowItemCollection.OrderModelOrderModel生产工单
ProductModelFlowItemCollection.ProductModelAssociationProductModel产品型号
InspectionPointTaskModelFlowItemCollection.InspectionPointTaskModelInspectionPointTaskModel点检任务

加工类型

类型枚举值说明
NormalWorkType.Normal.Value正常加工
RepairWorkType.Repair.Value返修加工
InspectionWorkType.Inspection.Value点检加工

业务逻辑

执行流程

┌─────────────────────────────────────────────────────────────┐
│ DetermineProcessActivity │
├─────────────────────────────────────────────────────────────┤
│ 1. 验证产品码 │
│ └─ 为空 → 设置无产品进站错误 │
├─────────────────────────────────────────────────────────────┤
│ 2. 点检任务检测 │
│ └─ 检查是否存在执行中的点检任务 │
├─────────────────────────────────────────────────────────────┤
│ 3. 返修加工判断(非点检模式) │
│ ├─ 调用 IProductQualityChecker 检查 │
│ ├─ 有返修标记 → 设置返修加工类型 │
│ └─ 不允许进站 → 设置出站不加工 │
├─────────────────────────────────────────────────────────────┤
│ 4. 配方加工判断 │
│ ├─ 获取配方应用和工单 │
│ ├─ 产品型号匹配检查 │
│ ├─ 工序路线检查 │
│ └─ 设置加工类型和进站结果 │
└─────────────────────────────────────────────────────────────┘

判断优先级

┌─────────────────────────────────────────────────────────────┐
│ 加工类型判断优先级 │
├─────────────────────────────────────────────────────────────┤
│ 1. 点检加工(最高优先级) │
│ └─ 存在执行中的点检任务 │
├─────────────────────────────────────────────────────────────┤
│ 2. 返修加工 │
│ └─ 产品有返修判定记录 │
├─────────────────────────────────────────────────────────────┤
│ 3. 正常加工(默认) │
│ └─ 无点检任务且无返修标记 │
└─────────────────────────────────────────────────────────────┘

产品型号匹配检查

当以下条件都满足时进行产品型号匹配检查:

  • 非点检模式
  • 有生产记录中的产品型号
  • 未禁用产品型号检测
  • 系统配置未禁用产品型号检测

检查内容:

  1. 配方应用的产品型号与进站产品型号是否匹配
  2. 工单的产品型号与进站产品型号是否匹配

使用示例

基本配置

{
"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入站结果配置服务

注意事项

  1. 判断顺序:点检 → 返修 → 正常,按优先级判断
  2. 点检模式:点检模式下不进行返修判断
  3. 产品型号检测:可通过配置或属性禁用
  4. 工序路线:有产品型号时才检查工序路线
  5. 性能监控:各判断步骤都有耗时日志
  6. 工单管理:启用工单管理时,无工单会拦截进站

相关节点


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