Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

labview - Chiedo cortesemente aiuto.

Buongiorno a tutti. Ho veramente bisogno di aiuto! Da una decina di giorni mi sto scervellando per capire il problema, ma mi spiego: Ho sviluppato un'applicazione per banchi prova dinamici; questa utilizza una seriale che in vari VI interroga un PLC con una frequenza di 100ms, e questo funziona benissimo. Un mio cliente mi ha richiesto l'implementazione della diagnosi OBD2 per vedere e memorizzare ulteriori dati sulle prove di banco. Sia per costi che per reperibilità ho optato per l'ELM327. E' risaputo che questo chip purtroppo è molto lento e ho pensatoche, per non influire con la lettura dati da PLC e vari grafici runtime, di utlizzare la scansione continua della OBD2 in un thread separato scrivendo i dati in un cluster con accesso globale, credevo funzionasse tipo il backgroundworker del .NET (io provengo da quell'ambiente di sviluppo). Quindi, nella Toplevelmain, vi da dove parte il programma e vengono lanciate le varie schermate,  ho messo un'altro while loop con dentro la scansione continua dell'ELM327. E qui il mio stupore! Per giorni l'ho testato però lanciandolo dall'ambiente di sviluppo e funziona benissimo! Una volta compilato, dallo stesso pc, il programma gira al rallentatore, addirittura, quando arriva a richiedere la prima scrittura su seriale PLC, li si pianta. Qualcuno per favore sa come posso fare? Sono veramente disperato.... le ho provate tutte! Ho provato a cambiare l'esecuzione delle VI, ho provato ad usare la VISA sincrona e asincrona... ma non cambia nulla. Il colmo è che se io potessi usare il programma da ambiente di sviluppo, il tutto funzionerebbe a meraviglia... dove sbaglio?? RIngrazio fin d'ora chi mi può aiutare, GRAZIE! 

0 Kudos
Messaggio 1 di 2
4.062Visualizzazioni

posta il codice

0 Kudos
Messaggio 2 di 2
3.854Visualizzazioni