PLC Qualification Judgment
Introduction
PLCQualificationJudgmentActivity is a PLC qualification judgment node used to read the qualification signal from parameters collected from the PLC and judge whether the product is qualified.
This node relies on the qualification signal returned by the PLC for judgment, suitable for scenarios where the equipment (PLC) completes quality detection and returns the result.
Configuration Items
This node has no additional configuration properties and inherits common properties from the base class.
Business Logic
Execution Flow
Start
│
▼
Call PLCJudgmentAsync Method
│
├─► Get Parameter Collection Data
│
├─► Read Qualification Signal Variable
│ │
│ └─► Variable Name: OutboundQualityVariable or Default
│
├─► Parse Qualification Signal Value
│ │
│ ├─► 1 or true → Qualified
│ ├─► 2 → Unqualified
│ └─► 0 or other → Unknown
│
├─► If Unqualified, Match NG Reason
│
▼
Set Flow Data Items
│
├─► QualityResultValue = Result Value
│
└─► QualityResultReason = Unqualified Reason
│
▼
End
Qualification Signal Parsing
| Signal Value | Parse Result | Description |
|---|---|---|
| 1 | Qualified | Product detection qualified |
| true | Qualified | Boolean true converted to qualified |
| 2 | Unqualified | Product detection unqualified |
| 0 | Unknown | Unable to determine result |
| Other | Unknown | Unparsable value |
NG Reason Matching
When judged as unqualified, the system attempts to match specific reasons from the NG reason list in the process model:
- Traverse NG reasons defined in process model.
- Read value of corresponding variable.
- Compare with judgment value.
- Record NG reason if matched.
Flow Data Items
Input Data Items
| Data Item | Type | Description |
|---|---|---|
| ApplicationData | ProcessModel | Process Model, containing NG reason definitions |
| ParameterCollectData | IReadOnlyDictionary<string, IVariableValue> | Parameter Collection Data |
| OutboundQualityVariable | string | Qualification Signal Variable Name (Optional) |
Output Data Items
| Data Item | Type | Description |
|---|---|---|
| QualityResultValue | int | Quality Result Value (1=Qualified, 2=Unqualified, 0=Unknown) |
| QualityResultReason | string | Unqualified Reason |
Usage Example
Basic Configuration
<PLCQualificationJudgmentActivity Name="PLC Qualification Judgment" />
Specify Qualification Signal Variable
Specify qualification signal variable name via flow data item:
<VariableWriteActivity Name="Set Qualification Signal Variable">
<Variable>OutboundQualityVariable</Variable>
<Value>QualityResult</Value>
</VariableWriteActivity>
<PLCQualificationJudgmentActivity Name="PLC Qualification Judgment" />
Typical Flow Configuration
Parameter Collect → PLC Qualification Judgment → Condition Branch (Qualified/Unqualified)
<ParameterCollectActivity Name="Parameter Collect">
<!-- Collect PLC Qualification Signal -->
</ParameterCollectActivity>
<PLCQualificationJudgmentActivity Name="PLC Qualification Judgment" />
<ConditionActivity Name="Quality Judgment">
<Condition>Flow.DataItems["QualityResultValue"] == 1</Condition>
<TrueBranch>Qualified Handling</TrueBranch>
<FalseBranch>Unqualified Handling</FalseBranch>
</ConditionActivity>
Difference from Local Judgment
| Feature | PLC Qualification Judgment | Local Qualification Judgment |
|---|---|---|
| Subject | PLC/Equipment | MES System |
| Basis | Qualification Signal Variable | Recipe Parameter Limits |
| Scenario | Equipment Detection | System Verification |
| Configuration | Simple | Requires Recipe Parameters |
Notes
- Parameter Collect node must be executed before this node.
- Qualification signal variable must exist in collected data.
- NG reason matching requires pre-configuration in process model.
- If signal cannot be parsed, result is "Unknown".