Programação para Balança
17/12/2003
0
Grato,
Adriano
Xadriano
Post mais votado
18/12/2003
Para ser franco eu achei muito rápido e de excelente qualidade o material disponibilizado pela Filizola. Mas eu também ficarei muito grato se puder disponibilizar o material proposta aqui no fórum para que todos os interessados possam tirar proveito.
Aroldo Zanela
Mais Posts
17/12/2003
Edison_br
17/12/2003
Turbo Drive
vc ira prescisar de um componente serial se for trabalhar coletando informação da balança. Ai vc tem de ter o componente ASync32 que vc encontra no http://www.veloso.kit.net/download.html. depois dai e so aprender como trabalha com ele e saber claro da configurações da balança que vc vai trabalhar.
Se for das que emitem codigo de barras vc nao ira prescisar de nada somente saber decifar como esta cadastrado na balança e fazer a rotina para o seu sistema.
Se for balanças industriais indico que vc procure o fabricante pois ele lhe dara maiores informa~ções como desenvolver a comunição.
nao tem muito segredo não
Falow MSN anibaltec@veloxmail.com.br
17/12/2003
Aroldo Zanela
Qual marca e modelo da balança? Tenho uma rotina para Filizola BP15 que fiz recentemente. No site do fabricante deve ter os exemplos e manuais.
17/12/2003
Aroldo Zanela
Declarando a DLL:
function ConfiguraBalanca(Balanca: Integer; Aplicativo: THandle): Boolean; stdcall; external ´PcScale.dll´; {Declara a função InicializaLeitura existente na DLL "PcScale.dll"} function InicializaLeitura(Balanca: Integer): Boolean; stdcall; external ´PcScale.dll´; {Declara a função ObtemInformacao existente na DLL "PcScale.dll"} function ObtemInformacao(Balanca: Integer; Campo: Integer): double; stdcall; external ´PcScale.dll´; {Declara a função FinalizaLeitura existente na DLL "PcScale.dll"} function FinalizaLeitura(Balanca: Integer) : Boolean; stdcall; external ´PcScale.dll´; {Declara a função ExibeMsgErro existente na DLL "PcScale.dll"} function EnviaPrecoCS(Balanca : integer; Preco : double) : Boolean; stdcall; external ´PcScale.dll´; {Declara a função FinalizaLeitura existente na DLL "PcScale.dll"} function ObtemParametrosBalanca(Balanca: Integer; Modelo: PInteger; Porta: PInteger; BaudRate: PInteger ): Boolean stdcall; external ´PcScale.dll´; {Declara a função ObtemNomeBalanca existente na DLL "PcScale.dll"} Procedure ObtemNomeBalanca(Modelo: Integer; Ret: PChar); stdcall; external ´PcScale.dll´; {Declara a função ExibeMsgErro existente na DLL "PcScale.dll"} Procedure ExibeMsgErro(Aplicativo : THandle); stdcall; external ´PcScale.dll´;
Evento OnTimer:
procedure TForm7.tmrBalancaTimer(Sender: TObject); var Status: Integer; Mensagem: String; begin Status := StrToInt(FloatToStr(ObtemInformacao(0,0))); Case Status of 0: Mensagem := ´Falha comunicando-se com a balança.´; 1: Mensagem := ´Peso Oscilando.´; 2: Mensagem := ´Peso estável.´; 3: Mensagem := ´Sobrecarga de Peso ou Alivio de Plataforma.´; 4: Mensagem := ´Erro lendo licensa do Software.´; end; rxBalanca.Value:= ObtemInformacao(0,1)/1000; Totalizar; btnOk.Enabled:= Status=2; sbBalanca.SimpleText:= Mensagem; end;
O código acima é disponibilizado gratuitamente pela Filizola, basta se cadastrar como desenvolvedor e baixar os arquivos. Está tudo detalhado e você não vai gastar mais que algumas horas para implementar na sua aplicação.
18/12/2003
Turbo Drive
Prezado Zanela não temos a nescessidade de usar essa dll que a filizola nos fornece mesmo gratuito ficamos muito dependentes deles assim atrazando todo o nosso serviço então se vc deseja ter envio um exemplo que vai funcionar com todas as marcas de balaças do mercado seja ela
Filizola Toledo Urano entre outras bastando ser uma RS 232
Falow
26/01/2004
Xadriano
Se você puder me enviar este exemplo ficarei muito grato.
E-mail: af-pereira@uol.com.br
Adriano
27/01/2004
Programalista
lourival@usimetal.com.br
Lourival Oliveira
Sete Lagoas - MG
28/01/2004
Programalista
Obrigado, desde já.
28/01/2004
Alexandremarcondes
eu também gostaria de receber:
alexandremarcondes@gmx.net
28/01/2004
Cristiane.spl
desde já agradeço
29/01/2004
Turbo Drive
Como este parece ser um assunto que serve para todos nós, vou colocar o código que utilizo em minhas aplicações. Conforme foi dito antes, vcs precisam adquirir o Async32. O código abaixo diz que ao apertar o ´*´, o sistema pede a leitura da balança. Eis o que eu utilizo:
var
balanca : String;
if key = ´*´ then
begin
vaComm1.PortNum := 2; // COM2
if edit1.text = ´´ then
begin
if not vaComm1.active then
vaComm1.open;
balanca := #5;
if vaComm1.active then
vaComm1.WriteText(balanca);
end
end;
A variável balanca recebe 5 para iniciar a string e depois de ativo o componente joga o valor para ela.
Espero ter sido claro. Qualquer coisa, postem aqui ou me mandem um e-mail.
29/01/2004
Turbo Drive
Desculpem a falha. Precisando, tamos aí.
18/09/2006
Dpinho
Preciso de um codigo para ler os dados desta balança, se alguem puder ajudar agradeço muito estou desesperado.
Clique aqui para fazer login e interagir na Comunidade :)