Input Zone

Die Zone-In ermöglicht die Verarbeitung von Eingangsinformationen, beispielsweise von Sensoren. Ist in einem Schritt der Sequence-Check in einer Zone-In gesetzt, so wird ein Zustandswechsel dieser Zone-In in diesem Schritt erwartet. Ein Interlock-Check einer Eingangszone stellt sicher, dass der erwartete Zustand dieser Zone-In in diesem Schritt erhalten bleibt. In der Praxis kann beispielsweise ein Schalter durch eine Zone-In überwacht werden. Im Falle eines Schaltvorgangs muss das Signal des Schalters mit der Zone-In verknüpft werden und im entsprechenden Schritt ein Sequence-Check gesetzt sein.

Copy

   // --------------------------- ZONE 7 | Zone 7 ---------------------------

      // Zone Cross Interlock Assigns
      aCrossZone7[0] := GVL_<Sequence_name>_HMI.xManBtn_Zone_11;
      aCrossZone7[1] := GVL_<Sequence_name>_HMI.xManBtn_Zone_12;

      // Zone Condition Assigns
      aCondZone7[0] := TRUE;
      aPaircheckZone7[0] := FALSE;

      fbZone7.P_iIndexOfLamp := 23;
      fbZone7.P_iIndexOfPaircheckLamp := 24;
      fbZone7.P_xInputPolarity := eInputPolarity.Active_High;
      
      fbZone7( // Zone 7
         xNoPBPressed := GVL_<Sequence_name>.stSeqIf.xSeqNoPBpressed, 
         xAutomaticRelease := GVL_<Sequence_name>.stSeqIf.xSeqAutomaticReleased, 
         iActualStepCounter := GVL_<Sequence_name>.iStepCounter, 
         aZone := aZ7, 
         aLampMatrix := aMatrix, 
         aTempMatrix := aTemp,
         aMonMatrix := GVL_<Sequence_name>_HMI.aHmiMon,
         aMonBuffer := GVL_<Sequence_name>_HMI.aHmiMonBuffer, 
         aStepMatrix := aStep);
      
      fbZone7.M_Input(
         xFeedbackInput := GVL_<Sequence_name>_IOs.i_xZone7, 
         timFeedbackInput := T#0MS,  
         xManualRelease := GVL_<Sequence_name>.stSeqIf.xSeqManualReleased, 
         aCross := aCrossZone7, 
         aFeedbackPairCheckInput := aPaircheckZone7); 

   // --------------------------- ZONE 8 | Zone 7 Inv ---------------------------

      // Zone Cross Interlock Assigns
      aCrossZone8[0] := GVL_<Sequence_name>_HMI.xManBtn_Zone_9;
      aCrossZone8[1] := GVL_<Sequence_name>_HMI.xManBtn_Zone_10;

      // Zone Condition Assigns
      aCondZone8[0] := TRUE;
      aPaircheckZone8[0] := FALSE;

      fbZone8.P_iIndexOfLamp := 25;
      fbZone8.P_iIndexOfPaircheckLamp := 26;
      fbZone8.P_xInputPolarity := eInputPolarity.Active_Low;
      
      fbZone8( // Zone 7 Inv
         xNoPBPressed := GVL_<Sequence_name>.stSeqIf.xSeqNoPBpressed, 
         xAutomaticRelease := GVL_<Sequence_name>.stSeqIf.xSeqAutomaticReleased, 
         iActualStepCounter := GVL_<Sequence_name>.iStepCounter, 
         aZone := aZ8, 
         aLampMatrix := aMatrix, 
         aTempMatrix := aTemp,
         aMonMatrix := GVL_<Sequence_name>_HMI.aHmiMon,
         aMonBuffer := GVL_<Sequence_name>_HMI.aHmiMonBuffer, 
         aStepMatrix := aStep);
      
      fbZone8.M_Input(
         xFeedbackInput := GVL_<Sequence_name>_IOs.i_xZone7, 
         timFeedbackInput := T#0MS,  
         xManualRelease := GVL_<Sequence_name>.stSeqIf.xSeqManualReleased, 
         aCross := aCrossZone8, 
         aFeedbackPairCheckInput := aPaircheckZone8); 

Zuletzt aktualisiert

War das hilfreich?