OnOffCycle, on/off cycle with random times

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Libreria utilità generale
  6. OnOffCycle, on/off cycle with random times

Questo blocco funzione a differenza del FB BLINK, esegue la temporizzazione di un ciclo On/Off con tempi random di On e di Off definibili tra valori minimo e massimo. Il massimo valore di tempo gestito è di oltre 1193 ore. Impostando 0 nei tempi Min e Max si ottiene una uscita impulsiva (Un loop) sulla relativa temporizzazione.

Attivando il comando Enable l'uscita Out esegue un lampeggio On/Off con tempi random compresi tra i valori minimo e massimo definiti. Disabilitando l'ingresso l'uscita Out si disattiva. In Delay è ritornato il valore di ritardo attualmente attivo, in Time è ritornato il countdown del tempo.

Function block
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Enable (BOOL) Abilitazione blocco funzione, attivandolo viene gestito il lampeggio dell'uscita Out. Disattivandolo l'uscita viene resettata.

MinOffTime (UDINT) Valore minimo di tempo in cui l'uscita rimane nello stato logico low, espresso in mS.

MaxOffTime (UDINT) Valore massimo di tempo in cui l'uscita rimane nello stato logico low, espresso in mS.

MinOnTime (UDINT) Valore minimo di tempo in cui l'uscita rimane nello stato logico high, espresso in mS.

MaxOnTime (UDINT) Valore massimo di tempo in cui l'uscita rimane nello stato logico high, espresso in mS.

Out (BOOL) Stato On/Off in uscita.

Delay (UDINT) Valore di tempo attualmente in temporizzazione, espresso in mS.

Time (UDINT) Countdown tempo in temporizzazione, espresso in mS.

Esempi

Come utilizzare gli esempi.
Viene impostato un lampeggio con tempi random di Off compresi tra 1 e 3 secondi, e tempi random di On compresi tra 500mS e 2 secondi.

LogicLab (Ptp114)
PROGRAM ST_OnOffCycle_v1
VAR
    Lamp : BOOL; (* Lamp output *)
    VarOut : UDINT; (* Variable output *)
    Blink : OnOffCycle_v1; (* On/Off cycle FB *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_OnOffCycle_v1"
// *****************************************************************************
// Lamp blinks staying off for a random time between 1 to 3 S and on for a
// random time between 500 mS to 2 S.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // INITIALIZATION
    // -------------------------------------------------------------------------

    IF (SysFirstLoop) THEN
        Blink.MinOffTime:=1000; //Set the minimum off time
        Blink.MaxOffTime:=3000; //Set the maximum off time
        Blink.MinOnTime:=500; //Set the minimum on time
        Blink.MaxOnTime:=2000; //Set the maximum on time
    END_IF;

    // -------------------------------------------------------------------------
    // LAMP BLINKING
    // -------------------------------------------------------------------------

    Blink(Enable:=TRUE); //Call On/Off cycle FB
    VarOut:=Blink.Delay; //Delay time is copied to variable
    Lamp:=Blink.Out; //Lamp output

// [End of file]
LogicLab (Ptp114)

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 22 Marzo 2020