Ciclo while

Discussioni generali sulla programmazione in LabVIEW, domande, problemi e soluzioni.

Moderatore: ILVG mod

  • Advertisement

Ciclo while

Messaggioda maurifabi » mar gen 22, 2019 11:29 pm

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
Nuovo Utente
 
Messaggi: 31
Iscritto il: lun mar 22, 2010 10:23 pm

Re: Ciclo while

Messaggioda gepponline » mer gen 23, 2019 9:23 am

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.
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2117
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Ciclo while

Messaggioda maurifabi » gio gen 24, 2019 7:42 pm

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
Nuovo Utente
 
Messaggi: 31
Iscritto il: lun mar 22, 2010 10:23 pm

Re: Ciclo while

Messaggioda gepponline » ven gen 25, 2019 9:06 am

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...
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2117
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Ciclo while

Messaggioda maurifabi » ven gen 25, 2019 7:51 pm

C'è solo l'indexing, o non indexing che significa last value. Non c'è ne il concatenating, né il conditional...
maurifabi
Nuovo Utente
Nuovo Utente
 
Messaggi: 31
Iscritto il: lun mar 22, 2010 10:23 pm

Re: Ciclo while

Messaggioda gepponline » lun gen 28, 2019 9:34 am

Ah ok, perfetto.
L'indexing è quello che ti serviva no?
O con sequenza di dati intendevi qualcos'altro?
..ma ciao!
Immagine
Avatar utente
gepponline
Moderatore
 
Messaggi: 2117
Iscritto il: ven gen 28, 2005 11:27 am
Località: Monticello Brianza

Re: Ciclo while

Messaggioda maurifabi » mar gen 29, 2019 7:16 pm

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
Nuovo Utente
 
Messaggi: 31
Iscritto il: lun mar 22, 2010 10:23 pm



  • Advertisement

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron

Pannello di Controllo Utente

Login

Advertisement

Chi c’è in linea

In totale c’è 1 utente connesso :: 0 iscritti, 0 nascosti e 1 ospite (basato sugli utenti attivi negli ultimi 5 minuti)
Record di utenti connessi: 119 registrato il dom mar 31, 2013 11:39 pm

Visitano il forum: Nessuno e 1 ospite