Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

GRAPH

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

  

0 Kudos
Messaggio 1 di 6
6.085Visualizzazioni

Ciao Francesco,

se vuoi mettere il tempo assoluto sull'asse x di un waveform chart, puoi seguire quanto illustrato qui, qui e qui.

Spero gli esempi ti siano d'aiuto!

Ciao!

 

Licia

0 Kudos
Messaggio 2 di 6
6.069Visualizzazioni

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

0 Kudos
Messaggio 3 di 6
6.061Visualizzazioni

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

0 Kudos
Messaggio 4 di 6
6.047Visualizzazioni

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

 

0 Kudos
Messaggio 5 di 6
6.040Visualizzazioni

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

0 Kudos
Messaggio 6 di 6
6.036Visualizzazioni