Local Qualification Judgment
Introduction
LocalQualificationJudgmentActivity is a local qualification judgment node used to verify and judge collected parameter values locally based on the upper and lower limit ranges defined in recipe parameters.
Unlike PLC qualification judgment, local judgment does not rely on the qualification signal returned by the PLC, but calculates the judgment result by the system itself based on the specification range defined in the recipe parameters.
Configuration Items
| Property Name | Display Name | Type | Required | Default Value | Description |
|---|---|---|---|---|---|
| ExclusionValue | Exclusion Value | double? | No | null | Skip verification for this parameter when value equals this |
| IgnoreNull | Ignore Null | bool | No | false | If collected value is null, ignore it and do not judge as NG |
Business Logic
Execution Flow
Start
│
▼
Call LocalJudgmentAsync Method
│
├─► Get Recipe Version Parameter Definition
│
├─► Traverse Process Parameters
│ │
│ ├─► Match Recipe Parameter
│ │
│ ├─► Check if it is Exclusion Value
│ │
│ └─► Call JudgmentAsync to Judge
│
├─► Summarize Judgment Results
│
▼
Set Flow Data Items
│
├─► QualityResultValue = Result Value
│
└─► QualityResultReason = Unqualified Reason
│
▼
End
Flow Data Items
Input Data Items
| Data Item | Type | Description |
|---|---|---|
| ApplicationData | ProcessModel | Process Model |
| OrderModel | OrderModel | Order Model |
| FormulaApplyModel | FormulaApplyModel | Recipe Application Model |
| ParameterCollectData | IReadOnlyDictionary<string, IVariableValue> | Parameter Collection Data |
Output Data Items
| Data Item | Type | Description |
|---|---|---|
| QualityResultValue | int | Quality Result Value (1=Qualified, 2=Unqualified) |
| QualityResultReason | string | Unqualified Reason |
Usage Example
Basic Configuration
<LocalQualificationJudgmentActivity Name="Local Qualification Judgment">
<ExclusionValue>-999</ExclusionValue>
<IgnoreNull>false</IgnoreNull>
</LocalQualificationJudgmentActivity>
Typical Flow Configuration
Parameter Collect → Local Qualification Judgment → Condition Branch (Qualified/Unqualified)
<ParameterCollectActivity Name="Parameter Collect">
<!-- Collection Configuration -->
</ParameterCollectActivity>
<LocalQualificationJudgmentActivity Name="Local Qualification Judgment">
<IgnoreNull>false</IgnoreNull>
</LocalQualificationJudgmentActivity>
<ConditionActivity Name="Quality Judgment">
<Condition>Flow.DataItems["QualityResultValue"] == 1</Condition>
<TrueBranch>Qualified Handling</TrueBranch>
<FalseBranch>Unqualified Handling</FalseBranch>
</ConditionActivity>
Notes
- Local judgment requires upper and lower limits defined in recipe parameters to perform verification.
- Parameter Collect node must be executed before this node.
- Exclusion Value function only takes effect when there are multiple parameters in the same parameter group.