Introduzione ai cicli
Struttura essenziale di ogni programma sono sicuramente i cicli!! Ogni volta
che si deve ripetere la stessa operazione o la stessa sequenza di operazioni
un ciclo FOR o un ciclo WHILE potrebbe essere ciò di cui abbiamo bisogno.
Vedremo poi come queste due strutture vengono utilizzate per la creazione
di grafici.
Ciclo FOR
Si usa quando si deve ripetere una sequenza di operazioni per un numero
N di volte, conosciuto dall’utente o generato da elaborazioni precedenti
del VI. Si accede a questa struttura dal percorso All Functions>Structures>For
loop e la si dispone sul diagramma a blocchi con un’operazione di drag and
drop (o in italiano… premi e trascina!)
Nel punto indicato da N, si collega una costante (o il risultato di qualsiasi
elaborazione che restituisce un numero) che rappresenta il numero di iterazioni
che il ciclo eseguirà. Il quadratino in basso a sinistra invece restituisce
l’indicazione sull’iterazione corrente. Tutto il codice inserito all’interno
sarò eseguito quindi N volte!!! Il passaggio di valori all’interno del ciclo
avviene semplicemente collegando due punti, come si è fatto sinora. Il passaggio
di valori all’esterno è invece più complesso. È possibile scegliere di trasferire
solo un valore generato nell’ultima iterazione o tutta la raccolta di valori
generati nel corso delle N iterazioni. Procediamo con due esempi. Voglio
generare 10 numeri casuali e visualizzarli singolarmente, uno per volta.
Aprite un nuovo VI e disponete nel diagramma a blocchi e nel pannello di
controllo gli elementi indicati in figura:
Introduciamo in ogni ciclo un ritardo di 1 secondo per avere la possibilità
di vedere i 10 numeri casuali che si generano. Per fare questo usiamo la
funzione Wait until next ms multiple che si trova seguendo il percorso All
Function>Time & Dialog e colleghiamo in ingresso una costante intera
pari a 1000 (la funzione Wait… accetta in ingresso valori espressi in ms)
come mostrato in figura:
Eseguite ora il VI e osserverete i valori casuali compresi tra 0 e 1 aggiornasi
per 10 volte con frequenza di 1 secondo. Proviamo ora a raccogliere i 10
valori che si generano in un array. L’operazione potrebbe sembrare complicata
ma LabView è in grado di ricordare questi valori e restituirli all’uscita
del ciclo. Riaprite ora il VI appena creato e collegate l’uscita del generatore
di numeri casuali con il bordo destro (va bene qualsiasi bordo) della struttura
FOR, come in figura
Nel punto di arrivo di questo collegamento si può creare un quadrato pieno
o un quadrato con due parentesi quadre.
Se il quadratino è pieno vuol dire che verrà passato all’esterno solo l’ultimo
valore. Se il quadratino contiene all’interno le parentesi quadre vuol dire
che passerà un array i cui elementi saranno i valori casuali generati. Per
passare da una modalità all’altra bisogna cliccare con il tasto destro del
mouse e scegliere la voce enable indexing per abilitare l’indicizzazione
o disable indexing per disabilitare l’indicizzazione. Abilatate quindi l’indicizzazione
e poi premete ancora con il tasto destro del mouse sul quadratino (che dovrebbe
es{ere arancione, ad indicare che il numero è un reale) e scegliete la voce
create e poi indicator. Verrà creato subito un indicatore array (vedremo
più avanti qualcosina più in dettaglio sugli array) come in figura:
Provate ora ad eseguire il VI… nell’indicatore array ci sarà la raccolta
dei 10 numeri casuali!