RS, Reset/Set 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 S attiva l’uscita Q1 che rimane attiva anche quando il comando  viene disattivato. Per disattivare l’uscita occorre attivare il comando di reset R1.

Il comando di reset è prioritario sul comando di set.

Information Circle

Blocco funzione

CODESYS: Non disponibile

LogicLab: eLLabStdLib

Descrizione

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

Immagine FB_RS

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 (R) dopo il comando di Set si è data priorità al comando di Reset.

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

(* ************************************************************************** *)
(* PROGRAM "IL_RS"                                                            *)
(* ************************************************************************** *)
(* This program shows the use of RS function block.                           *)
(*  ------------------------------------------------------------------------- *)

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

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

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

    CAL FFlop (* Call the function block *)

    LD  FFlop.Q1
    ST  SFlag

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

// *****************************************************************************
// PROGRAM "ST_RS"
// *****************************************************************************
// This program shows the use of RS function block.
// -----------------------------------------------------------------------------

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

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

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