跳到主要内容
版本:Next

InboundInitializeActivity - 进站初始化

概述

InboundInitializeActivity 是一个 MES 专用的进站初始化节点,用于在产品入站时初始化各种状态变量和验证产品码的有效性。该节点是入站流程的起点,负责设置入站结果、加工类型等关键信息,并初始化当前工序应用的配方。

基本信息

属性
显示名称进站初始化
类名InboundInitializeActivity
命名空间CMS.Plugin.MesSuite.Activitys
基类ProcessBusinessActivity
分类工序步骤
排序11
发布

配置说明

该节点通过流程上下文变量进行配置和输出,无需直接配置属性。

输入变量

变量名常量类型说明
SerialNumberFlowItemCollection.SerialNumberstring产品序列号/产品码
TrayCodeAssociationDescriptionValueFlowItemCollection.TrayCodeAssociationDescriptionValuestring托盘码关联查询描述
MaterialCodeAssociationDescriptionValueFlowItemCollection.MaterialCodeAssociationDescriptionValuestring物料码关联查询描述

输出变量

变量名常量类型说明
Inbound_ResultVariable_ValueFlowItemCollection.InboundResultValuestring入站结果
Inbound_Description_ValueFlowItemCollection.InboundDescriptionValuestring入站异常说明
Inbound_WorkType_ValueFlowItemCollection.InboundWorkTypeValueint加工类型
Inbound_Completed_SignalFlowItemCollection.InboundCompletedSignalint入站完成信号
FormulaApplyModelFlowItemCollection.FormulaApplyModelFormulaApplyModel当前工序应用的配方

业务逻辑

执行流程

┌─────────────────────────────────────────────────────────────┐
│ InboundInitializeActivity │
├─────────────────────────────────────────────────────────────┤
│ EnterAsync - 初始化阶段 │
│ ├─ 初始化托盘码关联描述 = "未初始化" │
│ ├─ 初始化物料码关联描述 = "未初始化" │
│ ├─ 清空进站描述 │
│ ├─ 设置进站结果 = "未初始化" │
│ ├─ 设置加工类型 = Reset │
│ └─ 设置进站完成信号 = 1 │
├─────────────────────────────────────────────────────────────┤
│ ProcessAsync - 处理阶段 │
│ ├─ 检查产品码是否为空 │
│ │ ├─ 托盘码关联失败 → 设置对应错误 │
│ │ ├─ 物料码关联失败 → 设置对应错误 │
│ │ └─ 无产品码 → 设置无产品进站错误 │
│ ├─ 设置入站结果 = OK │
│ └─ 初始化配方应用信息(根据配置) │
└─────────────────────────────────────────────────────────────┘

产品码验证

当产品码为空时,系统会根据关联描述判断错误类型:

条件入站结果说明
托盘码关联描述已初始化TrayCodeNotBoundProductCode托盘码未绑定产品码
物料码关联描述已初始化MaterialCodeNotBoundProductCode物料码未绑定产品码
其他情况NoProductEntry无产品进站

配方初始化

根据系统配置决定是否初始化配方:

配置条件行为
FormulaDistributionMode = 2工序识别产品时下发配方,需要初始化
PluginState = 0工单管理插件禁用,需要初始化
其他情况不在此节点初始化配方

使用示例

典型入站流程

┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐
│ 扫码/读取产品码 │────▶│InboundInitialize │────▶│DuplicateCodeDetection│
│ │ │ 进站初始化 │ │ 重码校验 │
└──────────────────┘ └──────────────────┘ └──────────────────┘

完整入站检测流程

┌──────────────────┐
│ 扫码节点 │
│ 设置 SerialNumber │
└────────┬─────────┘


┌──────────────────┐
│InboundInitialize │ ← 入站流程起点
│ 进站初始化 │
└────────┬─────────┘


┌──────────────────┐
│DuplicateCodeDetection│
│ 重码校验 │
└────────┬─────────┘


┌──────────────────┐
│ProductStateDetection│
│ 产品状态检测 │
└────────┬─────────┘


┌──────────────────┐
│MissingProcessDetection│
│ 漏工序检测 │
└──────────────────┘

流程配置示例

{
"Activities": [
{
"Name": "读取产品码",
"Type": "VariableReadActivity",
"VariableName": "SerialNumber"
},
{
"Name": "进站初始化",
"Type": "InboundInitializeActivity"
},
{
"Name": "检查入站结果",
"Type": "ConditionActivity",
"Condition": "Inbound_ResultVariable_Value == 'OK'"
}
]
}

入站结果配置

结果名称常量说明
OKEntryResultConfig.OK入站成功
NoProductEntryEntryResultConfig.NoProductEntry无产品进站
TrayCodeNotBoundProductCodeEntryResultConfig.TrayCodeNotBoundProductCode托盘码未绑定产品码
MaterialCodeNotBoundProductCodeEntryResultConfig.MaterialCodeNotBoundProductCode物料码未绑定产品码
NGEntryResultConfig.NG入站失败(配方未找到等)

加工类型

类型说明
ResetWorkType.Reset.Value重置/初始状态

依赖服务

服务接口说明
IEntryResultProvider入站结果配置服务
IAbnormalCauseProvider异常原因配置服务
ISettingManager系统配置管理服务
IFormulaProvider配方服务,获取配方应用信息

注意事项

  1. 流程起点:该节点通常是入站流程的第一个业务节点
  2. 产品码必填:产品码为空时会设置错误结果,后续节点应检查入站结果
  3. 配方初始化:根据系统配置决定是否在此节点初始化配方
  4. 状态重置:每次进站都会重置相关状态变量
  5. 信号输出:入站完成信号可用于与 PLC 等设备通信
  6. 错误处理:错误信息会替换工序代码占位符

相关节点


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