Cross-sequence zone

The Cross Sequence consists of Cross Sequence Master and Cross Sequence Slave. The Cross Sequence is used to organize the releases between two sequences.

Copy

   // --------------------------- ZONE 13 | CrossSeq_Master_Setter_10 ---------------------------

      // Zone Condition Assigns
      aCondZone13[0] := TRUE;
      aPaircheckZone13[0] := FALSE;

      fbZone13.P_iIndexOfLamp := 35;
      fbZone13.P_xInputPolarity := eInputPolarity.Active_High;
      fbZone13.P_xIsSystemZone := TRUE;

      fbZone13( // CrossSeq_Master_Setter_10
         xNoPBPressed := GVL_<Sequence_name>.stSeqIf.xSeqNoPBpressed, 
         xAutomaticRelease := GVL_<Sequence_name>.stSeqIf.xSeqAutomaticReleased, 
         iActualStepCounter := GVL_<Sequence_name>.iStepCounter, 
         aZone := aZ13, 
         aLampMatrix := aMatrix, 
         aTempMatrix := aTemp,
         aMonMatrix := GVL_<Sequence_name>_HMI.aHmiMon,
         aMonBuffer := GVL_<Sequence_name>_HMI.aHmiMonBuffer,
         aStepMatrix := aStep);

      IF fbZone13.M_InOutput(
            xManualRelease := GVL_<Sequence_name>.stSeqIf.xSeqManualReleased, 
            xFeedbackInput := GVL_Global.xCS_Sequence1_CrossSeq_Master_Setter_10, 
            xManualPB := FALSE, 
            timFeedbackInput := T#0MS, 
            aCross := aCrossZone13, 
            aCond := aCondZone13, 
            aFeedbackPairCheckInput := aPaircheckZone13) THEN
         GVL_Global.xCS_Sequence1_CrossSeq_Master_Setter_10 := TRUE;
      END_IF

   // --------------------------- ZONE 14 | CrossSeq_Master_Getter_10 ---------------------------

      // Zone Condition Assigns
      aCondZone14[0] := TRUE;
      aPaircheckZone14[0] := FALSE;

      fbZone14.P_iIndexOfLamp := 37;
      fbZone14.P_xInputPolarity := eInputPolarity.Active_Low;
      fbZone14.P_iIndexOfPaircheckLamp := 38;
      fbZone14.P_xIsSystemZone := TRUE;

      fbZone14( // CrossSeq_Master_Getter_10
         xNoPBPressed := GVL_<Sequence_name>.stSeqIf.xSeqNoPBpressed, 
         xAutomaticRelease := GVL_<Sequence_name>.stSeqIf.xSeqAutomaticReleased, 
         iActualStepCounter := GVL_<Sequence_name>.iStepCounter, 
         aZone := aZ14, 
         aLampMatrix := aMatrix, 
         aTempMatrix := aTemp,
         aMonMatrix := GVL_<Sequence_name>_HMI.aHmiMon,
         aMonBuffer := GVL_<Sequence_name>_HMI.aHmiMonBuffer,
         aStepMatrix := aStep);
      
      fbZone14.M_Input(
         xFeedbackInput := GVL_Global.xCS_Sequence1_CrossSeq_Master_Setter_10, 
         timFeedbackInput := T#0MS,  
         xManualRelease := GVL_<Sequence_name>.stSeqIf.xSeqManualReleased, 
         aCross := aCrossZone14, 
         aFeedbackPairCheckInput := aPaircheckZone14);

Last updated

Was this helpful?