in data 02-27-2008 11:42 AM
in data 02-28-2008 05:15 PM
quello che intendo per conversione da ASCII a float è che ogni carattere ASCII venga convertito nel suo valore in bit e poi questi bit devono essere convertiti in un numero float secondo lo standard IEEE 754 a singola precisione cioè 32 bit
vi prego aiutatemi, non so dove mettere le mani, non so usare molto labview.
02-28-2008 11:46 PM - modificato 02-28-2008 11:47 PM
in data 02-29-2008 03:01 AM
Allora, ho visto che hai cercato di usare il mio vi ma a questo punto ho un dubbio: lo strumento ti trasmette una stringa di caratteri esadecimali (cioè contenente caratteri da "0" a "9" e da "A" a "F", in cui per esempio il carattere "F" è un byte che vale 70 - o 0x46 che è lo stesso) oppure una stringa di caratteri che hai visto rappresentati in esadecimale per esempio in una probe (e allora potresti ricevere anche il carattere "Z", valore 90 o 0x5A)?
Poi nel tuo vi hai creato un array di stringhe che non va bene: prova ad usare il concatenate strings e il reverse string invece del buid array e del reverse array, così avrai in output una stringa di 4 caratteri da elaborare.
Comunque questo è accessorio, visto che dalla seriale esce una stringa unica di 40 caratteri che deve essere scandita: prova a passare la stringa senza fare nulla in un indicatore formattato come hex display e postalo qui così cerchiamo di capirci qualcosa.
in data 03-01-2008 10:41 AM
03-02-2008 07:59 AM - modificato 03-02-2008 08:00 AM
in data 03-10-2008 10:46 AM
Ecco cosa devo fare: devo prendere dei caratteri dalla seriale che li emette in una stringa ASCII. questa stringa ascii contiene dei caratteri che sono in una certa posizione. in base alla posizione (Allego un'immagine con la disposizione) rappresentano la parte bassa o la parte alta dei bit che lo compongono. i caratteri possibili, ho scoperto chiedendo all'azienda che produce lo strumento possono variare in tutta la tabella ASCII quindi non solo nel range 0,...,9, A,...,Z,a,...,z ma anche tra tutti gli altri caratteri. allego il vi e l'immagine con la disposizione dei byte.
Nel vi inverto l'LSB con il MSB dall'inizio.
in data 03-10-2008 10:53 AM
03-10-2008 01:57 PM - modificato 03-10-2008 01:58 PM
Allora, da quello che ho capito l'unflatten from string dovrebbe essere quello che fa al caso tuo. Praticamente dal VISA Read ottieni una stringa e nella paletta delle stringhe usa i vi per estrarre una sottostringa della lunghezza desiderata che poi dai in pasto all'unflatten from string passando un SGL come riferimento del tipo dati.
(Scusa l'imprecisione dei termini ma sto andando a memoria: su questa macchina non ho installato il LV... Se non è chiaro dimmelo che metto insieme uno scheletro di vi che dovrebbe funzionare)
in data 03-11-2008 01:26 PM