Puerto Serie


([N1] qpositaldec) #1

Hola,
Necesito ayuda con la instruccion Puerto serie: Cerrar. Es un proceso de coneccion con un puerto serie, para traer el peso desde una balanza. Mediante una fucion realizo la apertura del puerto, se confirma la coneccion y se trae el valor requerido, el problema se presenta al momento de usar la instruccion Puerto serie: Cerrar para detener la transmision de datos. Esto porque la balanza envia datos de manera continua…
Agradezco cualqier ayuda.

Carlos


([N1] qpositaldec) #2

Olvide adjuntar las lineas del proceso que estoy haciendo.



([N3] ereitmann) #3

Pero cual es el problema? yo utilizo para un mismo ejemplo 2 opciones, un boton que llama a un proceso cerrar puerto y listo, para cuando quiero cerrarlo voluntariamente, o si no un proceso que alimenta un contador en base a un tiempo transcurrido digamos 5 segundos cuando esto se verifica se cierra el puerto llamando al mismo proceso.


([N3] ereitmann) #4

estoy pensando tal vez tengas que poner la instruccion cerrar puerto justo encima de la de set dato de retorno a ver si asi te funciona


([N1] qpositaldec) #5

Hola,
Gracias por la ayuda, en mi caso el problema es que la instruccion cerrar puerto no me funciona. Por esa razon realice la prueba con el proceso que muestro donde solo abro, leo y cierro el puerto. Es algo basico que a mi no me funciona y en soporte con Velneo no hemos podido solucionar. Me gustaria saber si alguien mas usa esta funcion para leer peso desde una balanza y le funcioa ok, esto con el fin de descartar que sea problema de Velneo.
He cambiado la instruccion justo encima de set dato y no me funciona.

Carlos



([N2] ceferino) #6

Hola, buenos días, qpositaldec:

Desconozco si al utilizar una funcion te puede generar problemas, los puertos en windows son problematicos, no se llevan muy bien con velneo.
En mi caso estoy leyendo una bascula sin interrupcion mediante un proceso en segundo plano.
Una variable booleana controla un bucle, el cual abre el puerto, envia, recibe y cierra el puerto finalmente. Todo esto cada 1/3 de segundo, trabajando sobre sobre windows 7.
Adjunto el proceso.

Saludos
Ceferino



([N1] qpositaldec) #7

Hola, ceferino.
Muchisimas gracias por el dato, voy a probar y comento.

Un saludo,
Carlos


([N1] wikan) #8

Pregunto, desde mi ignorancia.
No puedes configurar la balanza para que te devuelva el dato cuando le mandas la orden?
O abrir el puerto al arrancar la aplicación y cerrarlo en el OnClose, así te evitas abrir y cerrar cada vez.


([N2] ceferino) #9

Hola Wikan:

No te cuento el trabajo realizado, a base de pruebas y pruebas, para que funcionase. La única forma de que no se cuelgue el SO Windows es abriendo y cerrando. Ten en cuenta que los puertos serie en velneo son una especie de imagen, por cuestión de la multiplataforma, no son específicos de Windows.
Quizás, ahora que se solucionó un bug relativo a las variables en memoria funcione…Habría que volver a probarlo. Pero lo tengo en producción y no lo toco…!

Saludos
Ceferino


([N2] ceferino) #10

Ups!
En cuanto a la frecuencia, ésta es debida a que tienes en el monitor el visor de la bascula y tienes que refrescar para que se comporte como tal. Debe de reflejar, en todo momento, el estado de la bascula…

Ceferino


([N1] wikan) #11

Gracias @ceferino, tu caso lo entiendo perfectamente. Quizás para un TPV que solo tiene que leer cuando el artículo conlleva peso, quizás si veo más lógico leer a petición.

Como nunca me he tenido que enfrentar, de ahí la ignorancia.


([N1] qpositaldec) #12

Hola, ceferino
realice pruebas de la forma mas sencilla posible, un proceso en segundo plano que abre, recibe y cierra pero nada.
Al no funcionar este proceso asumo que el problema es la balanza pero el distribuidor me realiza una prueba donde abre, recibe y cierra con un aplicativo llamado Hercules y con esto me demuestra que la balanza esta ok.
Alguna idea…

Un saludo,
Carlos



([N2] ceferino) #13

Hola, buenos días, qpositaldec:
Lo primero verificar que el pc y la balanza están comunicados a través del puerto.
Crea una toolbar o un boton con una accion que ejecute el proceso con el comando de la familia puerto serie:
puerto serie: Configurar dispositivo (Identificador puerto serie velneo de la balanza)
Al ejecutar la accion tendrás una ventana donde puedes configurar el puerto con las especificaciones del fabricante y testear la comunicacion entre ambos.
Si consigues comunicar con la balanza deberá de funcionar el proceso…

Saludos
Ceferino



([N1] qpositaldec) #14

Hola, Ceferino.
Gracias por la respuesta, el proceso de verificacion ya lo tengo funcionando y si hay comunicacion entre balanza y pc.
En el proceso basico que ejecuto he colocado un mensaje y el proceso se queda atorado en la lectura del puerto porque no logro cerrarlo.

Un saludo,
Carlos




([N1] qpositaldec) #15

Un dato adiconal, me toca apagar la balanza para que termine la lectura.

Un saludo,
Carlos


([N2] ceferino) #16

Vamos, que en cuanto comunica, te bombardea con las tramas la bascula…
Solo se me ocurre que velneo sea incapaz de cerrar el puerto mientras está recibiendo tramas…
En los casos en que he desarrollado con puertos serie siempre abro, interrogo, recojo la respuesta y cierro. En realidad veo que yo siempre tengo limpio el buffer para cerrar.
Habría que confirmar con soporte este funcionamiento…

Saludos
Ceferino


([N1] qpositaldec) #17

Ceferino,
Estoy muy agadecido por tus respuestas, el problema es el cierre del puerto, tengo otro modelo de balanza con la cual el proceso funciona perfectamente porque no requiere cierre de puerto.
En soporte me esta colaborando pero no se ha encontrado solucion.
Una vez mas te agradezco por tratar de ayudarme.

Un saludo,
Carlos


([N2] ceferino) #18

Siento no poder ayudarte.
Espero que seas capaz de resolverlo.
Ya me contaras

Saludos
Ceferino


([N4] carlitos) #19

Suponog que ya sabrás que las balanzas se pueden programar para el envío contínuo o un envío solo.
Yo me estuve pegando con una la semana pasada y hasta que el vendedor de la balanza no la configuró correctamente, no lo recibimos bien.
La aplicación no era hecha con velneo, era un software estándard.
Si no lo has hecho mira el manual de envío de la balanza


([N1] qpositaldec) #20

Hola Carlos,
Gracias por el dato, si he tenido encuenta ese detalle y como comente anteriomente el proceso me funciona con otro tipo de balanza que presisamente permite esa configuracion. El problema es que esta balanza esta preconfigurada para envio continuo y no hay forma de modificarla, eso ya lo verifique con el distribuidor.
En soporte me han dado una posible solucion voy a realizar pruebas y si funciona la comento.
Agradezco el insteres por ayudarme.

Un saludo,
Carlos