PDA

Ver la Versión Completa : Relectura de puerto Serial usando ComPort


pache
23-02-2014, 23:18:29
Buenos días para todos.

Tengo un problema, seguramente trivial, pero mi desconocimiento de comunicación serial y protocolo RS232 me impide resolver. Estoy creando, en compañía de un amigo, una aplicación para tiendas que debe leer el peso de frutas y verduras en una balanza. Todo funciona bien usando el componente TComPort, pero tengo problemas con la relectura de la pesa. La situación se da cuando una persona, por ejemplo, inicialmente pesa 1000 gramos de su producto, pero luego suma 500 gramos en la pesa. No queremos bajar los 1000 gramos de la balanza para ponerlos junto con los 500 adicionales; esto requiere un relectura del puerto, con el fin de dar celeridad en la atención al cliente.

De antemano muchas gracias por la atención.

newtron
25-02-2014, 09:25:18
Hola.

Hasta donde yo sé la báscula va enviando de forma continua el peso al pc, o sea, que si pones un artículo que pesa 1000 grs. la báscula irá enviando 1000...1000...1000...1000, si añades otro artículo que pesa 500 grs. irá enviando 1500...1500...1500... y así sucesivamente. De esta manera lo que te toca sería ir captando los pesos parcialmente con una tecla para ir sacando las diferencias de peso que corresponden a cada artículo.

Saludos

pache
25-02-2014, 14:08:05
Buenos días Newtron

Muchas gracias por interesarte en mi problema. Lo que me dices es efectivamente lo que yo pienso, pero en el caso que te comento, el componente TComPort dispara un evento denominado OnRxChar que permite leer el puerto y este solo se está disparando cuando la balanza vuelve a cero, es por esto que si deseo agregar mas peso a un producto determinado, debo regresar la balanza a cero (retirando el producto) y después llevar la cantidad completa para que me lea los 1500 gramos (siguiendo con el ejemplo). Si yo pudiera disparar ese evento a mi voluntad, podría releer el puerto, es una posibilidad, o a lo mejor podría enviar una señal a la balanza para que ella se reinicie y tome el nuevo peso.

Saludos.

newtron
25-02-2014, 17:12:20
Hola de nuevo.

Tendrás que configurar la balanza para que envíe el peso continuamente, seguramente la tendrás configurada para que solo envíe el peso cuando sea estable y ya no lo vuelva a enviar hasta que vuelva a cero.

Saludos

nlsgarcia
25-02-2014, 20:38:13
pache,


...el componente TComPort dispara un evento denominado OnRxChar que permite leer el puerto y este solo se está disparando cuando la balanza vuelve a cero...Todo funciona bien usando el componente TComPort, pero tengo problemas con la relectura de la pesa...


Pregunto: ¿Si incluyes el evento OnRxChar en un Timer no obligarías a realizar una lectura continua de la pesa y así obtener el último valor obtenido por la misma? :confused:

La idea es la siguiente : Cuando el evento OnRxChar detecte una medición en la pesa, se activaría un Timer el cual haria lecturas continuas de la pesa por medio del evento OnRxChar y este Timer se desactivaría cuando la pesa no detecte ninguna lectura.

Quizás la idea anterior se pueda implementar en tu aplicación :rolleyes:

Espero sea útil :)

Nelson.