Programação para Balança
Oi pessoal! pretendo criar programas para balanças eletronicas, gostaria de onde encontrar material para estudo na net? ou indicação de livros.
Grato,
Adriano
Grato,
Adriano
Xadriano
Curtidas 0
Melhor post
Aroldo Zanela
18/12/2003
Colega,
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.
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.
GOSTEI 2
Mais Respostas
Edison_br
17/12/2003
Se vc puder ser mais especifico? O vc quer fazer com a balança?
GOSTEI 1
Turbo Drive
17/12/2003
Olha so primeirmente vc deve ser mais claro como se refere nosso colega edison_br.
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
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
GOSTEI 1
Aroldo Zanela
17/12/2003
Colega,
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.
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.
GOSTEI 1
Aroldo Zanela
17/12/2003
Colega,
Declarando a DLL:
Evento OnTimer:
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.
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.
GOSTEI 1
Turbo Drive
17/12/2003
Bom dia
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
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
GOSTEI 1
Xadriano
17/12/2003
Olá Turbo Drive!
Se você puder me enviar este exemplo ficarei muito grato.
E-mail: af-pereira@uol.com.br
Adriano
Se você puder me enviar este exemplo ficarei muito grato.
E-mail: af-pereira@uol.com.br
Adriano
GOSTEI 0
Programalista
17/12/2003
Olá Turbo Drive, adoraria se vc me enviasse tambem o exemplo para trabalhar com balanças, inclusive as toledos.
lourival@usimetal.com.br
Lourival Oliveira
Sete Lagoas - MG
lourival@usimetal.com.br
Lourival Oliveira
Sete Lagoas - MG
GOSTEI 0
G!ov@nny_porto
17/12/2003
me Envie os emails que te mandarei exemplos
Ate mais
Ate mais
GOSTEI 0
Programalista
17/12/2003
Meu email é programalista@yahoo.com.br
Obrigado, desde já.
Obrigado, desde já.
GOSTEI 0
Alexandremarcondes
17/12/2003
Meu email é programalista@yahoo.com.br
Obrigado, desde já.
eu também gostaria de receber:
alexandremarcondes@gmx.net
GOSTEI 0
Cristiane.spl
17/12/2003
meu e-mail é cristiane@splsistemas.com.br
desde já agradeço
desde já agradeço
GOSTEI 0
Turbo Drive
17/12/2003
Boa tarde a todos.
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.
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.
GOSTEI 0
Turbo Drive
17/12/2003
:lol: Pessoal esqueci de mencionar que este código é colocado no evento OnKeyPress.
Desculpem a falha. Precisando, tamos aí.
Desculpem a falha. Precisando, tamos aí.
GOSTEI 0
Dpinho
17/12/2003
Alguem utilizou este código para balança Toledo PRIX III?
Preciso de um codigo para ler os dados desta balança, se alguem puder ajudar agradeço muito estou desesperado.
Preciso de um codigo para ler os dados desta balança, se alguem puder ajudar agradeço muito estou desesperado.
GOSTEI 0
Dpinho
17/12/2003
Alguem pode me ajudar?
GOSTEI 0
Vitor Alcantara
17/12/2003
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;
Sei que esse Post já está bastante antigo, mais góstaria de perguntar se alguem sabe se as balanças da marca Gural ESE-15 trabalham do mesmo modo.
Obrigado desde já.
Aguardo retorno.
GOSTEI 0
Eselvati
17/12/2003
Pessoal,
A titulo de sugestão, a suite ACBr tem um componente que trabalha com as balancas filizola e toledo, deem uma procurada...vale a pena
http://www.forumweb.com.br/foruns/index.php?showforum=465
Ederson Selvati
A titulo de sugestão, a suite ACBr tem um componente que trabalha com as balancas filizola e toledo, deem uma procurada...vale a pena
http://www.forumweb.com.br/foruns/index.php?showforum=465
Ederson Selvati
GOSTEI 0
Vitor Alcantara
17/12/2003
O AcbrBal realmente é muito bom(funciona perfeitamente no XP) só que por enquanto ele só tem suporte para balanças toledo e filizola.
O meu programa ja tem o PDV com opções para essas duas balanças e funciona redondinho , só que um cliente está querendo interligar as balanças da marca Gural ESE-15 com o PDV e não estou conseguindo achar nada de significante especificamente para essa balança, e gostária se algum colega ja tiver feito alguma coisa para essa marca que se pusesse compartilhar alguma informação sobre a mesma.
Acredito que seja possivel a interligação da balança pois ela possui uma saida serial que se comunica com um impressor de etiquetas.
Segue o meu email para caso alguem tenha algum material e possa me enviar vitoraalcantara@bol.com.br.
Agradeço desde já
Atenciosamente Vitor Araújo Alcântara
O meu programa ja tem o PDV com opções para essas duas balanças e funciona redondinho , só que um cliente está querendo interligar as balanças da marca Gural ESE-15 com o PDV e não estou conseguindo achar nada de significante especificamente para essa balança, e gostária se algum colega ja tiver feito alguma coisa para essa marca que se pusesse compartilhar alguma informação sobre a mesma.
Acredito que seja possivel a interligação da balança pois ela possui uma saida serial que se comunica com um impressor de etiquetas.
Segue o meu email para caso alguem tenha algum material e possa me enviar vitoraalcantara@bol.com.br.
Agradeço desde já
Atenciosamente Vitor Araújo Alcântara
GOSTEI 0
Guilherme Souza
17/12/2003
Bom dia
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
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
Eu também gostaria de receber este exemplo. Por favor envie para guilherme@info04informatica.com.br
Grato.
GOSTEI 0
Jefferson Rosa
17/12/2003
por favor , jeffersontpds@gmail.com
GOSTEI 0
Nelson Santos
17/12/2003
ganhe dinheiro com softwares 3D em Delphi 7
http://www.3dsistemas.com.br
http://www.3dsistemas.com.br
GOSTEI 0
Evaldo
17/12/2003
Caros colegas, eu estava precisando fazer uma rotina para enviar produtos para Toledo, direto da minha aplicação sem usar o MGV5 (TXITENS.TXT)
alguém sabe dizer se é possível ?
alguém sabe dizer se é possível ?
GOSTEI 0
Rodrigo Marchiori
17/12/2003
Bom dia tudo bem? Por favor você pode enviar os exemplo e também a dll o meu e-mail, estou procurando mas não encontro e o site da Filizola está fora.
ra.marchiori@gmail.com
Obrigado!
ra.marchiori@gmail.com
Obrigado!
GOSTEI 0
Potyscake 05105022459
17/12/2003
opa to precisando tbm se poder me envia blz
naldofeat1212@gmail.com
naldofeat1212@gmail.com
GOSTEI 0
Potyscake 05105022459
17/12/2003
opa to precisando tbm se poder me envia blz
naldofeat1212@gmail.com
naldofeat1212@gmail.com
GOSTEI 0
Lourival Oliveira
17/12/2003
Bom dia
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
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
Olá Tubro Drive, pode me enviar tambem este exemplo: lourival.ap@gmail.com
GOSTEI 0
Victor Boechat
17/12/2003
Respondendo a postagem do colega de 2006, que pedia ajuda de como fazer uma integração com uma balança Prix III, mesmo fazendo muito tempo, alguém pode necessitar dessa informação. Segue abaixo uma Unit que criei a partir de um exemplo que retirei da internet.
Para utilizar a Unit segue abaixo um exemplo:
Lembrando que utilizei a dll P05 para realizar a integração, a mesma pode ser encontrado para download com facilidade.
unit UToledo; interface uses Dialogs, SysUtils, Classes, Controls; function AbrePorta(const Porta, BaudRate, DataBits, Paridade: Integer): Integer; StdCall; External 'P05.DLL'; function PegaPeso(const OpcaoEscrita: Integer; Peso, Local: Pchar): Integer; StdCall; external 'P05.DLL'; function FechaPorta: Integer; StdCall; External 'P05.dll'; type TPorta = (prCOM1, prCOM2, prCOM3, prCOM4, prCOM5, prCOM6, prCOM7, prCOM8, prCOM9); TBaudRate = (br2400, br4800, br9600); TDataBits = (db7Bits, db8Bits); TParidade = (pdNenhuma, pdImpar, pdPar, pdEspaco); TToledo = class(TComponent) protected function GetWeight: Real; private FPorta: TPorta; FBaudRate: TBaudRate; FDataBits: TDataBits; FParidade: TParidade; procedure SetPorta(const Value: TPorta); procedure SetBaudRate(const Value: TBaudRate); procedure SetDataBits(const Value: TDataBits); procedure SetParidade(const Value: TParidade); function AbrirPorta: Boolean; overload; function AbrirPorta(FPorta:TPorta): Boolean; overload; public function PegarPeso: Real; published property Porta: TPorta read FPorta write SetPorta; property DataBits: TDataBits read FDataBits write SetDataBits; property Paridade: TParidade read FParidade write SetParidade; property BaudRate: TBaudRate read FBaudRate write SetBaudRate; end; procedure Register; implementation procedure Register; begin RegisterComponents('BoechatSoft', [TToledo]); end; { TToledo } function TToledo.AbrirPorta: Boolean; begin AbrirPorta(prCOM1); end; function TToledo.AbrirPorta(FPorta:TPorta): Boolean; var iPorta: Byte; iBaudRate: Byte; iDataBits: Byte; iParidade: Byte; begin case FPorta of prCOM1 : iPorta := 1; prCOM2 : iPorta := 2; prCOM3 : iPorta := 3; prCOM4 : iPorta := 4; prCOM5 : iPorta := 5; prCOM6 : iPorta := 6; prCOM7 : iPorta := 7; prCOM8 : iPorta := 8; prCOM9 : iPorta := 9; else iPorta := 1; end; case BaudRate of br2400 : iBaudRate := 0; br4800 : iBaudRate := 1; br9600 : iBaudRate := 2; else iBaudRate := 2; end; case DataBits of db7Bits : iDataBits := 0; db8Bits : iDataBits := 1; else iDataBits := 0; end; case Paridade of pdNenhuma : iParidade := 0; pdImpar : iParidade := 1; pdPar : iParidade := 2; pdEspaco : iParidade := 3; else iParidade := 3; end; Result := AbrePorta(iPorta, iBaudRate, iDataBits, iParidade ) = 1; if Result = False then begin iPorta:=1; while (Result = False) and (iPorta < 9) do begin Result := AbrePorta(iPorta, iBaudRate, iDataBits, iParidade ) = 1; iPorta:=iPorta + 1; end; end; end; function TToledo.GetWeight: Real; begin Result := StrToFloatDef(InputBox('Peso na balança', 'Informe o peso','0'),0); end; function TToledo.PegarPeso: Real; var Retorno: Boolean; Peso: array[0..5]of char; vResposta:Integer; function Mensagem():String; begin Result:='*** ERRO NA LEITURA DO PESO DA BALANÇA *** ' + #13 + #13 + 'O Sistema não conseguiu ler o peso da Balança.' + #13 + 'Você pode retirar o peso e colocar novamente para nova tenta-' + #13 + 'tiva de leitura do peso da balança. Caso não consiga ler o peso'+ #13 + 'da balança, você poder digitar o peso do produto.' + #13 + #13 + #13 + '[SIM] -> Para digitar o peso do produto' + #13 + '[NÃO] -> Para nova tentativa de ler o peso na balança'; end; function AuxAbrirPorta():Boolean; begin Result:=AbrirPorta; if (Result) then exit; Result:=AbrirPorta(prCOM1); if (Result) then exit; Result:=AbrirPorta(prCOM2); if (Result) then exit; Result:=AbrirPorta(prCOM3); if (Result) then exit; Result:=AbrirPorta(prCOM4); if (Result) then exit; Result:=AbrirPorta(prCOM5); if (Result) then exit; Result:=AbrirPorta(prCOM6); if (Result) then exit; Result:=AbrirPorta(prCOM7); if (Result) then exit; Result:=AbrirPorta(prCOM8); if (Result) then exit; Result:=AbrirPorta(prCOM9); end; begin repeat Retorno := AuxAbrirPorta(); Result := 0; if (Retorno = False) then MessageDlg('Erro na abertura da porta COM da Balança!',mtError,[mbOk],0) else begin Retorno := PegaPeso( 1, Peso, '' ) = 1; if (Retorno) then begin Result := StrToFloatDef(StrPas(Peso),0); Result := Result/1000; end; FechaPorta(); end; if (Result <= 0) or (Retorno <> True) then begin vResposta:=MessageDlg(Mensagem(), MtWarning,[mbYes,mbNo,mbCancel],0); if vResposta = MrYes then begin Result := GetWeight(); Break; end else if vResposta = mrCancel then begin Result := 0.00; Break; end; end else Break; until False end; procedure TToledo.SetBaudRate(const Value: TBaudRate); begin FBaudRate := Value; end; procedure TToledo.SetDataBits(const Value: TDataBits); begin FDataBits := Value; end; procedure TToledo.SetParidade(const Value: TParidade); begin FParidade := Value; end; procedure TToledo.SetPorta(const Value: TPorta); begin FPorta := Value; end; end.
Para utilizar a Unit segue abaixo um exemplo:
procedure TVendaFrm.LeituraPeso; var Toledo:TToledo; begin Toledo:=TToledo.Create(Self); if (portaBalanca = '1') then Toledo.Porta:=prCOM1 else if (portaBalanca = '2') then Toledo.Porta:=prCOM2 else if (portaBalanca = '3') then Toledo.Porta:=prCOM3 else if (portaBalanca = '4') then Toledo.Porta:=prCOM4 else if (portaBalanca = '5') then Toledo.Porta:=prCOM5 else if (portaBalanca = '6') then Toledo.Porta:=prCOM6 else if (portaBalanca = '7') then Toledo.Porta:=prCOM7 else if (portaBalanca = '8') then Toledo.Porta:=prCOM8 else if (portaBalanca = '9') then Toledo.Porta:=prCOM9; Toledo.BaudRate:=br9600; Toledo.DataBits:=db8Bits; Toledo.Paridade:=pdNenhuma; EditQuantidade.Text:=FormatFloat('#0.000',Toledo.PegarPeso); EditQuantidadeExit(Self); Toledo.Free; Toledo:=nil; end;
Lembrando que utilizei a dll P05 para realizar a integração, a mesma pode ser encontrado para download com facilidade.
GOSTEI 0
Sergio Oliveira
17/12/2003
Eu desenvolvi esse artigo aqui que explica como fazer uma integração com as balanças da Urano: https://www.linkedin.com/pulse/integrate-weighing-scales-using-rxtx-library-dantas-de-oliveira/
Oi pessoal! pretendo criar programas para balanças eletronicas, gostaria de onde encontrar material para estudo na net? ou indicação de livros.
Grato,
Adriano
Grato,
Adriano
GOSTEI 0