Ricezione dati da Porta Seriale

giovedì 22 ottobre 2009 - 18.21

mikkosoft Profilo | Newbie

Ho una bilancia collegata in seriale con un pc.
La bilancia, ad ogni pesata mi invia sulla seriale Peso Lordo e Tara.
Ho bisogno di inserire questi dati in un db.
Quale è la soluzione migliore?
Pensavo ad un programmino che legge costantemente i dati che gli arrivano dalla porta e li inserisce nel db.
Ma mi chiedevo, la porta va tenuta sempre aperta, anche quando non ci sono dati? Non c'è un modo per aprirla solo quando ci sono dati?
Il programmino deve stare costantemente in esecuzione, impedendo di fare altro? O la cosa va forse gestita tramite thread?
Grazie

luigidibiasi Profilo | Guru

>Ho una bilancia collegata in seriale con un pc.
>La bilancia, ad ogni pesata mi invia sulla seriale Peso Lordo
>e Tara.
>Ho bisogno di inserire questi dati in un db.
>Quale è la soluzione migliore?
>Pensavo ad un programmino che legge costantemente i dati che
>gli arrivano dalla porta e li inserisce nel db.
>Ma mi chiedevo, la porta va tenuta sempre aperta, anche quando
>non ci sono dati?
si altrimenti non puoi rilevarli quando arrivano
>> Non c'è un modo per aprirla solo quando ci
>sono dati?
Se la bilancia è sempre collegata al pc non hai problemi se è sempre aperta o chiusa.

Tu apri la porta e usi le funzioni di read sincrone. In questo modo il programma si blocca finchè non arrivano dati. Se lanci queste funzioni in un thread separato puoi far fare altro all'applicazione mentre aspetta di ricevere i dati. In alternativa puoi usare le funzioni asincrone .... guarda un pò su msdn serialport

>Il programmino deve stare costantemente in esecuzione, impedendo
>di fare altro? O la cosa va forse gestita tramite thread?

Dipende se devi fargli fare altro oppure se deve solo leggere i dati dalla bilancia

>Grazie

Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/
http://www.dibiasi.it/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5