StepRelay, Relé passo-passo con comandi on/off

List

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

Il relè passo-passo è un sistema bistabile ovvero con due posizioni (aperto e chiuso) stabili, ad ogni impulso di comando sull'ingresso Cmd il FB commuta l'uscita Out in una delle posizioni e vi rimane stabilmente fino al successivo impulso sull'ingresso. Il relè passo-passo è utilizzato al posto del deviatore o dell’invertitore elettrico negli impianti di illuminazione domestica permettendo di azionare un dispositivo da più punti di comando. Due ingressi ausiliari forzano lo stato dell'uscita, attivando l'ingresso On l'uscita si attiva, attivando l'ingresso Off l'uscita si disattiva.

Vista la semplicità di questo blocco funzione, al fondo dell'articolo ne riporto il codice sorgente, come esempio di come realizzare un proprio FB. Sarà possibile modificarlo nel caso si desideri aggiungere ulteriori funzionalità.

Per chi utilizza i nostri sistemi nella automazione domotica, troverà molto utile questo FB, collegando all'ingresso Cmd il pulsante di comando ed alla uscita Out la lampada potrà gestire l'accensione/spegnimento della illuminazione di una stanza. Alla gestione locale dell'illuminazione agendo sui comandi On e Off è possibile avere una gestione remota da pagina web utilizzando l'FB HTTPServer, da server cloud via REST utilizzando il FB RESTClient o via MQTT utilizzando il FB MQTTClient.

Function block
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

Cmd (BOOL) Comando relè passo-passo, ad ogni fronte di attivazione dell'ingresso l'uscita Out cambia il suo stato.

On (BOOL) Comando attivazione ucita, attivando l'ingresso l'uscita si attiva.

Off (BOOL) Comando disattivazione ucita, attivando l'ingresso l'uscita si disattiva.

Out (BOOL) Uscita relè passo-passo.

Esempi

Come utilizzare gli esempi.
Attivando da debug la variabile In, Out cambia di stato. Per comandare la variazione di stato di Out occorre disattivare e poi riattivare la variabile In.

LogicLab (Ptp114)
PROGRAM ST_StepRelay
VAR
    In : BOOL; (* Input command *)
    Out : BYTE; (* Output status *)
    SRelay : StepRelay; (* Step relay *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_StepRelay"
// *****************************************************************************
// This program shows the use of StepRelay function block.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // STEP RELAY
    // -------------------------------------------------------------------------

    SRelay(Cmd:=In); //Step relay
    Out:=SRelay.Out; //Output status

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