FoxPro/Visual FoxPro - PESO DE BASCULAS

 
Vista:

PESO DE BASCULAS

Publicado por HUGO (207 intervenciones) el 08/04/2010 07:19:24
AMIGOS ESPERO SU AYUDA....RECOPILE ESTE CODIGO Y LLEGUE A ESTO....PERO NO DA NINGUN RESULTADO..QUE ME FALTA PARA QUE DE EL PESO O PESADA DE LA BASCULA.?

1
2
3
4
5
6
7
8
9
10
LOCAL CBuffer
CBuffer=""
 
ThisForm.OComm.commPort= 1
thisform.oComm.Settings= "9600,n,8,1"
thisform.oComm.Portopen= .t.
thisform.oComm.Output= CHR(80)
thisform.Ocomm.InputLen= 1
CBuffer= thisform.oComm.Input
thisform.OComm.Portopen= .f.

DATOS DE BASCULA:

BASCUAL TORREY MFQ20
CABLE SERIAL RS232
MSCOMM32.OCX
PROGRAMACION VISUALFOX-VER-7

ESPERO SU GRAN AYUDA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PESO DE BASCULAS

Publicado por es_binario (757 intervenciones) el 08/04/2010 16:52:05
No te servira mas una rutina .net para tu aplicacion? que la ocx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PESO DE BASCULAS

Publicado por es_binario (757 intervenciones) el 08/04/2010 17:13:56
a por cierto deberias de usarlo asi:

1
2
3
4
5
6
7
8
ThisForm.OComm.commPort= 1
thisform.oComm.Settings= "9600,n,8,1"
thisform.Ocomm.InputLen= 7   && cambio 1 por 7 y cambio de orden
thisform.oComm.Portopen= .t.
thisform.oComm.Output= CHR(80)
 
CBuffer= thisform.oComm.Input
thisform.OComm.Portopen= .f.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

es_binario

Publicado por HUGO (207 intervenciones) el 08/04/2010 21:39:39
ya coloque en el orden que me indicaste pero lo mismo...no da resultado del peso.

tambien me indicas que lo intente por Via .NET...como seria mas o menos ese codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

es_binario

Publicado por Miguel Rodriguez (3 intervenciones) el 11/11/2011 02:16:52
Hola Hugo: yo no soy programador pero si te puedo decir que ademas de tener el protocolo adecuado para acada tipo de bascula, (todas las basculas tienen sus propios protocoles) debes de usar el cable adecauado, el cable serial convencional no te servira.debes solicitar el Pin Out al fabricante o en su caso comprarselo directamente, Tengo 15 años en esto y te puedo asegurar que por ahi debes de empezar. Despues te recomiendo usar el hiperteminal para verificar que si estas recibiendo respuesta de la bascula, en el caso de la torrey debes de mandar una P (80) para cuestionar a la bascula:
TOR-REY NONE OneStopBit 8 9600
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PESO DE BASCULAS

Publicado por andy (228 intervenciones) el 09/04/2010 02:30:46
Amigo Hugo:
Yo utilizo el mscomm32.ocx para utilizar un lector de codigo de barras de los que van conectados a los puertos de comunicaciones.
El metodo para leer el peso de la bascula deberia ser el mismo, ya que consiste en un Timer que lee constantemente el valor arrojado por la ocx y lo envia a un texbox.
Para probar crea un form, agregale un textbox, inserta el control mscomm32 y un timer.
En el evento SetFocus del textbox pon:

1
2
3
4
5
IF senpuerto = 1
   senpuerto = 0
  THISFORM.text1.VALUE = leepuerto
ENDIF
THISFORM.REFRESH

En el evento TIMER del timer1 pon:

1
2
3
4
5
6
7
8
9
LOCAL lc
public leepuerto,senpuerto
senpuerto = 1
lc = THISFORM.oleViewComm._viewport()
leepuerto = lc
IF NOT EMPTY(lc)
    THISFORM.text1.SETFOCUS
    THISFORM.text1.VALUE = lc
ENDIF

Otra cosa, yo tuve problemas al principio, pero no era por el codigo. Estas seguro de estar haciendo lo correcto a nivel Hardware, es decir esta bien el cable serial, el puerto es el correcto? Recuerda que las PC acuales no traen el puerto serial de fabrica, y al agregarlo no siempre funciona. Conviene probar en una maquina un poco mas vieja. No se, a lo mejor lo que te digo no es tu caso pero por las dudas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PESO DE BASCULAS

Publicado por xx (378 intervenciones) el 09/04/2010 13:58:35
Deberias revisar que el puerto comX que tu decides utilizar es la que corresponde al de tu balanza es decir si debes usar COM1,COM2 ... etc y posterior a eso averigua en el manual que caracter debes enviar a la balanza para que este devuelva el peso, he leido en partes que algunas balanzas piden que envies "W" para que este devuelva el peso, tambien dicen por alli que utilizando hyperterminal puedes hacer una comunicación con puertos seriales y ethernet y ver los bytes que vienen y van, existe varios manuales que muestran como se utiliza el MSCOMM32.OCX creo que hay unos metodos que debes utilizar para hacer efectivo la lectura de caracteres desde el puerto serial, deberias ver algun manual en caso que no lo hayas hecho. Suerte!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PARA XX Y OTROS

Publicado por HUGO (207 intervenciones) el 09/04/2010 20:28:33
Amigos lo he logrado ya obtengo el peso de la bascula el gran detalle es que trato de hacer lo mas fácil depositar en textbox el resultado y no puedo....cuando provoco un error posterior a la lectura de la línea del input, me aparece el resultado del peso pero no se graba ese resultado...después pasa unos segundos y pone la palabra "kgo" y después se desaparecen los resultados.

Este es el codigo: VFP-7

1
2
3
4
5
6
7
8
9
10
11
LOCAL CBuffer,cValor
CBuffer=""
 
ThisForm.OComm.commPort= 3
thisform.oComm.Settings= "9600,n,8,1"
thisform.Ocomm.InputLen= 7 && cambio 1 por 7 y cambio de orden
thisform.oComm.Portopen= .t.
thisform.oComm.Output= CHR(80)
CBuffer = CBuffer + ThisForm.oComm.Input   && (esta linea no acumula el valor)
ThisForm.TextPesada.Value=CBuffer
ThisForm.TextPesada.Refresh

la variable CBuffer no acumula el resultado aun cuanddo este da el "peso", ue me faltara a mi codigo..?
como que es un dato temporal y no lo registra.

espero su ayuda y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PARA XX Y OTROS

Publicado por xx (378 intervenciones) el 10/04/2010 14:39:54
Bueno en realidad no tengo mucha experiencia (es decir no tengo como hacer pruebas) en esto pero aparenta como que tu inputlen (segun entiendo este es el tamano del buffer a recibir) es pequeno y no logra alojar todos los datos debes agrandarlo y averiguar el tamano exacto para la captura es decir si devuelve 8 u 9 bytes.

Podrias aclarar mejor a que refieres con provoco un error posterior a la lectura?

Prueba agrandarlo y comentas como te fue.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PARA XX Y OTROS

Publicado por cesar (1 intervención) el 08/07/2010 18:10:46
Ya entiendo lo de el textbox ect pero debo crear la clase o el control mscomm pues cada vez que corro el form me marca "libreria mscomm no se encuentra", te agradezco que me aclares pues es urgente!
gracias
Cesar Ruiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Arturo

RE:PESO DE BASCULAS

Publicado por Arturo (1 intervención) el 24/07/2010 14:14:43
Hola Hugo, fijate que tengo el mismo detalle que tu tienes... tengo una bascula METTLER TOLEDO y no puedo obtener el peso... la tengo conectada por el COM1, me puedes decir como lo has resuelto...

GRACIAS

atte.

Arturo H.C.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PESO DE BASCULAS

Publicado por Carlos Lara (1 intervención) el 16/02/2011 01:01:07
Arturo pudiste comunicarte con la bascula, ya que tengo el mismo modelo y el mismo problema, espero su ayuda de antemano muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:PESO DE BASCULAS

Publicado por Moises Vilchez (6 intervenciones) el 24/02/2014 21:27:06
Tengo el mismo problema, alguien soluciono, si es asi pasen el código final y den por cerrado este tema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PESO DE BASCULAS

Publicado por Diana (1 intervención) el 28/05/2014 22:54:37
hola.... yo también tengo el mismo problema, logro hacer la conexión o abrir el puerto (PortOpen), pero no ha sido posible capturar el valor que tiene la balanza. tengo una Mettler Toledo PL3001-S.
en la variable InBufferCount (caracteres de buffer de entrada) me dice captura 18, pero al realizar el Input me muestra ""

Trabajo en VFP 8.0.
he realizado la prueba por HyperTerminal, y si tengo comunicación entre la balanza y el PC.



quien tendrá la respuesta????

Gracias

Diana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PESO DE BASCULAS

Publicado por Piratadelprofit (3 intervenciones) el 08/06/2021 03:35:32
tengo el mismo problema con una LP7516, pero en esta caso el MSComm me devuelve el siguiente error cuando llega al .INPUT

Error 1426 Error message: OLE IDispatch exception code 0 from MSComm:Error reading comm device

En ambiente Win 10 64Bit la biblioteca MsComctl32.dll esta registrada correctamente en Syswow64, el cable d la báscula LP7516 está bien conectado y las pruebas con hiperterminal funciona perfectamente

alguien se le ha presentado este problema ?

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PESO DE BASCULAS

Publicado por IRVING (1 intervención) el 22/01/2016 22:20:22
Para los de METTLER TOLEDO dependiendo del modelo de la balanza utilizan un indicador que esta instalado en la PC (HBM Trade); y mas no lo tienen en físico, lo que tienen que hacer es capturar el valor de ese indicador y guardarlos en un archivo plano o excel, pueden crear una aplicación en VB6 y utilizar tecnología DDE (Tecnología de comunicación entre aplicaciones), esta tecnología es un poco antigua pero sirve para la solución de problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar