DistributeFormulaActivity - 应用配方
概述
| 属性 | 值 |
|---|---|
| 节点名称 | 应用配方 |
| 节点描述 | 应用配方步骤 |
| 节点类型 | 业务节点 |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 程序集 | CMS.Plugin.MesSuite.Activitys |
| 分类 | 工序步骤 |
| 排序 | 7 |
| 发布 | 是 |
| 基类 | ProcessBusinessActivity |
功能说明
DistributeFormulaActivity 是应用配方节点,用于将产品配方应用到当前工序。该节点会检查工单状态、匹配配方版本,并执行配方应用操作。
配置属性
| 属性名 | 显示名称 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| IgnoreWorkOrderDetection | 忽略工单检测 | bool | 否 | false | 是否忽略工单检测 |
| ReadRetryCount | 读取重试次数 | int | 否 | 3 | 读取变量的重试次数 |
| ReadRetryDelay | 读取重试延时 | int | 否 | 500 | 读取重试延时(毫秒) |
业务逻辑
执行流程
开始
│
▼
检查配方下发功能是否启用
│
├─► 未启用 → 设置结果=3,返回
│
▼
检查产品型号和配方是否存在
│
├─► 不存在 → 记录日志,返回
│
▼
检查工单(可选)
│
├─► 无工单 → 设置结果=2,返回
│
▼
匹配配方版本(可选)
│
├─► 匹配失败 → 设置结果=3,返回
│
├─► 切换配方版本
│
▼
应用配方
│
├─► 成功 → 设置结果=1
│
└─► 失败 → 设置结果=3
│
▼
结束
结果值说明
| 结果值 | 说明 |
|---|---|
| 1 | 应用配方成功 |
| 2 | 无该产品生产工单 |
| 3 | 功能未启用/配方版本匹配失败/应用配方失败 |
流程数据项
输入数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| ApplicationData | ProcessModel | 工艺模型 |
| FormulaDistributionProductKey | string | 配方下发产品识别码 |
| FormulaDistributionProductModelKey | ProductModel | 需要下发的产品型号 |
| FormulaDistributionFormulaModelKey | FormulaModel | 需要下发的产品配方 |
输出数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| FormulaDistributionResultKey | int | 配方下发结果(1=成功,2=无工单,3=失败) |
| FormulaDistributionDescriptionKey | string | 配方下发补充说明 |
依赖服务
| 服务接 口 | 说明 |
|---|---|
| ISettingProvider | 系统设置提供者 |
| ISettingManager | 设置管理器 |
| IOrderManager | 工单管理器 |
| IFormulaProvider | 配方提供者 |
| IFlowVariableService | 流程变量服务 |
使用示例
基本配置
<DistributeFormulaActivity Name="应用配方">
<IgnoreWorkOrderDetection>false</IgnoreWorkOrderDetection>
<ReadRetryCount>3</ReadRetryCount>
<ReadRetryDelay>500</ReadRetryDelay>
</DistributeFormulaActivity>