Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2020
ambiorixml ambiorixml is offline
Registrado
 
Registrado: jun 2017
Posts: 7
Poder: 0
ambiorixml Va por buen camino
Smile Leer Scanner y Peso de Balanza Datologic Magellan 8300/ 8400

Buenas,

Dinstiguidos,

Tema: Leer Scanner y Peso de Balanza Datalogic Magellan 8300/ 8400

Tengo un aplicación (Punto de Venta o Sistema de Facturación) desde hace varios años (9-10 años) desarrollado en delphi 6 (versión interprise).

Hace muchos meses vengo realizando pruebas y buscando la forma de poder obtener la lectura del peso y el código de barra de una balanza electrónica, marca datalogic magellan (Versiones 8200/8300 y 8400 hasta ahora), y no he tenido éxito.

He leído, descargada y puesto a prueba casi todos los ejemplos y ejercicios que he podido encontrar en los foros de esta pagina sobre el componente TCOMPORT y códigos de la unidad URS232, entro otros, tambien sin exito alguno.

Honestamente, soy un pinino en esto, y estoy cansado de tirar patadas voladoras, por lo que mucho les agradecería la posibilidad de que me pudieran colaborar o facilitar algún código fuente con el componente comport(Que de verdad sirva para esta bascula, por favor) , o sin este para ver si asi veo luz a final del túnel.

Actualmente la app que tengo a pesar de sus años, está funcionando satisfactoriamente en algunos el supermercado, pero los clientes requieren esta mejora, ya que el negocio ha crecido e invirtieron en esto y el chiste de adaptar para leer el peso y la pistola que lee los códigos de barra, ya no me sirven de excusa.

Les recuerdo que esta desarrollada en delphi6 interprise, pero muchas de las librerías de delphi 7, funcionan perfectamente en esta versión.

Podria colaborarme?

Agradeciendo las atenciones brindadas

Bendiciones para todos y no se espongan y cuidense mucho con esto del Covid19.

Atte...

Ambiorix M.L.
Responder Con Cita
  #2  
Antiguo 08-04-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y qué dice el manual de la balanza?
Responder Con Cita
  #3  
Antiguo 08-04-2020
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 193
Poder: 21
muli Va por buen camino
Yo tengo esto funcionando, las caracteristicas del puerto tendrás que adaptarlas a la balanza (velocidad, etc).

Código Delphi [-]
Uses CPort;  // es la unidad del componente que nombras.

procedure TFormTpv.Timer2Timer(Sender: TObject);   // Lo tengo a 300 de interval

Var Peso : String;
     PesoNumero : Double;
     Pesar : TComport;

begin
  Try
    Pesar.Connected:=False;
    Pesar.Port:=Datos.PuertoBalanza;   // Le asigno el puerto COM donde está conectada la balanza.
    Pesar.Connected:=True;
    Sleep(250);
    Pesar.ReadStr(Peso,15);
    Edit4.Text:=Peso;
    Pesar.Close;
    Edit2.Text:=Copy(Edit4.Text,3,8);
    Edit2.Text:=CambiaEn(Edit2.Text,'.',',');
    eCantidad.Value:=StrToFloat(Edit2.Text);
    Timer2.Enabled:=False;
  Except
    eCantidad.Value:=0;
    Timer2.Enabled:=False;
  End;
end;

Saludos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #4  
Antiguo 08-04-2020
ambiorixml ambiorixml is offline
Registrado
 
Registrado: jun 2017
Posts: 7
Poder: 0
ambiorixml Va por buen camino
Muchas gracias muli, de inmediato haré las pruebas de lugar y para responderla a Casimiro, le informo que el manual da muchos detalles de cómo comunicarse as las basculas, pero por mas que he utilizado algunas de sus recomendaciones, no logro acertar aquí te comparto parte de la información, mientras pruebo lo de muli.

Los hallazgos que tengo hacen referencia a que lo primero que hay que hacer es instalar el programa que viene con ella, llamado Datalogic OPOS Package. El cual instala los controladores (dll y ocx's necesarios), dentro del mismo, viene un programa llamado Dual Test, con él podemos hacer las pruebas utilizando el software de Datalogic, pero como es sólo para pruebas, no nos servirá para otra cosa, más que probar tanto la balanza (báscula) como el lector de códigos de barra.

Luego indican utilizar librería de la instalación OPOS.Scale.1.13.

Balanza = CreateObject("OPOS.Scale.1.13") esto lo vi en FOXPRO.

Datos del manual:

Perfiles de escáner OPOS predeterminados:
RS232 Interfaces USBOEM Interfaces
MagellanSC
SCRS232Scanner
RS232Scanner
RS232Imager HandScanner
TableScanner
USBHHScanner
USBScanner

Para RS232 y RS232 de cable único: si los parámetros de comunicación para estas interfaces seriales son correctos en el perfil llamado, no es necesario ingresar parámetros de comunicación en la línea de comando. –B, -c, -d, -p, -s
-b x Selecciona la velocidad en baudios x que se utilizará para la identificación inicial y la actualización del firmware. El valor predeterminado es 9600. Admite 2400 - 115200
-c x puerto COM. Selecciona el puerto COM x para la comunicación. El valor predeterminado es 0
-d x bits de datos. Selecciona el número de bits de datos que se utilizarán. x puede ser 7,8 El valor predeterminado es 7
-e x Control de nivel CE. Comprueba el nivel EC de los escáneres antes de comenzar una actualización de firmware. El valor x es una cadena numérica de 4 caracteres. El nivel EC debe coincidir con el nuevo archivo de firmware. Si el escáner responde con un nivel EC "igual a" o "mayor que" el valor en la línea de comando, la actualización del firmware se cancelará. Si el escáner responde con un nivel EC "menor que" el valor en la línea de comando, la actualización del firmware continuará.
Códigos de retorno:
1 = OLDER
2 = SAME
3 = NEWER
4 = DIFFERENT
5 = UNKNOWN

-E, --Habilitado. Deje el escáner en el estado Activado después de la actualización del firmware. [Predeterminado = Falso]
-f x Nombre de archivo. Actualice el escáner con el firmware o el archivo de configuración x. La identificación, el estado y el estado del escáner se registran antes y después de la actualización del firmware.
-F x Validación de número de modelo. Valide el número de modelo del escáner antes de realizar la actualización del firmware / configuración. x = número de modelo del escáner. El número de modelo ingresado en la línea de comando se compara con el número de modelo extraído del escáner. Todos los dígitos proporcionados para la comparación deben coincidir exactamente.
Ejemplo: si se ingresa “98209” en la línea de comando, los primeros 5 dígitos del número de modelo en la respuesta del escáner deben ser “98209”
Si los números de modelo coinciden con la actualización de firmware / configuración, si no, no se realiza ninguna actualización de firmware / configuración. Si este interruptor no está presente, no se realiza ninguna comparación y la actualización continuará. Si se usa la opción de número de modelo corto "-r", la línea de comando debe tener uno de los modelos enumerados a continuación. *** Los números de modelo cortos se deben citar en la línea de comando ***
-l x Nombre del archivo de registro. x establece el nombre del archivo de registro. El valor predeterminado es dlslog.txt
-O Opciones de lista.
-p x paridad. Selecciona la paridad x que se utilizará para la comunicación con el escáner. x puede ser
• 'n' for no parity
• 'o' for odd parity (Default)
• 'e' for even parity
• 'm' for mark parity
• 's' for space parity
-r Nombres cortos de modelo. Especifica el uso de nombres de modelos cortos La siguiente es una lista de nombres de modelos cortos:
"2200 VS" "2300 HS"
"8200 SO" "8200 SS"
"8300 SO" "8300 SS"
"8400 SO" "8400 SS"
"8500 SO" "8500 SS"
"8500XT SO" "8500XT SS"
"8500XTS SO" "8500XTS SS"
"9300i SO" "9300i SS"
"9400i SO" "9400i SS"
"9500 SO" "9500 SS"
"9800i SO" "9800i SS"
SO = Scanner Only SS = Scanner Scale (O = Solo escáner SS = Escala de escáner)
-s x Stop Bits. Selecciona el número de Stop Bits. x puede ser 1,2, el valor predeterminado es 1
-t x Selecciona la velocidad en baudios x que se utilizará para la identificación después de una actualización de firmware. (Nota: el nuevo firmware y la configuración pueden cambiar la velocidad en baudios del escáner). El valor predeterminado es 9600. Admite 2400 - 115200
Imágenes Adjuntas
Tipo de Archivo: pdf DLRMU_Users_Guide.pdf (26,1 KB, 8 visitas)
Responder Con Cita
  #5  
Antiguo 08-04-2020
ambiorixml ambiorixml is offline
Registrado
 
Registrado: jun 2017
Posts: 7
Poder: 0
ambiorixml Va por buen camino
Hola muli, espero estes bien y gracias por los códigos suministrados, te comunico que realice los ajustes necesarios y aplique las pruebas de lugar, sin embargo, no he obtenido resultados, te dejo aqui los codigos a ver que hice mal.
Código Delphi [-]
procedure TFormTpv.TimerPesoTimer(Sender: TObject);
Var
     Peso : String;
     PesoNumero,eCantidad : Double;
     Pesar : TComport;
     liBanda:Cardinal;
begin
  Try
   // ***Le asigno los parametros seleccionados para la prueba de conecion y lectura de la balanza.
    Memo1.Lines.Add('INICIO'); //Para controlar los eventos ocurridos.
    Pesar.Connected:=False;
    Pesar.Port:=ComPort1.Port;
    Pesar.BaudRate:=ComPort1.BaudRate;
    Pesar.DataBits:=ComPort1.DataBits;
    Pesar.StopBits:=ComPort1.StopBits;
    Pesar.Parity:= ComPort1.Parity;
    Pesar.Connected:=True;
    Memo1.Lines.Add('CONECTADO'); //Para controlar los eventos ocurridos.
    Sleep(250);
    Pesar.ReadStr(Peso,15);
    Edit1.Text:=Peso;
    Pesar.Close;
    Edit2.Text:=Copy(Edit1.Text,3,8);
    //Edit2.Text:=CambiaEn(Edit2.Text,'.',',');
    eCantidad:=StrToFloat(Edit2.Text);
    Memo1.Lines.Add('LECTURA'); //Para controlar los eventos ocurridos.
    TimerPeso.Enabled:=False;// No lo detengo de momento para ver lo que hace.
    Memo1.Lines.Add('FIN');
  Except
     on E: exception do
     begin
     Memo1.Lines.Add('ERROR...'); //Para controlar los eventos ocurridos.
     Memo1.Lines.Add(e.message);
     eCantidad:=0;
    //TimerPeso.Enabled:=False;  // No lo detengo de momento para ver lo que hace.
    end;
  End;
end;

procedure TFormTpv.Button1Click(Sender: TObject);
begin
// Habilitado para poder hacer cambios en las paremetrizaciones del componente TCOMPORT.
TimerPeso.Enabled:= false;
ComPort1.ShowSetupDialog;
TimerPeso.Enabled:= true;
end;
end.
Intente capturar el error presentado y me arrojo esto:

Access violation at address 0045CCAF in module 'Lector_Peso.exe'. Read of address 00000001

Última edición por Casimiro Notevi fecha: 08-04-2020 a las 23:40:27.
Responder Con Cita
  #6  
Antiguo 11-04-2021
Avatar de darkerbyte
darkerbyte darkerbyte is offline
Miembro
 
Registrado: feb 2005
Posts: 196
Poder: 20
darkerbyte Va por buen camino
Question Magellan 9300i

Hola, Cómo lograste resolver tu problema con el Magellan 8300,
a mi me toca echar a andar un Magellan 9300i
Alguien ha trabajado con estas básculas que pueda darme una mano? porque en Datalogi ni el manual está y no se por donde empezar
Responder Con Cita
  #7  
Antiguo 11-04-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por darkerbyte Ver Mensaje
... en Datalogi ni el manual está y no se por donde empezar
En la web de datalogic está toda la documentación para descargar.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Leer desde Scanner jlalvarez Varios 1 22-05-2008 19:50:04
Leer codigo de barras y peso a travez de un puerto serie Wolfyx Conexión con bases de datos 4 04-12-2006 06:23:32
Problemas con una balanza. Gabriel2 Varios 2 07-12-2005 00:41:07
leer datos del scanner raudelink Varios 2 16-10-2004 03:13:30
peso del installshield. kwan Varios 2 26-09-2003 13:06:32


La franja horaria es GMT +2. Ahora son las 17:03:57.


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