LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

portata istantanea

Buongiorno,

è la mia prima esperienza nel mondo Labview e mi sono ritrovato subito in questo "rognoso" problema:

 

Ho un sensore che misura il Volume immesso in un recipiente che si ferma quando raggiunge un litro!

 

Ora dovrei calcolarmi la portata istantanea cio DeltaV/ Delta t.. Il delta t lo fisso io a 0.1 microsecondi, il mio problema è come calcolarmi il Delta V in un intervallo di tempo di 0,1 microsecondi.

 

Io dovrei memorizzare in una variabile A il valore di V all'istante 0 e memorizzare in B il valore all'istante 0.1 fare la differenza, dividere per 0.1 e plottarlo su di un grafico. Il passo successivvo è memorizzare in A il valore all'istante 0.1 ed in B quello a 0.2 ed eseguire i calcoli differenza e somma... Come fare?

Io non riesco proprio a memorizzare in un array o variabile un dato ad un determinato tempo stabilito!

Grazie per i preziosissimi consigli!

Giuseppe 

 

0 Kudos
Message 1 of 6
(3,748 Views)

Ciao Giuseppe,

innanzitutto, per contestualizzare il problema, ti chiedo come effettui l'acquisizione del segnale di volume: utilizzi una scheda di acquisizione con driver DAQmx?

Acquisici un campione di volume alla volta oppure hai a disposizione un array?

In ogni caso, la struttura che potresti utilizzare per avere a disposizione in un loop il dato memorizzato nell'iterazione precedente è lo shift register. Qui puoi trovare un tutorial sul suo utilizzo, qui e qui degli esempi.

Spero che ti siano d'aiuto!

Ciao!

 

Licia

0 Kudos
Message 2 of 6
(3,731 Views)

grazie ho risolto...

ora volevo sapere, su questo segnale che ora vedo prottato, come faccio a calcolare il tempo che intercorre tra due soglie che fisso io a determinati valori?

grazie

0 Kudos
Message 3 of 6
(3,726 Views)

Ciao,

se hai a disposizione un array con i dati, potresti cercare il primo elemento che supera la soglia tramite la funzione Search 1D array e calcolare in base agli indici e alla frequenza di campionamento quanto tempo è trascorso.

Ciao!

 

Licia

0 Kudos
Message 4 of 6
(3,715 Views)

no, ho una serie di valori che mi arrivano da un sensore esterno che incrementano il loro valore da 0 ad 1.

io volevo fissate due soglie calcolare il tempo che c'è tra la prima soglia e la seconda.. ti mando il file per vedere come stavo procedendo.. ho messo due comparatori con due soglie 0,5 e 0,3. Mi calcolo il tempo da 0 a 0,3 e poi il tempo da 0 a 0,5 facendo la differenza dovrei avere il tempo solo che all'uscita del case structure il valore è sempre 0, mentre all'interno si vede che aumenta e poi si stoppa. Come mai all'uscita del case il valore rimane sempre zero?

 

0 Kudos
Message 5 of 6
(3,707 Views)

Ottieni zero in uscita dalle strutture case in quanto al superamento delle soglie il confronto diventa falso, quindi viene eseguito il caso False delle strutture, in cui al tunnel di uscita viene passato il valore di default per il tipo numerico (zero, appunto).

Potresti utilizzare la funzione In Range e incrementare un contatore per ogni dato compreso tra le due soglie. Moltiplica il numero di campioni tra le due soglie per il tempo ciclo e in questo modo dovresti ottenere il tempo tra le due soglie.

Spero che questa soluzione possa fare al caso tuo!

Ciao!

 

Licia

0 Kudos
Message 6 of 6
(3,695 Views)