Check Laser status Sequence Diagram

sequenceDiagram %% API Registered Routine: Check Laser status (Section: NLOS) participant User as "API Call" participant CheckLaserstatus as "Check Laser status" User->>+CheckLaserstatus: Call Check Laser status participant CheckStatusPLD2 as "Check Status PLD2" participant CheckStatusPLD1 as "Check Status PLD1" participant CheckStatusIdler as "Check Status Idler" participant CheckStatusSeed as "Check Status Seed" CheckLaserstatus->>+CheckStatusPLD2: Execute Check PLD2 CheckStatusPLD2->>CheckStatusPLD2: Check STATUS - read_digital (name: STATUS, portnum: 3) CheckStatusPLD2->>CheckStatusPLD2: Check TECG - read_digital (name: TEC G, portnum: 3) CheckStatusPLD2->>CheckStatusPLD2: Format Output Values - output_values (values: ["prev('Check STATUS')","prev('Check TECG')"]) alt minimum(prev('Format Output Values'))==0 CheckStatusPLD2->>CheckStatusPLD2: Raise Error - raise_exception (e: Error in PLD2) end CheckStatusPLD2-->>-CheckLaserstatus: Complete CheckLaserstatus->>+CheckStatusPLD1: Execute Check PLD1 CheckStatusPLD1->>CheckStatusPLD1: Check STATUS - read_digital (name: STATUS, portnum: 2) CheckStatusPLD1->>CheckStatusPLD1: Check TECG - read_digital (name: TEC G, portnum: 2) CheckStatusPLD1->>CheckStatusPLD1: Format Output Values - output_values (values: ["prev('Check STATUS')","prev('Check TECG')"]) alt minimum(prev('Format Output Values'))==0 CheckStatusPLD1->>CheckStatusPLD1: Raise Error - raise_exception (e: Error in PLD1) end CheckStatusPLD1-->>-CheckLaserstatus: Complete CheckLaserstatus->>+CheckStatusIdler: Execute Check Idler CheckStatusIdler->>CheckStatusIdler: Check 1PGM - read_digital (name: 1PGM, portnum: 1) CheckStatusIdler->>CheckStatusIdler: Check TECG - read_digital (name: TEC G, portnum: 1) CheckStatusIdler->>CheckStatusIdler: Check INTERLOCK - read_digital (name: INTRLCK, portnum: 1) CheckStatusIdler->>CheckStatusIdler: Format Output Values - output_values (values: ["prev('Check 1PGM')","prev('Check TECG')","prev('Check INTERLOCK')"]) alt minimum(prev('Format Output Values'))==0 CheckStatusIdler->>CheckStatusIdler: Raise Error - raise_exception (e: Error in idler) end CheckStatusIdler-->>-CheckLaserstatus: Complete CheckLaserstatus->>+CheckStatusSeed: Execute Check Seed CheckStatusSeed->>CheckStatusSeed: Check TECG - read_digital (name: TEC G, portnum: 0) CheckStatusSeed->>CheckStatusSeed: Check INTERLOCK - read_digital (name: INTRLCK, portnum: 0) CheckStatusSeed->>CheckStatusSeed: Format Output Values - output_values (values: ["prev('Check TECG')","prev('Check INTERLOCK')"]) alt minimum(prev('Format Output Values'))==0 CheckStatusSeed->>CheckStatusSeed: Raise Error - raise_exception (e: Error in seed) end CheckStatusSeed-->>-CheckLaserstatus: Complete CheckLaserstatus-->>-User: Check Laser status Complete
Zoom: 100%