F_TRIG, falling edge trigger

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

Questo blocco funzione attiva l’uscita Q per un loop di programma sul fronte di disattivazione dell’ingresso di clock CLK.

Per facilitare il test dei programmi, è possibile da LogicLab tramite le funzioni di debug attivare l’uscita Q che rimarrà attiva per un loop di programma.

Information Circle

Blocco funzione

CODESYS: Non disponibile

LogicLab: eLLabStdLib

Descrizione

CLK (BOOL) Clock, sul fronte di disattivazione del segnale, viene attivata l’uscita Q per un loop di programma.
Q (BOOL) Uscita, attiva per un loop di programma sul fronte di disattivazione dell’ingresso di clock CLK

Immagine FB F_TRIG

Esempi

Come utilizzare gli esempi.
L’attivazione per un loop di programma dell’uscita permette di utilizzare il blocco funzione per poter gestire ad esempio un semplice counter. Il valore della variabile Count si incrementa sul fronte di disattivazione della variabile CFlag.

Nel programma in ladder esiste l’operando |N| che si comporta esattamente come questo blocco funzione, ho quindi definito un array di variabili CFlag per comparare il funzionamento.

LogicLab (Ptp115, LD_F_TRIG)
PROGRAM LD_F_TRIG
VAR
    CFlag : ARRAY[ 0..1 ] OF BOOL; (* Command flag *)
    Count : UDINT; (* Counter *)
    PTrigger : F_TRIG; (* Pulse trigger *)
END_VAR
Immagine programma LD_F_TRIG
LogicLab (Ptp115, ST_F_TRIG)
PROGRAM ST_F_TRIG
VAR
    CFlag : BOOL; (* Command flag *)
    Count : UDINT; (* Counter *)
    PTrigger : F_TRIG; (* Pulse trigger *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_F_TRIG"
// *****************************************************************************
// This program manages a counter on falling edge of CFlag.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // COUNTER
    // -------------------------------------------------------------------------

    PTrigger(CLK:=CFlag); //Call the function block
    IF (PTrigger.Q) THEN Count:=Count+1; END_IF;

// [End of file]
Was this article helpful?