Project saved
All changes saved as version v3.
P
Code Editor Analysis BaggingStage
Project TreeSTLadderFBDSFCHMI
L2_BAGGER_PLC
● 1 Programs● 10 Routines● 16 AOI Logic● 88 Tags
All
Updated (0)
States
RLL
ST
AOI
Tags
TASKS
10 items
MainTaskCONTINUOUS · P1010 items
MainProgram10 items
ROUTINE
r_Main
● ST
ROUTINE
r_IOMap
● ST
ROUTINE
r_Bagger
● ST
ROUTINE
r_BagInspect
● ST
ROUTINE
r_Accumulator
● ST
ROUTINE
r_TempControl
● ST
ROUTINE
r_Alarms
● ST
ROUTINE
r_AlarmPublishPackML
● ST
ROUTINE
r_ProducerTags
● ST
ROUTINE
r_OutputMap
● ST
ADD-ON INSTRUCTIONS
16 items
Valve_AOI2 items
AOI
Valve_AOI.Logic
● ST
AOI
Valve_AOI.Prescan
● ST
// r_IOMap — Physical I/O → AOI inputs; EIP tag wiring; P/C watchdog
// RULE: Only r_OutputMap writes physical outputs.
 
// — Valve / solenoid feedback → AOI inputs
InfeedGate.CmdOpen   := SOL_501_InfeedGate;
InfeedGate.FBClosed  := NOT SOL_501_InfeedGate;
DivertGate.CmdOpen   := SOL_502_Divert;
AccumGate.CmdOpen    := SOL_503_AccumGate;
 
// — PowerFlex525 inputs
VFD_501.DriveStatus := ME_501_DriveStatus;
VFD_501.MaxRPM     := 1750.0;
// r_ProducerTags — build L2_BAG_Status produced tag for PLC4 and PLC6
 
Heartbeat := Heartbeat + 1;
L2_BAG_Status.Heartbeat    := Heartbeat;
L2_BAG_Status.BaggerReady  := BaggerReady;
L2_BAG_Status.AccumFull    := BA_501.Full;
L2_BAG_Status.AccumSlotCount := BA_501.SlotCount;
 
// Consume recipe ID from kitting master
IF L2_KIT_Status.Heartbeat MOD 2 = 0 THEN
    ActiveRecipeID := L2_KIT_Status.ActiveRecipeID;
END_IF;
// r_Accumulator — BA-501 5-slot bag accumulator control
// Accepts bags when gate open; closes when full or PackML not Execute
 
BA_501(EnableIn := 1);
 
// Gate opens when cartoning stage requests bags
IF PackML_State = 6 AND NOT BA_501.Full THEN
    AccumGate.CmdOpen := L2_KIT_Status.AccumRequest;
ELSE
    AccumGate.CmdOpen := 0;
END_IF;
AccumGate(EnableIn := 1);
Module Review ×
1 of 3 ST • UPDATE
MainProgram/r_IOMap
‹ Back Use Accept/Revert Next ›
Explain
Generate
+ New
Project: BaggingStage · Line: Line 2 Kit Assembly (3 stations)
/missing-handshake line /report
Looking across 3 stations — checking handshake pairs…
Line 2 Kit Assembly — Cross-Station Handshake Audit
Full analysis of the Line 2 Kit Assembly production line (3 stations: KittingStage → BaggingStage → CartoningStage), examining every cross-station Produced/Consumed tag pair, command/ACK symmetry, and step-transition gating.
Headline findings — 3 HIGH-confidence gaps identified:
[KittingStage → BaggingStage]BaggerReady consumed by KittingStage's TrayTransfer, but no return ACK; bagger advances on local LS_501_Infeed only.
[BaggingStage → CartoningStage]AccumRequest opens AccumGate, but no AccumTaken ACK returns to confirm pickup.
[BaggingStage → CartoningStage]L2_BAG_Status.BaggerReady / AccumFull published but never cleared after handoff.
Recommended next step: review the r_Accumulator and r_Bagger routines before the next commissioning window.
line2-missing-handshake-report.md
Report · 15.4 KB
SOURCES:
← KittingStage
← BaggingStage
← CartoningStage
Response generated in 1:45 min
Ask me about your project. Use / for the skills menu
+