QualificationJudgmentActivity - 合格判断
概述
| 属性 | 值 |
|---|---|
| 节点名称 | 合格判断 |
| 节点描述 | 合格判断 |
| 节点类型 | 抽象基类 |
| 命名空间 | CMS.Plugin.MesSuite.Activitys |
| 程序集 | CMS.Plugin.MesSuite.Activitys |
| 分类 | 工序步骤 |
| 排序 | 26 |
| 发布 | 否 |
| 基类 | ProcessBusinessActivity |
功能说明
QualificationJudgmentActivity 是质量判定节点的抽象基类,提供了两种核心的合格判断方法:
- PLC 合格判断:从 PLC 采集的参数中读取合格信号,判断产品是否合格
- 本机合格判断:根据配方参数的上下限范围,对采集的参数值进行本地校验
该节点作为基类,被 PLCQualificationJudgmentActivity、LocalQualificationJudgmentActivity 和 CompositeQualificationJudgmentActivity 继承使用。
核心方法
PLCJudgmentAsync - PLC 合格判断
从流程数据中读取 PLC 采集的合格信号,进行质量判定。
protected virtual async Task<(int resultVariable, string unqualifiedReason)> PLCJudgmentAsync()
判断逻辑:
- 从
FlowItemCollection.ParameterCollectData获取采集数据 - 读取合格信号变量(默认为
OutboundQualityVariable) - 结果值:
1= 合格,2= 不合格,0= 未知 - 如果不合格,尝试从工艺模型的不良原因列表中匹配具体原因
LocalJudgmentAsync - 本机合格判断
根据配方参数的上下限范围,对采集的参数值进行本地校验。
protected virtual async Task<(int resultVariable, string unqualifiedReason)> LocalJudgmentAsync(double? exclusionValue = null, bool ignoreNull = false)
参数说明:
| 参数 | 类型 | 说明 |
|---|---|---|
| exclusionValue | double? | 排除值,当参数值等于此值时跳过校验 |
| ignoreNull | bool | 是否忽略空值,为 true 时空值不判定为 NG |
判断逻辑:
- 获取当前配方版本的参数定义
- 遍历工艺参数,与配方参数进行匹配
- 检查采集值是否在配方参数的上下限范围内
- 超出范围或为空(且不忽略空值)则判定为不合格
JudgmentAsync - 单参数判断
对单个参数进行合格判断。
protected virtual Task<(int? resultVariable, string unqualifiedReason)> JudgmentAsync(
FormulaVersion2ProcessParameterModel formulaParameter,
double? data,
bool ignoreNull = false,
string parameterIsNull = null,
string parameterOutOfRange = null)
判断规则:
- 参数值 < 下限 或 参数值 > 上限 → 不合格 (resultVariable = 2)
- 参数值为空且有上下限定义且不忽略空值 → 不合格(resultVariable = 2)
- 其他情况 → 合格(resultVariable = null,表示通过)
流程数据项
输入数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| ApplicationData | ProcessModel | 工艺模型,包含工艺参数和不良原因定义 |
| OrderModel | OrderModel | 工单模型,包含配方信息 |
| FormulaApplyModel | FormulaApplyModel | 配方应用模型 |
| ParameterCollectData | IReadOnlyDictionary<string, IVariableValue> | 参数采集数据 |
| OutboundQualityVariable | string | 合格信号变量名 |
输出数据项
| 数据项 | 类型 | 说明 |
|---|---|---|
| OutboundResultValue | int | 出站结果值(1=合格,2=不合格) |
| QualityResultValue | int | 质量结果值 |
| QualityResultReason | string | 不合格原因 |