Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

comunicazione tra VI

salve io ho un problema nella trasmissione dei dati da un VI ad un altro, ho provato ad usare la libreria RTFIFO realizzando in un VI la parte di scrittura e nell'altro la parte di lettura, ma la comunicazione dei dati non avviene,

ho utilizzato la guida su questo link  http://zone.ni.com/devzone/cda/tut/p/id/3934%23toc1

se qualcuno può aiutarmi...

ringrazio anticipatamente
allego i due VI che ho realizato...
0 Kudos
Messaggio 1 di 9
4.927Visualizzazioni

Buongiorno all1985

Potresti dare qualche indicazione più precisa in merito al problema che hai riscontrato? Il link al documento che hai riportato non è accessibile. Probabilmente ti riferivi al seguente documento:

http://zone.ni.com/devzone/cda/tut/p/id/3934

saluti

Matteo
0 Kudos
Messaggio 2 di 9
4.914Visualizzazioni
Ciao,
    un modo più flessibile per passare i dati può essere la Global variable, che ti permette un passaggio di dati strutturati anche più complessi rispetto alla RT fifo (cluster).  Ti consiglio di valutarla.  Poi, puoi passare alle functional global, che pero' non è un vero e proprio tipo dati, nel senso che è un'implementazione dell'utente, basata su un insieme di tecniche semplici.

   ti consiglio di leggere questo tutorial, DATA SHARE IN LABVIEW, ti do il link alla pagina principale.

   Spero di essere stato utile....

graziano


Message Edited by Graziano on 04-28-2008 01:40 AM
0 Kudos
Messaggio 3 di 9
4.897Visualizzazioni
grazie della risposte....

ho implementato sia il metodo della variabili globali che quelle del RT FIFO però non avviene il trasferimento, cioè nel VI di ricezione i dai non arrivano....Ho implementato un applicazione di prova con due vi, nel primo trasmetto un vettore random con valori tra 0 e 10, e con l'altro ricevo tale vettore e lo visualizzo sul front panel, tale struttura funzione funziona sia con il RTFIFO che con le variabili Globali, ma quando vado ad implementare tutto sulla mia applicazione che programma un DSP BF537 Analog Device, i dati non vengono più trasmessi e non capisco il perchè......qualcuno può aiutarmi
0 Kudos
Messaggio 4 di 9
4.882Visualizzazioni
Ciao!
   Dall'immagine allegata, si vede che nel progetto hai 2 VI, bufifo.vi e PS.vi , solo che non sono sulla stessa macchina! Per comunicare tra differenti vi su target diversi, si usano le shared variable, non funziona con le global (con le RT fifo non so bene, ma non credo....).

graziano
Messaggio 5 di 9
4.873Visualizzazioni

Salve all1985,

quanto dice Graziano è correttissimo. Sia le code RT sia le variabili globali hanno un raggio di azione limitato al target. Non possono esistere su 2 target separati.
Lo scopo delle code RT è trasferire i dati in maniera affidabile tra il ciclo real time "critico" e quello "non-critico", entrambi nel DSP nel tuo caso.

Tipicamente poi il ciclo "non-critico" si occupa di spedire i dati al PC-Host. Questo perche' una comunicazione TCP/IP è intrinsecamente non-deterministica e non deve per nessun motivo essere inserita nella sezione critica del tuo codice real-time. Pena la perdita del determinismo.

Riassumendo la catena di comunicazione dovrebbe essere.

RTFIFO tra Time Critical Loop e Normal Priority Loop entrabi nel target real time.
Shared Variable o TCP/IP a seconda delle preferenze e delle disponibilità dell'HW tra Normal Priority Loop e PC Host.

Un saluto a tutti.

 

FiloP
It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong.
Richard P. Feynman
Messaggio 6 di 9
4.866Visualizzazioni
salve sul mio target ADSP-BF537 non è possibile creare una variabile condivisa, mi sapresti dire come implementare tale struttura...

RTFIFO tra Time Critical Loop e Normal Priority Loop entrabi nel target real time.
Shared Variable o TCP/IP a seconda delle preferenze e delle disponibilità dell'HW tra Normal Priority Loop e PC Host.
0 Kudos
Messaggio 7 di 9
4.851Visualizzazioni
Io sto lavorando su un DSP-BF537 della Analog device posto su una evaluation board NI, non so come implementare tale struttura...

RTFIFO tra Time Critical Loop e Normal Priority Loop entrabi nel target real time.
Shared Variable o TCP/IP a seconda delle preferenze e delle disponibilità dell'HW tra Normal Priority Loop e PC Host.
0 Kudos
Messaggio 8 di 9
4.802Visualizzazioni
Salve io ho programmato il mio DSP per Lavorare in modalità Stand-alone cioè separatamente dal supporto del PC ora vorrei visualizzare i dati elaborati su PC trasmettendoli da DSP a PC ho tramite USB ho tramite RS232. ora vorrei sapere come devo fare tale comunicazione, io ho adisposizione LabVIEW Embedded for Blackfin con il quale ho realizzato la parte di prognemmazione del DSP, ora devo realizzare su Labview 8.2 un altro VI che acquisisce il segnale elaborato da DSP tramite RS232 o USB e lo Visualizza a Video.
La parte di trasmissione dei dati processati può essere fatta con i blocchi relativi alla UART????
e la parte di ricezione come la devo fare???????????????

grazie...
0 Kudos
Messaggio 9 di 9
4.786Visualizzazioni