PDA

View Full Version : Da RS232 ad excel o file di testo


loop4633
09-01-2014, 16:13
Ciao a tutti, ho cercato parecchio su google ma trovo molte cose confuse, spero qualcuno voglia darmi una mano. Sapreste indicarmi qualche strada per acquisire dati da una porta RS232 su un file o ancora meglio direttamente su un foglio di lavoro excel? Grazie anticipatamente a chiunque voglia rispondermi

sottovento
10-01-2014, 07:37
Le informazioni di base per win32 le trovi qui:

http://msdn.microsoft.com/en-us/library/ms810467.aspx

Attenzione pero': ti spiega come usare la seriale per spedire/ricevere. Ricorda che la seriale, come tutte le trasmissioni, e' soggetta ad errori di trasmissione e non c'e' un protocollo che li corregge. Se abiliti la parita', i dati errati verranno automaticamente scartati, ma niente di piu'.
Devi quindi implementare un protocollo che ti renda la comunicazione affidabile (facendo controlli, gestendo ritrasmissioni, ecc). Se il lavoro che intendi fare e' di collegarti ad una sorgente dati gia' pronta, e' probabile che sia stato gia' implementato un protocollo di comunicazione di questo tipo.

loop4633
10-01-2014, 10:47
Le informazioni di base per win32 le trovi qui:

http://msdn.microsoft.com/en-us/library/ms810467.aspx

Attenzione pero': ti spiega come usare la seriale per spedire/ricevere. Ricorda che la seriale, come tutte le trasmissioni, e' soggetta ad errori di trasmissione e non c'e' un protocollo che li corregge. Se abiliti la parita', i dati errati verranno automaticamente scartati, ma niente di piu'.
Devi quindi implementare un protocollo che ti renda la comunicazione affidabile (facendo controlli, gestendo ritrasmissioni, ecc). Se il lavoro che intendi fare e' di collegarti ad una sorgente dati gia' pronta, e' probabile che sia stato gia' implementato un protocollo di comunicazione di questo tipo.

Intanto grazie mille per la tua risposta, cosa intendi per sorgente dati pronta? Io dovrei prelevare dati da strumentazioni di vario tipo di cui alcuni hanno il software della casa madre probabilmente che mi genera un file altri no.
Scusa la mia ignoranza in merito, ma è c#?

sottovento
10-01-2014, 12:17
Intanto grazie mille per la tua risposta, cosa intendi per sorgente dati pronta?
Scusami se sono stato stringato. Mi riferivo proprio al caso tuo, nel quale devi interfacciarti ad un'apparecchiatura che ha gia' un suo protocollo di comunicazione. Nel caso avessi avuto la possibilita' di decidere sul protocollo, ti suggerivo di fare attenzione al fatto che gli errori sulla linea non sono infrequenti, anzi!! Pertanto suggerivo di studiare un protocollo che potesse accorgersene, chiedere ritrasmissioni, ecc.



Io dovrei prelevare dati da strumentazioni di vario tipo di cui alcuni hanno il software della casa madre probabilmente che mi genera un file altri no.
Scusa la mia ignoranza in merito, ma è c#?

Riassumendo: le tue strumentazioni spediscono i dati attraverso la seriale; per alcune di esse ti e' stato fornito un software che riceve i dati e li salva su file. E' corretto? Correggimi pure se ho scritto qualche castroneria.
Per altri dispositivi, non hai questo software, quindi lo vorresti scrivere (e/o vuoi riscrivere il software in modo che sia adattato alle tue esigenza).

Viene quindi da chiedere: hai a disposizione la documentazione necessaria?
Hai bisogno di sapere
- i parametri di setting della seriale (velocita', lunghezza di word a 7 o 8 bits, parita', hanshake hardware/software/...);
- la modalita' di spedizione dei dati (i.e. il protocollo di cui parlavamo).

Se non hai queste informazioni a disposizione, ti tocca perdere tempo a cercare di capire come funziona:
- i parametri di setting della seriale si possono trovare con qualche trucchetto;
- il protocollo.... dipende! Se si tratta di strumentazione semplice (sistemi di misura, ...) e' probabile che spediscano semplicemente le grandezze lette in qualche semplice codifica, che riuscirai a trovare in poco tempo. Se si tratta di cose piu' complicate, magari con l'implementazione di protocolli piu' sofisticati, beh.... ci potresti perdere parecchio tempo e magari essere costretto a rinunciarci.

Comunque noi siamo ottimisti (c'e' motivo di esserlo, sinceramente. Non penso che siano state implementate cose astruse). Quindi si puo' supporre di avere manuali o istruzioni, giusto? :D

Il link che ti avevo pubblicato era win32; dovrebbe essere facilmente richiamabile anche in c#, ma se hai bisogno di fare dei test di base, prima della stesura finale del tuo codice, mi sento di suggerirti di usare C/C++, e' proprio l'area di competenza di questi linguaggi, direi

loop4633
12-01-2014, 10:30
Grazie mille per la tua risposta, la situazione purtroppo è esattamente come da te descritta, per alcuni strumenti ho le specifiche da te menzionate, per altre non so dove sbattere la testa, però si vedrà, magari contatto il fornitore :mc:
Ad ogni modo mi era sembrato di vedere funzioni particolari per quello credevo fosse c# ma non ho avuto ancora modo di guardarlo bene, meglio per me se è c/c++ non ho nessuna conoscenza di c# :D
Grazie tante veramente per il tuo aiuto, ti aggiornerò :)