InboundInitializeActivity - 进站初始化
概述
InboundInitializeActivity 是一个 MES 专用的进站初始化节点,用于在产品入站时初始化各种状态变量和验证产品码的有效性。该节点是入站流程的起点,负责设置入站结果、加工类型等关键信息,并初始化当前工序应用的配方。
基本信息
| 属性 | 值 |
|---|---|
| 显示名称 | 进站初始化 |
| 类名 | InboundInitializeActivity |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 基类 | ProcessBusinessActivity |
| 分类 | 工序步骤 |
| 排序 | 11 |
| 发布 | 是 |
配置说明
该节点通过流程上下文变量进行配置和输出,无需直接配置属性。
输入变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| SerialNumber | FlowItemCollection.SerialNumber | string | 产品序列号/产品码 |
| TrayCodeAssociationDescriptionValue | FlowItemCollection.TrayCodeAssociationDescriptionValue | string | 托盘码关联查询描述 |
| MaterialCodeAssociationDescriptionValue | FlowItemCollection.MaterialCodeAssociationDescriptionValue | string | 物料码关联查询描述 |
输出变量
| 变量名 | 常量 | 类型 | 说明 |
|---|---|---|---|
| Inbound_ResultVariable_Value | FlowItemCollection.InboundResultValue | string | 入站结果 |
| Inbound_Description_Value | FlowItemCollection.InboundDescriptionValue | string | 入站异常说明 |
| Inbound_WorkType_Value | FlowItemCollection.InboundWorkTypeValue | int | 加工类型 |
| Inbound_Completed_Signal | FlowItemCollection.InboundCompletedSignal | int | 入站完成信号 |
| FormulaApplyModel | FlowItemCollection.FormulaApplyModel | FormulaApplyModel | 当前工序应用的配方 |
业务逻辑
执行流程
┌─────────────────────────────────────────────────────────────┐
│ 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'"
}
]
}
入站结果配置
| 结果名称 | 常量 | 说明 |
|---|---|---|
| OK | EntryResultConfig.OK | 入站成功 |
| NoProductEntry | EntryResultConfig.NoProductEntry | 无产品进站 |
| TrayCodeNotBoundProductCode | EntryResultConfig.TrayCodeNotBoundProductCode | 托盘码未绑定产品码 |
| MaterialCodeNotBoundProductCode | EntryResultConfig.MaterialCodeNotBoundProductCode | 物料码未绑定产品码 |
| NG | EntryResultConfig.NG | 入站失败(配方未找到等) |
加工类型
| 类型 | 值 | 说明 |
|---|---|---|
| Reset | WorkType.Reset.Value | 重置/初始状态 |
依赖服务
| 服务接口 | 说明 |
|---|---|
| IEntryResultProvider | 入站结果配置服务 |
| IAbnormalCauseProvider | 异常原因配置服务 |
| ISettingManager | 系统配置管理服务 |
| IFormulaProvider | 配方服务,获取配方应用信息 |
注意事项
- 流程起点:该节点通常是入站流程的第一个业务节点
- 产品码必填:产品码为空时会设置错误结果,后续节点应检查入站结果
- 配方初始化:根据系统配置决定是否在此节点初始化配方
- 状态重置:每次进站都会重置相关状态变量
- 信号输出:入站完成信号可用于与 PLC 等设备通信
- 错误处理:错 误信息会替换工序代码占位符
相关节点
- ProcessBusinessActivity - 工序业务活动基类
- DuplicateCodeDetectionActivity - 重码校验节点
- ProductStateDetectionActivity - 产品状态检测节点
- InboundDetectionActivity - 进站检测节点
- OutboundInitializeActivity - 出站初始化节点
最后更新时间: 2025-11-28