FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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, |
|
|
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 |
|