LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabView memory is full

Buongiorno
Dopo aver mandato in RUN il mio applicativo (.exe) si è verificato unmessaggio di errore dopo circa 4 ore .
Il messaggio di errore è :LabView memory is full
vi"arsia_radar_ctrl.vi" was stopped at
node 0x77FC of subVI
"idf_708_radar_ctrlserver.vi"
Da che cause può dipendere il messaggio "LabView memory is full "?
Vi invio anche il subvi di cui LabView fa riferimento.
Grazie per l'aiuto.
 
Cordiali Saluti
 
Francesco Boccacci
0 Kudos
Message 1 of 4
(3,108 Views)
Ciao Francesco,
purtroppo non è facile dare una risposta quando manca la comprensione generale di quello che il programma dovrebbe fare.
Nel vi che hai allegato mancano tutti i subvi del tipo BTICard_Ecc. e quand'anche ci fossero non sarebbe facile capirne la funzione.
Un'ipotesi comunque si può fare: nel loop interno viene costruito un array 2d di dimensioni crescenti. E' logico che se per esempio il programma non esce mai da questo loop potrebbe facilmente esaurire la memoria, ammesso che la frequenza effettiva del loop moltiplicata per la quantità di dati restituita da SeqFindNext (due valori di cui non so nulla) sia abbastanza elevata.

In generale, posso fare alcune altre osservazioni sul tuo codice:
a) sicuramente contiene un eccesso di sequenze, p.es. tutti i frame dell'inizializzazione BTICard sono inutili, perchè la sequenzialità è garantita dal fatto che i vari subvi sono collegati dal filo di errore; ne derica che p.es. CardReset non può essere eseguito prima di OpenCard, perchè per essere eseguito è necessario che riceva lo status di errore dal primo vi; in genere ci si deve sforzare di conseguire la serializzazione (che è spesso necessaria) SENZA utilizzare le strutture di sequenza (anche perchè queste strutture rendono il codice più difficilmente leggibile, come testimoniato dall'"effetto lenzuolo" del vi)
b) la parte di codice che gestisce i confronti degli angoli non è ben progettata; in una struttura case viene impostato nbloccogradopartenza, che viene utilizzato in un altro case: ebbene, non c'è nessuna garanzia che il primo case venga eseguito prima del secondo, perchè non c'è alcun percorso "filato" che li congiunge; dal punto di vista di LabView, potrebbe capitare benissimo che nbloccogradopartenza venga prima letto e poi scritto
c) in effetti, la variabile locale nbloccogradopartenza non serve a nulla: avresti potuto benissimo far arrivare al secondo case direttamente il valore, collegandoci il filo (tra l'altro, questo risolverebbe il problema di sequenzialità del punto b); un analogo discorso si può fare per le variabili locali angolo, angolo partenza e ogni angolo: perchè non tirare direttamente i fili che portano il valore a questi controlli?
d) per finire (altrimenti diventa un romanzo) ti consiglio di adottare uno stile di "disegno" più ordinato (anche se capisco che a volte si ha fretta di arrivare al risultato), disponendo gli elementi in modo accurato ed evitando per esempio un eccessivo intreccio di fili; vedrai che ti sarà di aiuto per una più immediata comprensione del codice.
Spero di esserti stato di aiuto.

Paolo
Paolo
-------------------
LV 7.1, 2011, 2017, 2019, 2021
0 Kudos
Message 2 of 4
(3,097 Views)

Grazie per la risposta che risulta molto utile.

Una ulteriore domanda: quando creo l'eseguibile (.exe) e lo installo su un PC accade che dopo averlo lanciato compaiono due finestre ridotte a icone sulla barra inferiore (programmi aperti): una con il nome del programma e l'altra con nome_programma.vi.

E' normale? Si puo fare qualcosa per avere una sola finestra?

Grazie.

Ciao

0 Kudos
Message 3 of 4
(3,073 Views)
Questo è il comportamento standard; per evitarlo, si può distribuire un file ini opportuno.
Supponiamo che il programma si chiami Radar.exe e il vi top-level PrincipaleRadar.vi; nella stessa cartella si deve installare un file Radar.ini con il seguente contenuto:

[Radar]
HideRootWindow=True

La finestra rimanente sarà quella del vi col suo titolo (PrincipaleRadar.vi); per cambiare il titolo in LabView, cambia File - Vi Properties - (categoria) Window appearance - Window title.

Paolo
Paolo
-------------------
LV 7.1, 2011, 2017, 2019, 2021
0 Kudos
Message 4 of 4
(3,062 Views)