Lettura da seriale

di il
10 risposte

Lettura da seriale

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

  • Re: Lettura da seriale

    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
  • Re: Lettura da seriale

    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.
  • Re: Lettura da seriale

    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.
  • Re: Lettura da seriale

    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).
  • Re: Lettura da seriale

    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.
  • Re: Lettura da seriale

    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?
  • Re: Lettura da seriale

    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
  • Re: Lettura da seriale

    Allora è in ASCII

    https://docs.microsoft.com/en-us/dotnet/api/system.io.ports.serialport?view=dotnet-plat-ext-5.0

    Usa la ReadLine come nell'esempio buttando via la prima riga in assoluto e ignora la WriteLine
  • Re: Lettura da seriale

    Grazie ci provo..
  • Re: Lettura da seriale

    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