Cross Sequence Zone

Die Cross Sequence setzt sich aus Cross Sequence Master und Cross Sequence Slave zusammen. Die Cross Sequence wird verwendet, um die Freigaben zwischen zwei Sequences zu organisieren.

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);

Zuletzt aktualisiert

War das hilfreich?