跳到主要内容
版本:Next

MatchingFormulaActivity - 匹配配方

概述

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

功能说明

MatchingFormulaActivity 是匹配配方节点,用于根据产品识别码匹配对应的产品型号和配方。该节点通常与 DistributeFormulaActivity 配合使用,先匹配配方再应用配方。

配置属性

此节点无额外配置属性。

业务逻辑

执行流程

开始


初始化流程数据项


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

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


获取产品识别码

├─► 为空 → 设置结果=0,返回


检查配方下发方式配置

├─► 未启用工序识别产品时下发配方 → 设置结果=3,返回


根据识别码查找产品型号

├─► 未找到 → 设置结果=3,返回


根据产品型号匹配配方

├─► 未找到 → 设置结果=3,返回


设置产品型号和配方到流程数据项


结束

结果值说明

结果值说明
0产品识别码为空
3功能未启用/未找到产品型号/未找到配方

流程数据项

输入数据项

数据项类型说明
ApplicationDataProcessModel工艺模型
FormulaDistributionProductKeystring产品识别码

输出数据项

数据项类型说明
FormulaDistributionResultKeyint配方匹配结果
FormulaDistributionDescriptionKeystring配方匹配说明
FormulaDistributionProductModelKeyProductModel匹配到的产品型号
FormulaDistributionFormulaModelKeyFormulaModel匹配到的配方

依赖服务

服务接口说明
ISettingProvider系统设置提供者
IProductProvider产品提供者
IFormulaProvider配方提供者

使用示例

基本配置

<MatchingFormulaActivity Name="匹配配方" />

设置产品识别码

<VariableWriteActivity Name="设置产品识别码">
<Variable>FormulaDistributionProductKey</Variable>
<Value>{产品识别码}</Value>
</VariableWriteActivity>

<MatchingFormulaActivity Name="匹配配方" />

典型流程配置

设置识别码 → 匹配配方 → 应用配方
<!-- 从 PLC 读取产品识别码 -->
<VariableReadActivity Name="读取产品识别码">
<Variable>ProductIdentificationCode</Variable>
<Target>FormulaDistributionProductKey</Target>
</VariableReadActivity>

<MatchingFormulaActivity Name="匹配配方" />

<ConditionActivity Name="匹配结果判断">
<Condition>Flow.DataItems["FormulaDistributionProductModelKey"] != null</Condition>
<TrueBranch>
<DistributeFormulaActivity Name="应用配方" />
</TrueBranch>
<FalseBranch>
<LogActivity Name="记录匹配失败" />
</FalseBranch>
</ConditionActivity>

系统配置要求

配方下发方式

需要在系统设置中配置配方下发方式为"工序识别产品时下发配方"(值为 2):

  • 设置项:CMSPluginFormulaManagementSettings.FormulaDistributionMode
  • 值:2

相关节点

注意事项

  1. 产品识别码必须在流程数据项中设置
  2. 需要在系统设置中启用"工序识别产品时下发配方"
  3. 产品型号必须在系统中存在
  4. 产品必须关联有效的配方