Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Delphi y ComPort

Buenos días,

Tengo que conectar una báscula a mi programa delphi para recibir el peso cada vez que pesen.
He estado buscando y he visto bastante información pero no me aclaro mucho ni con los COM ni con lo que tengo que hacer, es la primera vez que tengo que hacer esto.

Verán, he conseguido simular 2 puertos COM con el programa Virtual Serial Port Kit, que en teoría conecta un COM con otro.
Por otro lado, estoy usando el programa Hercules para probar a mandar datos. Conecta bien con uno de esos puertos.
Bien, me he creado un programita en delphi para probar. Uso los componentes TComPort. Con el componente parece que conecta bien con el puerto que elijo. Hasta aquí he llegado.

No me queda claro lo siguiente. Si yo conecto por ejemplo al COM3 con mi programa, no puedo conectar con Hercules a ese puerto para mandarle datos. ¿Como funciona exactamente?
Yo lo que quiero es conectar en mi programa y desde el Hercules mandarle datos para verificar que los recibo.

También he probado con una báscula que programó en Delphi el compañero Seoane pero creo que tengo el mismo problema.

No me aclaro mucho.

Gracias

Un saludo
Responder Con Cita
  #2  
Antiguo 28-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Echa un vistazo a los enlaces del final de página, abajo del todo.
Responder Con Cita
  #3  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Hola Casimiro,

He estado buscando por aquí y por varios sitios y vi bastantes ejemplos, pero en mi caso yo creo que mas bien es de comprensión, es decir, como probar.
Por ejemplo, yo en mi programa conecto al COM1 y quiero mandarle datos con el programa Hercules, para digamos simular la balanza, es decir, mandar datos desde ahí y ver que en el programa los recibo, pero claro, si conecto desde el programa al COM1, cuando conecto a ese COM desde el Hercules para mandar datos, me dice que el puerto está en uso, cosa lógica por cierto.

También tengo la báscula que creó Seoane, que iba a usarla para probar, abrirla y pesar y ver si lo recibo en mi programa pero el problema es el mismo.

Entonces, no se bien como hacer las pruebas, creo que algo no estoy entendiendo bien.

Seguiré buscando a ver.

Un saludo
Responder Con Cita
  #4  
Antiguo 28-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues usa uno u otro, pero no lo dos a la vez.
Responder Con Cita
  #5  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
He hecho algún avance.

Con el Virtual Serial Port Kit, he emulado 2 puertos, el 3 y el 4.
He creado un programa usando el ComPort en el que me conecto al puerto 3 o al 4 según elija y con un botón mando 'hola'.

Con el Hercules me conecto al com restante. Es decir, con el programa me conecto al 3 y con el hercules al 4 por ejemplo.
Mando la cadena y el Hercules la recibe, pero si envío cadena desde el Hercules, el programa no hace nada. Estoy intentando capturarlo en el evento RxChar

Un saludo
Imágenes Adjuntas
Tipo de Archivo: png 1.PNG (15,6 KB, 15 visitas)
Responder Con Cita
  #6  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Pues usa uno u otro, pero no lo dos a la vez.
Eso es lo que creo que no estoy entendiendo bien el concepto. Si la báscula se conecta al com1, en el programa debería de conectarme al com1 para recibir y mandar los datos a la báscula no?

Gracias

Un saludo
Responder Con Cita
  #7  
Antiguo 28-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Primero de todo debes conocer el protocolo que está usando la balanza.
Después sigue los pasos de, por ejemplo, aquí.
Responder Con Cita
  #8  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Hola de nuevo,

Esa página de Seoane es la que he estado revisando y es el simulador que me he bajado. Estoy intentando recibir directamente usando esa porque el protocolo que me han dicho es el mismo, el básico.

He probado a mandarle el $ pero no consigo recibir nada de la báscula. El $ entiendo que se manda bien, porque si activo el Hercules poniendo el puerto que le asigno luego a la balanza, ahí si que veo que recibe el $ con lo que lo que yo creo que estoy haciendo mal es la recepción del dato, no el envío.

Muchas Gracias

Un saludo
Responder Con Cita
  #9  
Antiguo 28-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Has probado su programa de ejemplo?
https://delphi.jmrds.com/sites/delph...sim_delphi.zip
Responder Con Cita
  #10  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Si, lo tengo bajado y ejecutado, de ahí es de donde estoy intentando recuperar el peso, pero no lo consigo.
Responder Con Cita
  #11  
Antiguo 28-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues no sé, yo lo he probado con una balanza que tengo aquí y funciona perfectamente.
Responder Con Cita
  #12  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Para el envío y recepción tengo esto

Código Delphi [-]
procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
  str: string;
begin
  ComPort1.ReadStr(Str, Count);
  ShowMessage(str);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ComPort1.WriteStr('$');
end;

El botón escribe bien en el hércules con lo que entiendo que en la báscula también debería, pero no recibo nada. Al mandar el $ la báscula me debe de estar devolviendo el peso pero no lo recibo bien, algo estoy haciendo mal.

Lo tengo hecho con un botón para probar pero cuando lo consiga, lo que haré es un timer que esté enviando $ cada X tiempo.
Responder Con Cita
  #13  
Antiguo 28-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Hola,

Sigo con mis pruebas y definitivamente es algo que no estoy programando bien en la recepción.

Como recibes tu el dato de la báscula de Seoane?

Gracias

Un saludo
Responder Con Cita
  #14  
Antiguo 28-07-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero descarga el ejemplo de seoane, ábrelo y lo verás
Responder Con Cita
  #15  
Antiguo 29-07-2020
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
Pero amigo Juggern, ¿has leído los comentarios además del artículo?

Me parece ver bien claro que no puedes usar el mismo puerto en los dos dispositivos. Si tu programa se conecta al COM1 para recibir los datos, entonces los deberás enviar desde otro sitio, puerto virtual o lo que sea. En los comentarios habla de crear puertos virtuales COM4 o COM5 para simular el otro extremo de la conexión del puerto serie y a probar

Hace tiempo que hice pruebas con ese programa y funcionaba muy bien. Lamentablemente ahora no tengo Delphi a mano y no te puedo indicar más.

Saludos
Responder Con Cita
  #16  
Antiguo 29-07-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Gracias a todos por los comentarios.
Ya encontré el problema, el componente, en su día debió de quedar mal instalado por algún motivo. Lo he quitado y vuelto a instalar y ahora funciona perfecto.

Muchas gracias
Responder Con Cita
  #17  
Antiguo 30-07-2020
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

Gracias por compartir la solución

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ComPort Hex ramonibk Varios 6 06-03-2019 19:15:56
Comport y Delphi para enviar Comandos AT aagrlp640 Varios 17 11-10-2011 17:40:18
Componente Comport harimuya Varios 10 19-05-2011 14:43:31
ComPort.ShowSetupDialog gaston260 API de Windows 13 27-09-2010 05:39:25
Ayuda con el Comport para Delphi por favor urg Andres_vl OOP 1 24-09-2007 17:21:19


La franja horaria es GMT +2. Ahora son las 07:29:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi