Leyendo una bascula por el puerto serial
Me solicitaron actualizar un software desarrollado con Visual Basic que:
- Toma foto del pedido
Ya que no estaba funcionando mas que con Windows XP.
En mi pruebas halle que con DirectShowLib.dll un componente que corre con .net pude acceder a la webcam y tomar la imagen y guardarla como .jpg.
El otro requerimiento era que leyera el puerto COM de la bascula y mostrara el peso del pedido.
El modelo de la bascula es un: RINSTRUM R320
Entre las cosas luego de leer el manual, fue pedirle al soporte tecnico que manipulara el panel de control de la bascula para que se configurase el envio al puerto serial (ya q x defaul no viene configurado asi), todo esto fue remoto ya que ellos estan en Guadalajara y yo en CDMX.
Por otra parte, el otro problema fue que la bascula envia el dato en rafagas constantes, en lo que se estabiliza el peso. Trate de hallar la manera de tomar solo el peso estable pero el puerto COM se me estaba bloqueando. La solucion fue que cuando vieran el peso estable clickearan en el boton, en ese momento yo recibo la ráfaga y cuando detecto que la cadena es legible (ya que al inicio manda unos caracteres especiales), inmediatamente cierro el puerto COM y parseo el valor.
El dato por otra parte viene como caracter ASCII de la siguiente forma:
[11/09/2017 01:09:18 p. m.] BZ:5 ?r??Z??T
[11/09/2017 01:09:18 p. m.] 111213 11/09/2017 17:22
[11/09/2017 01:09:18 p. m.] 3.246 kg N
[11/09/2017 01:09:18 p. m.] 3.633 kg G
[11/09/2017 01:09:18 p. m.] 0.386 kg T
[11/09/2017 01:09:18 p. m.] 111214 11/09/2017 17:22
[11/09/2017 01:09:18 p. m.] 3.247 kg N
[11/09/2017 01:09:18 p. m.] 3.633 kg G
[11/09/2017 01:09:18 p. m.] 0.386 kg T
[11/09/2017 01:09:18 p. m.] 111215 11/09/2017 17:22
[11/09/2017 01:09:18 p. m.] 3.247 kg N
[11/09/2017 01:09:18 p. m.] 3.633 kg G
[11/09/2017 01:09:18 p. m.] 0.386 kg T
[11/09/2017 01:09:18 p. m.] 111216 11/09/2017 17:22
[11/09/2017 01:09:18 p. m.] 3.247 kg N
[11/09/2017 01:09:18 p. m.] 3.633 kg G
[11/09/2017 01:09:18 p. m.] 0.386 kg T
[11/09/2017 01:09:18 p. m.] 111217 11/09/2017 17:22
[11/09/2017 01:09:18 p. m.] 3.247 kg N
[11/09/2017 01:09:18 p. m.] 3.633 kg G
[11/09/2017 01:09:18 p. m.] 0.386 kg T
Lo demas fue sencillo, 3.246 kg N corresponde al PESO NETO, que es lo que les interesaba obtener para almacenarlo en la database e imprimirlo en una impresora termica, 0.386 kg T corresponde a la TARA.
Por cierto, al momento de imprimir en la termica, resulto que el driver reconoce bien un .PDF y lo imprime tal cual, lo que me evito tener que enviar caracteres especiales para el control de la printer.
- jasistemas's blog
- Inicie sesión o regístrese para enviar comentarios