MatchingFormulaActivity - 匹配配方
概述
| 属性 | 值 |
|---|---|
| 节点名称 | 匹配配方 |
| 节点描述 | 匹配配方步骤 |
| 节点类型 | 业务节点 |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 程序集 | CMS.Plugin.MesSuite.Activitys |
| 分类 | 工序步骤 |
| 排序 | 7 |
| 发布 | 是 |
| 基类 | ProcessBusinessActivity |
功能说明
MatchingFormulaActivity 是匹配配方节点,用于根据产品识别码匹配对应的产品型号和配方。该节点通常与 DistributeFormulaActivity 配合使用,先匹配配方再应用配方。
配置属性
此节点无额外配置属性。
业务逻辑
执行流程
开始
│
▼
初始化流程数据项
│
▼
检查配方下发功能是否启用
│
├─► 未启用 → 设置结果=3,返回
│
▼
获取产品识别码
│
├─► 为空 → 设置 结果=0,返回
│
▼
检查配方下发方式配置
│
├─► 未启用工序识别产品时下发配方 → 设置结果=3,返回
│
▼
根据识别码查找产品型号
│
├─► 未找到 → 设置结果=3,返回
│
▼
根据产品型号匹配配方
│
├─► 未找到 → 设置结果=3,返回
│
▼
设置产品型号和配方到流程数据项
│
▼
结束
结果值说明
| 结果值 | 说明 |
|---|---|
| 0 | 产品识别码为空 |
| 3 | 功能未启用/未找到产品型号/未找到配方 |
流程数据项
输入数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| ApplicationData | ProcessModel | 工艺模型 |
| FormulaDistributionProductKey | string | 产品识别码 |
输出数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| FormulaDistributionResultKey | int | 配方匹配结果 |
| FormulaDistributionDescriptionKey | string | 配方匹配说明 |
| FormulaDistributionProductModelKey | ProductModel | 匹配到的产品型号 |
| FormulaDistributionFormulaModelKey | FormulaModel | 匹配到的配方 |
依赖服务
| 服务接口 | 说明 |
|---|---|
| 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>