Rispondi a: Utilizzo delle funzioni nel linguaggio ST
Home › Forum › Programmazione IEC 61131 (LogicLab) › Utilizzo delle funzioni nel linguaggio ST › Rispondi a: Utilizzo delle funzioni nel linguaggio ST
L’argomento funzioni e blocchi funzioni è trattato in molti topics del forum ti rimando a questo topic che tratta l’utilizzo di variabili globali nelle funzioni. Interessante è anche questo topic dove vi sono esempi di come realizzare funzioni e blocchi funzione.
Venendo alla tua domanda però come troverai scritto nel topic a cui ti ho rimandato ti ricordo che solo i FB possono accedere a variabili globali, le funzioni possono operare solo con variabili di ingresso e una sola variabile di ritorno.
Ma anche se è possibile da FB operare direttamente su variabili globali (Si utilizza la dichiarazione VAR_EXTERNAL) è una pratica sconsigliata in quanto nel momento in cui esporti il FB ti troverai con delle dipendenze esterne che se non presenti nel programma dove il FB viene importato daranno errori di compilazione.
Ho preparato un esempio (Ecco lo screenshot in simulazione su PC) che esprime i concetti riportati. Come si vede dalla stampa del programma, ho realizzato due funzioni. La funzione MyFunPtr ha come parametro un puntatore ed in questo modo può fare riferimento a variabili globali (Occorre passare alla funzione l’indirizzo della variabile). In questo modo la funzione può sia leggere che scrivere il valore del parametro (Download programma).