in data 05-05-2011 05:43 AM
Ciao,
ho creato un .vi che x il monitoraggio energetico di uno stabilimento. Poiché ogni 15min effettua una scansione dei dati, devo plottare questi su un grafico che si aggiorni ad ogni iterazione successiva.
es.
irraggiamento (è un dbl) in funzione del tempo (ora e data)
Ho provato inserendo il waveform chart all'interno del ciclo do, ma stranamente non riporta ne l'ora corrente ne la data. (indica la data del 01/01/1904)
Grazie
Francesco
in data 05-06-2011 04:00 AM
in data 05-10-2011 09:24 AM
Ciao Licia,
sono riuscito a diagrammare seguendo i tuoi consigli. Ora dai grafici ottenuti voglio ricavarmi media, min e max.
Ho individuato le funzioni che mi occorrono, ma nn riesco a collegarle fra loro.
In allegato c'è 1 immagine di ciò che ho realizzato
Grazie
Francesco
in data 05-11-2011 03:43 AM
Ciao Francesco,
dallo screenshot non riesco a capire bene, comunque la funzione Mean.vi vuole in ingresso un array di double. Se hai a disposizione una waveform, potresti estrarre il vettore contenuto tramite la funzione Get Waveform Components.vi (che trovi sotto Programming-> Waveform).
Ciao!
Licia
in data 05-11-2011 09:06 AM
Ciao Licia,
ho seguito il tuo consiglio, ma non capisco per quale motivo non mi dà alcun valore in uscita.
Potrei risolvere il problema anche in un altro modo, ma a riguardo avrei qualche domanda da farti.
In pratica il mio .vi è costituito da un ciclo do while che ad ogni iterazione assegna dei valori a delle variabili contenute al suo interno; poiché a me interessa sapere valore medio, min e max di tali variabili, stavo pensando di accumulare sul bordo del ciclo un vettore e successivamende all'esterno (del do while) ricavarmi media, min e max. Ho provato ma non mi accumula alcun valore nel vettore sul bordo.
Non sò se sono stato abbastanza chiaro, cmq allego 1 immagine in cui c'è anche il graph.
Grazie
F
in data 05-11-2011 09:29 AM
Ciao Francesco,
in base all'immagine, in realtà non stai creado un vettore in uscita dal ciclo while, ma semplicemente portando fuori l'ultima waveform prodotta.
Per creare un vettore che tenga immagazzinati i dati prodotti a ciascuna iterazione, dovresti abiltare l'indexing sul tunnel di uscita del ciclo: in questo modo dal ciclo otterrai un array di waveform. A questo punto, ad esempio tramite un ciclo for, puoi estrarre per ogni elemento di questo vettore di waveform il vettore Y (come fatto nel tuo screenshot) e concatenare tutti i vettori Y tramite la funzione Build Array. Allego uno screensho per chiarezza.
Spero le indicazioni possano esserti utili e funzionali alla tua esigenza.
Ciao!
Licia