跳到主要内容
版本:Next

DistributeFormulaActivity - 应用配方

概述

属性
节点名称应用配方
节点描述应用配方步骤
节点类型业务节点
命名空间CMS.Plugin.MesSuite.Activitys
程序集CMS.Plugin.MesSuite.Activitys
分类工序步骤
排序7
发布
基类ProcessBusinessActivity

功能说明

DistributeFormulaActivity 是应用配方节点,用于将产品配方应用到当前工序。该节点会检查工单状态、匹配配方版本,并执行配方应用操作。

配置属性

属性名显示名称类型必填默认值说明
IgnoreWorkOrderDetection忽略工单检测boolfalse是否忽略工单检测
ReadRetryCount读取重试次数int3读取变量的重试次数
ReadRetryDelay读取重试延时int500读取重试延时(毫秒)

业务逻辑

执行流程

开始


检查配方下发功能是否启用

├─► 未启用 → 设置结果=3,返回


检查产品型号和配方是否存在

├─► 不存在 → 记录日志,返回


检查工单(可选)

├─► 无工单 → 设置结果=2,返回


匹配配方版本(可选)

├─► 匹配失败 → 设置结果=3,返回

├─► 切换配方版本


应用配方

├─► 成功 → 设置结果=1

└─► 失败 → 设置结果=3


结束

结果值说明

结果值说明
1应用配方成功
2无该产品生产工单
3功能未启用/配方版本匹配失败/应用配方失败

流程数据项

输入数据项

数据项类型说明
ApplicationDataProcessModel工艺模型
FormulaDistributionProductKeystring配方下发产品识别码
FormulaDistributionProductModelKeyProductModel需要下发的产品型号
FormulaDistributionFormulaModelKeyFormulaModel需要下发的产品配方

输出数据项

数据项类型说明
FormulaDistributionResultKeyint配方下发结果(1=成功,2=无工单,3=失败)
FormulaDistributionDescriptionKeystring配方下发补充说明

依赖服务

服务接口说明
ISettingProvider系统设置提供者
ISettingManager设置管理器
IOrderManager工单管理器
IFormulaProvider配方提供者
IFlowVariableService流程变量服务

使用示例

基本配置

<DistributeFormulaActivity Name="应用配方">
<IgnoreWorkOrderDetection>false</IgnoreWorkOrderDetection>
<ReadRetryCount>3</ReadRetryCount>
<ReadRetryDelay>500</ReadRetryDelay>
</DistributeFormulaActivity>

忽略工单检测

<DistributeFormulaActivity Name="应用配方">
<IgnoreWorkOrderDetection>true</IgnoreWorkOrderDetection>
</DistributeFormulaActivity>

典型流程配置

匹配配方 → 应用配方 → 条件分支(成功/失败)
<MatchingFormulaActivity Name="匹配配方" />

<DistributeFormulaActivity Name="应用配方">
<IgnoreWorkOrderDetection>false</IgnoreWorkOrderDetection>
</DistributeFormulaActivity>

<ConditionActivity Name="配方下发判断">
<Condition>Flow.DataItems["FormulaDistributionResultKey"] == 1</Condition>
<TrueBranch>继续生产</TrueBranch>
<FalseBranch>异常处理</FalseBranch>
</ConditionActivity>

相关节点

注意事项

  1. 需要先执行 MatchingFormulaActivity 匹配配方
  2. 工艺模型中需要启用配方下发功能
  3. 配方版本匹配需要配置配方版本变量
  4. 工单检测依赖工单管理模块的启用状态