Ciclo while
Moderatore: ILVG mod
-
- Advertisement
7 messaggi
• Pagina 1 di 1
Ciclo while
Salve... Qualcuno mi potrebbe spiegare per favore, se esiste un modo per fare uscire una sequenza di dati da un ciclo while??? Grazie...
- maurifabi
- Nuovo Utente
- Messaggi: 31
- Iscritto il: lun mar 22, 2010 10:23 pm
Advertisement
Re: Ciclo while
S ecome sequenza di dati intendi un array, basta che colleghi il filo del tuo dato al bordo destro del ciclo while, comparirà un quadratino.
Clikki col tasto destro su quel quadratino e comparirà la voce "Tunnel mode".
Li puoi scegliere se:
1-"Last value"= Far uscire solo l'ultimo valore
2-"Indexing"= Far uscire un array di valori passati al tunnel (se ci colleghi un array, in uscita avray un array bidimensionale)
3-"Concatenating"= Far uscire un array concatenato, cioè se passi un array al tunnel, anzichè avere in uscita un array con una dimensione in piu', lo avrai dello stesso tipo, con i valori consecutivi messi in coda
In piu' c'e' l'opzione "Conditional" che ti permette di passare all'uscita i valori corrispondenti, solo se il nodo conditional è TRUE. QUindi se normalmente hai N valori per N iterazioni, con questa opzione, potresti avere N iterazioni ma N-X valori in uscita.
E grazie a questa tua domanda ho scoperto l'esistenza del caso 3 e dell'opzione condizionale che non conoscevo e mi domando se è sempre esistita o se c'e' solo nelle ultime versioni di Labview (io uso la 2017) perchè a saperlo prima le avrei usate in piu' occasioni.
Aggiungo che l'altra possibilità è di selezionare "Replace with shift register", cioè trasformare il tunnel in un nodo che riporta l'ultimo valore all'inizio del ciclo successivo (è un tipo di tunnel ch epoi in uscita riporta l'ultimo valore passato) facendo in modo che tu possa prendere l'ultimo valore e prenderlo come riferimento per farci calcoli o comunque ragionamenti nei cicli successivi senza passare dalla creazione di variabili.
Clikki col tasto destro su quel quadratino e comparirà la voce "Tunnel mode".
Li puoi scegliere se:
1-"Last value"= Far uscire solo l'ultimo valore
2-"Indexing"= Far uscire un array di valori passati al tunnel (se ci colleghi un array, in uscita avray un array bidimensionale)
3-"Concatenating"= Far uscire un array concatenato, cioè se passi un array al tunnel, anzichè avere in uscita un array con una dimensione in piu', lo avrai dello stesso tipo, con i valori consecutivi messi in coda
In piu' c'e' l'opzione "Conditional" che ti permette di passare all'uscita i valori corrispondenti, solo se il nodo conditional è TRUE. QUindi se normalmente hai N valori per N iterazioni, con questa opzione, potresti avere N iterazioni ma N-X valori in uscita.
E grazie a questa tua domanda ho scoperto l'esistenza del caso 3 e dell'opzione condizionale che non conoscevo e mi domando se è sempre esistita o se c'e' solo nelle ultime versioni di Labview (io uso la 2017) perchè a saperlo prima le avrei usate in piu' occasioni.
Aggiungo che l'altra possibilità è di selezionare "Replace with shift register", cioè trasformare il tunnel in un nodo che riporta l'ultimo valore all'inizio del ciclo successivo (è un tipo di tunnel ch epoi in uscita riporta l'ultimo valore passato) facendo in modo che tu possa prendere l'ultimo valore e prenderlo come riferimento per farci calcoli o comunque ragionamenti nei cicli successivi senza passare dalla creazione di variabili.
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2154
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Ciclo while
Grazie. Nella mia versione (2009), esiste solo l'indexing... per abitudine esco dai cicli while sempre a sinistra dove esiste solo la modalità last value (poi un giorno capirò perché), e non sapevo... però mi hai dato un'idea per aggirare un ostacolo, FORSE (!!!)... grazie.
- maurifabi
- Nuovo Utente
- Messaggi: 31
- Iscritto il: lun mar 22, 2010 10:23 pm
Re: Ciclo while
No aspetta qualcosa non mi torna, l'indexing dovresti comunque averlo anche nella versione 2009.
E...sei sicuro che sia a sinistra? Il dataflow solitamente va verso destra...
E...sei sicuro che sia a sinistra? Il dataflow solitamente va verso destra...
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2154
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Ciclo while
C'è solo l'indexing, o non indexing che significa last value. Non c'è ne il concatenating, né il conditional...
- maurifabi
- Nuovo Utente
- Messaggi: 31
- Iscritto il: lun mar 22, 2010 10:23 pm
Re: Ciclo while
Ah ok, perfetto.
L'indexing è quello che ti serviva no?
O con sequenza di dati intendevi qualcos'altro?
L'indexing è quello che ti serviva no?
O con sequenza di dati intendevi qualcos'altro?
..ma ciao!


-
gepponline - Moderatore
- Messaggi: 2154
- Iscritto il: ven gen 28, 2005 11:27 am
- Località: Monticello Brianza
Re: Ciclo while
Avevo un ciclo for annidato in un ciclo while; i dati (una stringa) uscivano dal for, ma si fermavano al tunnel del while... credo di aver risolto (almeno secondo la probe, ma devo ancora provare sulla macchina reale) sincronizzando le iterazioni dei due cicli...
- maurifabi
- Nuovo Utente
- Messaggi: 31
- Iscritto il: lun mar 22, 2010 10:23 pm
7 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite