9.3 Variabile tipo Formula
Selezionando una variabile di tipo formula è possibile:
- Selezionare da un apposito elenco le variabili con cui creare la formula.
- Selezionare da un apposito elenco le funzioni LUA create in precedenza.
- Aprire il file di testo contenente le funzioni LUA.
- Controllare che la sintassi della formula sia corretta.
Immaginiamo di avere una regola (codice) che dipende dal volume di un ambiente chiuso. I tra valori da inputare saranno
- Lunghezza
- Larghezza
- Altezza
Immaginiamo di avere un codice di ritorno dipendente dal volume. In questo caso non è possibile creare una regola in grado di evadere il codice sulla base di tre valori inputati.
L’unica soluzione sarebbe definire una sola variabile “volume” e delegare all’utente il compito di effettuare il calcolo del valore da inserire nel configuratore.
Un metodo più elegante consiste nel definire le tre variabili di input e una variabile formula dipendente da queste tre variabili.
Per prima cosa definiamo le tre variabili (numeriche) oppure lista (con valori numerici)
Ed una variabile formula. La variabile formula richiede l’impostazione della formula nella casella di testo.
Qui abbiamo due possibilità:
- Formula Diretta:
Possiamo inserire nella casella di testo la formula:
larghezza * lunghezza * altezza
Questa formula è corretta ma potrebbe creare problemi di validazione sui valori in ingresso.
- Formula Funzione:
Una soluzione più affidabile è quella di delegare ad una funzione lua il calcolo richiesto.
Per l’utilizzo del lua fare riferimento all’apposita sezione.
In questo caso nella casella di testo inseriremo il nome di una funzione lua (da definire) CalcolaVolume()
Premendo il tasto “File Formule” accediamo al file di definizione delle formule utente. Qui andremo a definire la nostra funzione.
La funzione deve restituire il valore che verrà assegnato alla variabile volume e può accedere alle variabili definite nella macchina come variabili globali lua.
Nota: Qualsiasi funzione utilizzata per una variabile di tipo formula deve restituire un valore numerico.
Nota: Le variabili formula offrono l'accesso completo al linguaggio lua (le funzioni lua a disposizione sono elencate nel capito 13.5 “Linguaggio LUA”).
Nell’esempio si vede come venga garantita la validazione dei valori in ingresso, proteggendo il calcolo da valori non corretti.
Nota: La validazione della sintassi del tasto di "controllo formula" funziona solo nel caso di Formula Diretta
A questo punto salviamo le variabili ed accediamo al gruppo impostando la regola richiesta.
Salviamo il gruppo e testiamo in configurazione nel modulo utente. Inputando i tre valori di lunghezza, larghezza e altezza viene aggiornato il valore del volume e di conseguenza il codice in uscita.