LocalQualificationJudgmentActivity - 本机合格判断
概述
| 属性 | 值 |
|---|---|
| 节点名称 | 本机合格判断 |
| 节点描述 | 本机合格判断步骤 |
| 节点类型 | 业务节点 |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 程序集 | CMS.Plugin.MesSuite.Activitys |
| 分类 | 工序步骤 |
| 排序 | 27 |
| 发布 | 是 |
| 基类 | QualificationJudgmentActivity |
功能说明
LocalQualificationJudgmentActivity 是本机合格判断节点,用于根据配方参数的上下限范围,对采集的参数值进行本地校验判定。
与 PLC 合格判断不同,本机判断不依赖 PLC 返回的合格信号,而是由系统根据配方参数定义的规格范围自行计算判定结果。
配置属性
| 属性名 | 显示名称 | 类 型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| ExclusionValue | 指定排除检验的值 | double? | 否 | null | 当参数值等于此值时跳过该参数的校验 |
| IgnoreNull | 忽略空值 | bool | 否 | false | 若采集值为空,忽略空值后将不会判断为 NG |
业务逻辑
执行流程
开始
│
▼
调用 LocalJudgmentAsync 方法
│
├─► 获取配方版本参数定义
│
├─► 遍历工艺参数
│ │
│ ├─► 匹配配方参数
│ │
│ ├─► 检查是否为排除值
│ │
│ └─► 调用 JudgmentAsync 判断
│
├─► 汇总判断结果
│
▼
设置流程数据项
│
├─► QualityResultValue = 结果值
│
└─► QualityResultReason = 不合格原因
│
▼
结束
判断策略扩展
本机判断支持通过 ILocalJudgmentStrategy 接口扩展判断策略:
public interface ILocalJudgmentStrategy
{
Task<(int? resultVariable, string unqualifiedReason)> JudgmentAsync(
FormulaVersion2ProcessParameterModel formulaParameter,
double? data,
bool ignoreNull = false,
string parameterIsNull = null,
string parameterOutOfRange = null);
}
系统会依次调用注册的判断策略,直到某个策略返回非空结果。如果所有策略都返回空,则使用基类的默认判断逻辑。
流程数据项
输入数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| ApplicationData | ProcessModel | 工艺模型 |
| OrderModel | OrderModel | 工单模型 |
| FormulaApplyModel | FormulaApplyModel | 配方应用模型 |
| ParameterCollectData | IReadOnlyDictionary<string, IVariableValue> | 参数采集数据 |
输出数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| QualityResultValue | int | 质量结果值(1=合格,2=不合格) |
| QualityResultReason | string | 不合格原因 |
依赖服务
| 服务接口 | 说明 |
|---|---|
| IFormulaProvider | 配方提供者,获取配方版本信息 |
| IBusinessTextProvider | 业务文本提供者 |
| ILocalJudgmentStrategy | 本机判断策略(可选,支持多个) |
使用示例
基本配置
<LocalQualificationJudgmentActivity Name="本机合格判断">
<ExclusionValue>-999</ExclusionValue>
<IgnoreNull>false</IgnoreNull>
</LocalQualificationJudgmentActivity>