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-02-2014
philadelfia2006 philadelfia2006 is offline
Registrado
 
Registrado: mar 2005
Posts: 4
Poder: 0
philadelfia2006 Va por buen camino
Question Problema con balanza digital

Buena noche,
de antemano agradezco la colaboración que me puedan brindar, tengo una aplicación para una pequeña tienda y me han pedido que la aplicación reciba el peso de una balanza digital, por suerte encontré el manual, la balanza en una CAS modelo AD-1 y dice lo siguiente: FOR THE SERIAL INTERFACES
A. 1 THE COMMUNICATION AGREEMENTS
l.BAUD RATE -> 9,600 EPS
2.DATA BIT -> 8 BIT
3.STOP BIT -> 1 BIT
4.PARITY BIT -> NO
5.COMMUNICATION LEVEL -> RS-232C LEVEL
6.DATA FORMAT -> ASCII
7.THE COMMAND DEFINITIONS
7-1."ENQ" -> 05H 7-7. "EOT" -> 04H
7-2."ACK" -> 06H 7-8. "DC1" -> 1IH
7-3."NAK" -> 15H 7-9. "DC2" -> 12H
7-4."SOH" -> 01H 7-10."DC3" -> 13H
7-5."STX" -> 02H 7-11. "DC4" -> 14H
7-6."ETX" -> 03H

A. 2 THE PROTOCOL
SCALE SIDE
COMPUTER SIDE
<-------"ENQ(05H)"---------- 1. computer sends "ENQ"
2. scale sends "ACK" --------"ACK(06H)"--------->
cuando, no hay respuesta
desde el computador en 3
segundos SCALE anula esta
solicitud
<--------------------------- 3. computer sends "DC1" or "DC2"
"DC1" para el dato del peso
"DC2" para todos los datos
4. SCALE sends data blocks ------------------------------
------------------------------

estoy utilizando el ejemplo del componente comport para obtener el peso
configuro los parametros de port, baud rate, data bits, stop bits, partity como se describe arriba 'COM1', 9600, 8, 1, NONE
con este procedimiento abro el puerto
procedure TForm1.Button_OpenClick(Sender: TObject);
begin
if ComPort.Connected then
ComPort.Close
else
ComPort.Open;
end;


con este procedimiento quiero pedir el peso pero no obtengo resultado
procedure TForm1.btnMandarComandoClick(Sender: TObject);
begin
ComPort.WriteStr(#5); //es el codigo ascii de ENQ
Sleep(2000);
ComPort.WriteStr(#17); //es el codigo ascii de DC1
end;



con este procedimiento debo leer lo que llega del puerto
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
Str: String;
begin
ComPort.ReadStr(Str, Count);
edPeso.Text := Str;
end;

nota: cuando abro el puerto y la pesa está en ceros 0.00 y coloco algún objeto en la balanza ese valor lo logro capturar en el evento onrxchar, pero si deseo obtener nuevante otro peso, la balanza debe volver a cero 0.00, y eso no es practico porque si lo que deseo es recalcular el peso sin bajar los artículos ya no puedo por que la verdad no entiendo muy bien el protocolo,
Responder Con Cita
  #2  
Antiguo 28-02-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Haz una búsqueda por "balanza", creo que hace un par de días se trató un tema similar, aunque encontrarás otros parecidos.

Por cierto, no olvides poner el código fuente entre las etiquetas pertienentes, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 28-02-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Hola.

Aparte de lo que te dice Casimiro te comento que yo uso un componente que igual te resulta más fácil manejar, el CommPortDriver, que lo abres y está continuamente recibiendo lo que la balanza envía. También, claro, es posible que no tengas la balanza configurada para enviar datos cosa que tendrías que comprobar.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 28-02-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Te aconsejo (y ya lo he hecho tras veces) olvidarte en principio de componentes y primero intentar ver si la báscula se comunica contigo. Para eso es muy útil el Hyperterminal de Windows. Una vez consigas comunicarte y sepas que esa comunicación es correcta, ya te pelearás con uno u otro componentes.

http://www.clubdelphi.com/foros/show...=hyperterminal
http://www.clubdelphi.com/foros/show...=hyperterminal
http://www.clubdelphi.com/foros/show...=hyperterminal

Y este, aunque el aparato es diferente, la comunicación es similar.
http://www.clubdelphi.com/foros/showthread.php?t=60871
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 02-03-2014
philadelfia2006 philadelfia2006 is offline
Registrado
 
Registrado: mar 2005
Posts: 4
Poder: 0
philadelfia2006 Va por buen camino
buena noche, probé con el hiperterminal escribiendo lo siguiente enq, y alt5 que es el código ascii del carácter de control(enq), pero sigo sin obtener el peso de la balanza, solo me aparece cuando la balanza está en cero y cambia a cualquier otro valor, pero si quiero pedirle el peso con el comando que dice el manual, la balanza no me responde.
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
imprimir código de barras en balanza digital jfrancho Varios 3 12-02-2013 01:16:06
Envío de datos a balanza puerto serie espinete Varios 8 20-04-2009 14:26:05
Capturar informacion de balanza electronica zugazua2001 Varios 1 09-07-2006 20:23:58
Problemas con una balanza. Gabriel2 Varios 2 06-12-2005 23:41:07
Recoger Información de Balanza altp Varios 4 22-08-2005 21:26:32


La franja horaria es GMT +2. Ahora son las 12:05:32.


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