Vai al contenuto

Utilizzo variabili di sistema in blocchi funzione

Home Forum SlimLine (Raspberry) Programmazione con LogicLab Utilizzo variabili di sistema in blocchi funzione

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #62094
    AndreaT.
    Partecipante

    Vorrei sapere se è possibile utilizzare delle variabili di sistema all’interno di un blocco funzione.

    #62097
    Sergio Bertana
    Amministratore del forum

    Si certo la norma IEC prevede la possibilità di utilizzare all’interno di blocchi funzione variabili esterne. Occorre identificarle con il nome ed il tipo definito indicandole con l’attributo VAR_EXTERNAL, ecco un esempio di FB in cui gestisco una uscita UDINT con un conteggio che si incrementa ad ogni secondo.

    FUNCTION_BLOCK MyFB
    VAR
        Pulse : BOOL; (* Pulse flag *)
    END_VAR
    VAR_OUTPUT
        Counter : UDINT; (* Counter *)
    END_VAR
    VAR_EXTERNAL
        SysClock1000 : BOOL; (* Clock 1 second *)
    END_VAR
    
        IF (SysClock1000 = Pulse) THEN RETURN; END_IF;
        Pulse:=SysClock1000; //Pulse flag
        IF NOT(SysClock1000) THEN RETURN; END_IF;
        Counter:=Counter+1;

    Basterà istanziare il FB in un program per poterlo utilizzare.

    PROGRAM MyProgram
    VAR
        FBUse : MyFB; (* FB instance *)
    END_VAR
    
        FBUse(); //Execute the FB
Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.