Necesito una ayudita para trabajar con puertos com

19/03/2007 - 14:21 por R1D2M3 | Informe spam
Hola amigos, necesito desarrollar una aplicación en C# para acceder a datos
que vienen desde una balanza (báscula). La aplicación en sí misma es muy
sencilla, la balanza toma el peso de un artículo, y yo debo capturar el valor
pesado desde mi aplicación para luego emitir un comprobante. He estado
investigando y en el framework 2.0 hay un system.io.ports. Si alguien tiene
experiencia con este namespace, por favor, ¿me pueden tirar un cable?. ¿que
debo conocer de la balanza?, es decir, ¿la balanza me entregará la
información a determinada velocidad, con determinado formato, con o sin bit
de paridad, etc, etc? ¿como detecto que la balanza está enviando datos para
intentar abrir el puerto desde mi programa y no generar una excepción de
puerto abierto.?. Bueno, la verdad es que tengo muchas dudas respecto de este
tema y si alguien me puede aclarar un poco o pasar algunos link (de ser
posible en español), les agradeceré un monton.
 

Leer las respuestas

#1 Diego Jancic
19/03/2007 - 14:31 | Informe spam
On Mar 19, 10:21 am, R1D2M3 wrote:
Hola amigos, necesito desarrollar una aplicación en C# para acceder a datos
que vienen desde una balanza (báscula). La aplicación en sí misma es muy
sencilla, la balanza toma el peso de un artículo, y yo debo capturar el valor
pesado desde mi aplicación para luego emitir un comprobante. He estado
investigando y en el framework 2.0 hay un system.io.ports. Si alguien tiene
experiencia con este namespace, por favor, ¿me pueden tirar un cable?. ¿que
debo conocer de la balanza?, es decir, ¿la balanza me entregará la
información a determinada velocidad, con determinado formato, con o sin bit
de paridad, etc, etc? ¿como detecto que la balanza está enviando datos para
intentar abrir el puerto desde mi programa y no generar una excepción de
puerto abierto.?. Bueno, la verdad es que tengo muchas dudas respecto de este
tema y si alguien me puede aclarar un poco o pasar algunos link (de ser
posible en español), les agradeceré un monton.



Hola,
Usar puertos COM es bastante facil, tenes que conocer exactamente que
te esta enviando la balanza (bitrate, stop bits, paridad, etc...)
Una vez que tenes todo eso lo podes probar con el Terminal de windows
para estar seguro...
Despues de eso simplemente es crear un objeto Port (no me acuerdo si
es exactamente ese el nombre), le seteas las propiedades y le das
Open() y listo! ;)
Para ver si otra aplicacion tiene el puerto abierto, no se puede hacer
usando las librerias de .net, posiblemente exista alguna api que lo
haga... lo que podes hacer es capturar la excepcion cuando haces el
Open()
Si el puerto no esta abierto no vas a saber si la balanza te manda
datos. Te recomiendo que encapsules el port en un singleton que maneje
las comunicaciones y, por ejemplo, no haga un Open() si el mismo
objeto ya abrio el puerto.

Saludos!,
Diego

Preguntas similares