Lettura da seriale

di And19 il
10 risposte
Buon giorno a tutti,
un cliente mi ha chiesto un applicativo standalone per lettura dati seriale.
Ha un macchinario che mette a disposizione tramite la sua rs232 un set di dati che misura.
Sono altezza, profondità e via dicendo.
Ora devo creare un applicativo in .net per visualizzare questi dati su schermo e poi registrarli su un file di testo.
Ogni giorno misura piu o meno 30 vollte.

Qual è la procedura corretta per far questo?
Devo stare in ascolto sulla porta usb, che dovro far scegliere anticipatamente al cliente, e scansionare il flusso?
In che modo?
E' la prima volta che devo leggere da usb.
Chi ha gia' eseguito questa operazione puo suggerirmi come fare?

spero in vostro aiuto
A.

10 Risposte

  • Solitamente quando attacchi l'USB si crea una COM virtuale (controlla il numero), quindi non c'è molta differenza tra una RS-232 reale e un convertitore RS-232->USB.
    La classe di riferimento è la SerialPort (vedi esempi annessi nella documentazione ufficiale).
    Solitamente il PC è il master della comunicazione e il datalogger è lo slave che risponde in qualche protocollo (libero o proprietario), ma potrebbe anche essere che il data-logger invii in continuazione pacchetti. Qui devi vedertela tu in base alla manualistica
  • Non ti interfacci (facilmente) con USB ma, come ti è stato detto, attraverso il driver. Oltre alla COM virtuale, a volte, i device mettono a disposizione DLL o componenti per l'interfaccia.

    Non sapendo nulla su questo device, è difficile andare oltre questi consigli.
  • Ciao oregon,
    ma a me è stato dato questo:
    9600, n, 8, 1
    e mi hanno detto che i dati li ho sempre lì quando ne ho bisogno.
    Praticamente il misuratore li offre sempre disponibili sulla seriale RS232 (che poi diventerà usb sulla com3 per esempio) con questi parametri.
    Quindi, creerò un pulsante sull'interfaccia applicativa che andrà a leggere questi dati sullla COM3 per esempio.

    Ma è il procedimento nel suo insieme che non capisco come realizzarlo.
    grazie
    a.
  • And19 ha scritto:


    Praticamente il misuratore li offre sempre disponibili sulla seriale RS232 (che poi diventerà usb sulla com3 per esempio) con questi parametri.
    Quindi, creerò un pulsante sull'interfaccia applicativa che andrà a leggere questi dati sullla COM3 per esempio.
    Devi sapere quale protocollo usare ...
    Devi sapere se devi instaurare una comunicazione Master/Slave (ovvero il PC chiede e il dispositivo risponde) oppure se il tuo dispositivo invia in continuo dati sulla seriale (allora il PC deve 'sniffare' quell che arriva alla porta seriale reale / virtuale(usb)) ...

    Senza questi dati fai poco.

    Nel caso il protocollo fosse Modbus RTU potresti anche valutare un gateway Modbus RTU - Modbus TCP/IP in modo da interrogare il tuo dispositivo (tramite il gateway) con un protocollo IP (su porta ethernet).

    Se non è un segreto indica il tuo dispositivo che cos'è (bilancia, misuratore di qualcosa, altro).
  • Ciao max.riservo,
    ma a me hanno detto che i dati li ho sempre disponibili e quindi devo andare ad annusare io.
    Quindi, la tua seconda ipotesi, cioè che vado io a "sniffare".
    il device so solo che è un misuratore in tre assi (altezza prof e largh) che misura dei pezzi meccanici.
    roba cinese comunque..
    grazie
    a.
  • Ma ci sarà una marca e un modello con un pdf di documentazione anche se cinese.

    Come fai a capire in un flusso continuo di numeri quale è x y z?
  • Ciao,
    ma la struttura non è problema:
    è un rigo dove c'è la data, spazio, x, spazio, y, spazio, z
    e poi ricomcia...

    questo è quello che leggo con terminal..
    grazie
  • Grazie ci provo..
  • And19 ha scritto:


    Ciao,
    ma la struttura non è problema:
    è un rigo dove c'è la data, spazio, x, spazio, y, spazio, z
    e poi ricomcia...

    questo è quello che leggo con terminal..
    grazie
    Se l'avessi detto subito...
Devi accedere o registrarti per scrivere nel forum
10 risposte