Composite Qualification Judgment
Introduction
CompositeQualificationJudgmentActivity is a composite qualification judgment node that executes both PLC qualification judgment and local qualification judgment. The final result is qualified only when both judgments are qualified.
This node is suitable for scenarios requiring dual verification: Equipment Detection + System Verification.
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 PLCJudgmentAsync Method
│
├─► Get PLC Judgment Result
│
▼
Call LocalJudgmentAsync Method
│
├─► Get Local Judgment Result
│
▼
Composite Judgment
│
├─► PLC Qualified AND Local Qualified → Final Qualified
│
└─► Any Unqualified → Final Unqualified
│
▼
Set Flow Data Items
│
├─► OutboundResultValue = Result Value
├─► QualityResultValue = Result Value
└─► QualityResultReason = Unqualified Reason
│
▼
End
Composite Judgment Rules
| PLC Result | Local Result | Final Result | Unqualified Reason |
|---|---|---|---|
| Qualified(1) | Qualified(1) | Qualified(1) | Empty |
| Qualified(1) | Unqualified(2) | Unqualified(2) | Local Reason |
| Unqualified(2) | Qualified(1) | Unqualified(2) | PLC Reason |
| Unqualified(2) | Unqualified(2) | Unqualified(2) | PLC Reason|Local Reason |
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 |
| OutboundQualityVariable | string | Qualification Signal Variable Name |
Output Data Items
| Data Item | Type | Description |
|---|---|---|
| OutboundResultValue | int | Outbound Result Value (1=Qualified, 2=Unqualified) |
| QualityResultValue | int | Quality Result Value |
| QualityResultReason | string | Unqualified Reason (Format: PLC Reason |
Usage Example
Basic Configuration
<CompositeQualificationJudgmentActivity Name="Composite Qualification Judgment">
<ExclusionValue>-999</ExclusionValue>
<IgnoreNull>false</IgnoreNull>
</CompositeQualificationJudgmentActivity>
Typical Flow Configuration
<ParameterCollectActivity Name="Parameter Collect" />
<CompositeQualificationJudgmentActivity Name="Composite Qualification Judgment">
<IgnoreNull>true</IgnoreNull>
</CompositeQualificationJudgmentActivity>
<ConditionActivity Name="Quality Judgment">
<Condition>Flow.DataItems["QualityResultValue"] == 1</Condition>
<TrueBranch>Qualified Handling</TrueBranch>
<FalseBranch>Unqualified Handling</FalseBranch>
</ConditionActivity>
Comparison of Three Judgment Methods
| Feature | PLC Judgment | Local Judgment | Composite Judgment |
|---|---|---|---|
| Basis | PLC Signal | Recipe Parameters | Both |
| Configuration | Simple | Medium | Medium |
| Reliability | Dependent on Equipment | Dependent on Recipe | Double Assurance |
| Scenario | Equipment Detection | System Verification | Critical Process |
Notes
- Composite judgment executes both PLC and local judgments simultaneously.
- Final result is qualified only when both are qualified.
- Unqualified reasons are merged and separated by
|. - Parameter Collect node must be executed before this node.