SR, Set/Reset flip flop

List

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

Questo blocco funzione su attivazione del comando di set S1 attiva l’uscita Q1 che rimane attiva anche quando il comando  viene disattivato. Per disattivare l’uscita occorre attivare il comando di reset R.

Il comando di set è prioritario sul comando di reset.

Information Circle

Blocco funzione

CODESYS: Non disponibile

LogicLab: eLLabStdLib

Descrizione

S1 (BOOL) Set, su attivazione del segnale, viene attivata l’uscita Q1 che rimane attiva anche quando il comando viene disattivato. Il comando è prioritario sul comando di reset.
R (BOOL) Reset, su attivazione del segnale, viene disattivata l’uscita Q1.
Q1 (BOOL) Uscita, si attiva e disattiva in funzione dei comandi di set e reset.

Immagine FB_SR

Esempi

Come utilizzare gli esempi.
Un semplice esempio permette di verificare il funzionamento del blocco funzione, attivando il comando Set si attiva SFlag che rimane attiva anche se si disattiva l’ingresso di set. Per disattivarla occorre attivare Reset.

Nel programma in ladder esistono gli operandi (S) e (R) che hanno la stessa funzionalità di questo blocco funzione, ho quindi definito un array di variabili SFlag per comparare il funzionamento. Da notare che avendo inserito il ramo con l’operando (S) dopo il comando di Reset si è data priorità al comando di Set.

LogicLab (Ptp115, LD_SR)
PROGRAM LD_SR
VAR
    Set : BOOL; (* Set command *)
    Reset : BOOL; (* Reset command *)
    FFlop : SR; * Flip/Flop *)
    SFlag : ARRAY[ 0..1 ] OF BOOL; (* Status flag *)
END_VAR
Immagine programma LD_SR
LogicLab (Ptp115, IL_SR)
PROGRAM IL_SR
VAR
    Set : BOOL; (* Set command *)
    Reset : BOOL; (* Reset command *)
    FFlop : SR; * Flip/Flop *)
    SFlag : BOOL; (* Status flag *)
END_VAR

(* ************************************************************************** *)
(* PROGRAM "IL_SR"                                                            *)
(* ************************************************************************** *)
(* This program shows the use of SR function block.                           *)
(*  ------------------------------------------------------------------------- *)

    (* ---------------------------------------------------------------------- *)
    (* FLIP/FLOP                                                              *)
    (* ---------------------------------------------------------------------- *)

    LD  Set (* Set command *)
    ST  FFlop.S1

    LD  Reset (* Reset command *)
    ST  FFlop.R

    CAL FFlop (* Call the function block *)

    LD  FFlop.Q1
    ST  SFlag

(* [End of file] *)
LogicLab (Ptp115, ST_SR)
PROGRAM ST_SR
VAR
    Set : BOOL; (* Set command *)
    Reset : BOOL; (* Reset command *)
    FFlop : SR; * Flip/Flop *)
    SFlag : BOOL; (* Status flag *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_SR"
// *****************************************************************************
// This program shows the use of SR function block.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // FLIP/FLOP
    // -------------------------------------------------------------------------

    FFlop(S1:=Set, R:=Reset); //Call the function block
    SFlag:=FFlop.Q1; //Status flag

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