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

 
 
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
 



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 14:11:05.


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