Decisions

In diesem Bereich wird entschieden, welcher Abschnitt der Step Sequence, der zuvor im Studio konfiguriert wurde, abgearbeitet wird. Wenn sich die Sequence im definierten Decision-Schritt befindet, wird erwartet, dass eine Entscheidung getroffen wird. Dies führt dazu, dass der entsprechende Decision-Pfad ausgewählt wird und die weiteren Schrittfolgen festgelegt werden, die dann abgearbeitet werden.

Copy

// --------------------------- Decisions ---------------------------
     GVL_Sequence1.stSeqIf.xDecision := FALSE;
   // Decision Decision 1 Path 1 End Jump
   IF (GVL_Sequence1.iStepCounterLastCycle = 4 AND GVL_Sequence1.iStepCounter = 5 AND GVL_Sequence1.stSeqIf.xSeqAutomaticReleased) THEN
      GVL_Sequence1.iStepCounter := 6;
      GVL_Sequence1.stSeqIf.xDecision := TRUE; // Block step increment for one cycle
   END_IF

   // Decision Decision 1 Path 2 End Jump
   IF (GVL_Sequence1.iStepCounterLastCycle = 5 AND GVL_Sequence1.iStepCounter = 6 AND GVL_Sequence1.stSeqIf.xSeqAutomaticReleased) THEN
      GVL_Sequence1.iStepCounter := 6;
      GVL_Sequence1.stSeqIf.xDecision := TRUE; // Block step increment for one cycle
   END_IF

   // Decision Jumps Decision 1
   IF (GVL_Sequence1.iStepCounter = 3 AND GVL_Sequence1.stSeqIf.xSeqAutomaticReleased) THEN
      IF (GVL_Sequence1_IOs.i_xDecision_1_Path1) AND NOT (GVL_Sequence1_IOs.i_xDecision_1_Path2) THEN
         GVL_Sequence1.iStepCounter := 4;
         GVL_Sequence1.stSeqIf.xDecision := TRUE; // Block step increment for one cycle
      ELSIF (GVL_Sequence1_IOs.i_xDecision_1_Path2) AND NOT (GVL_Sequence1_IOs.i_xDecision_1_Path1) THEN
         GVL_Sequence1.iStepCounter := 5;
         GVL_Sequence1.stSeqIf.xDecision := TRUE; // Block step increment for one cycle
      END_IF
   END_IF

Zuletzt aktualisiert

War das hilfreich?