Ir para conteúdo
  • Cadastre-se

dev botao

Leitura Peso Balança - Modelo: Urano


schrsistemas
  • Este tópico foi criado há 2845 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

REF: ACBrBAlUrano.pas

procedure TACBrBALUrano.LeSerial( MillisecTimeOut : Integer) ;

 var

   Resposta: String;

   Quantos: integer;

begin

  fpUltimoPesoLido := 0 ;

  fpUltimaResposta := '' ;

  try

    fpUltimaResposta := fpDevice.Serial.RecvPacket( MillisecTimeOut );

    //fpUltimaResposta := '1BT11BA131BN01BS21BD41BQ1931BB * PESO: 5,10kg1BE1BP01';

    Resposta := fpUltimaResposta;


    if Copy(Resposta, pos('PESO', Resposta)-2, 1) = ' ' then

      Resposta := 'I'

    else if Copy(Resposta, pos(':', Resposta)+1, 1) = '-' then

      Resposta := 'N';


    if Length(Resposta) > 1  then

    begin

      Quantos := (pos('g', Resposta)-2);

      //Quantos := Quantos - (pos(':', Resposta)+1);

      Quantos := Quantos - (pos('N0', Resposta)+1);

      //Resposta := Copy(Resposta, pos(':', Resposta)+2, Quantos); //123456

      Resposta := Copy(Resposta, pos('N0', Resposta)+2, Quantos); //123456

    end;


    { Ajustando o separador de Decimal corretamente }

    Resposta := StringReplace(Resposta, '.', DecimalSeparator, [rfReplaceAll]);

    Resposta := StringReplace(Resposta, ',', DecimalSeparator, [rfReplaceAll]);


    try

      if pos(DecimalSeparator, Resposta) > 0 then  { Já existe ponto decimal ? }

        fpUltimoPesoLido := StrToFloat(Resposta)

      else

        fpUltimoPesoLido := StrToInt(Resposta) / 1000 ;

    except

      case Trim(Resposta)[1] of

        'I' : fpUltimoPesoLido := -1  ;  { Instavel }

        'N' : fpUltimoPesoLido := -2  ;  { Peso Negativo }

        //'S' : fpUltimoPesoLido := -10 ;  { Sobrecarga de Peso }

      else

        fpUltimoPesoLido := 0 ;

      end;

    end;

  except

     { Peso não foi recebido (TimeOut) }

     fpUltimoPesoLido := -9;

  end ;

end;

Teste efetuado na Balança Urano POPz US 20/2 POP LGHT

Link para o comentário
Compartilhar em outros sites

  • Consultores

Não entendi. Você está reportando um erro, está enviando aquivo pra correção, está com alguma dúvida no funcionamento?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Opa... haha... foi mal... estou reportando uma correção (nao bem uma correção).

Na verdade esta quanto a questão dos delimitadores: ':' - no caso da Balança Urano POPz US 20/2 POP LGHT, tive que usar o caracter: 'N0'

//Resposta := Copy(Resposta, pos(':', Resposta)+2, Quantos); //123456

Resposta := Copy(Resposta, pos('N0', Resposta)+2, Quantos); //123456

Isso me ocorreu em umas 3 urano. minhas as primeiras, quanto a esta marca. (Não cheguei de mexer em configuração do sistema físico da balança)

Não sei, se na leitura, ao método lerpeso(), através de um polimorfismo, especificar, o delimitador, a ser usado.. (é só idéia)

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
  • Fundadores

A sua modificação quebraria o funcionamento dos modelos que usam ':' como delimitador...

Apliquei uma verificação para ambos Delimitadores... Deve funcionar se o modelo que usa o delimitador 'N0' não contiver o sinal ':' na resposta...

Por favor atualize os fontes pelo SVN, e verifique se a modificação que apliquei funciona para os seus modelos de Balança

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...


O retorna da serial da balança Urano US 20/2 POP-S esta assim:

DATA:  00/00/00 VALID.: 00/00/00      TARA:   0.000kg       PESO L:  1.542kg      R$/kg:      0.00      TOTAL R$:      0.00200000000000

 

 

Fiz uma correção nos fontes da ACBRBALUrano nas linhas;

 

linha 76 - sleep(600);// estava 300 estava buscando muito rápido e retornava -9 em quase 60% das leituras de peso

 

linha 91 - Resposta := fpUltimaResposta;
linha 92 - resposta := Copy(Resposta, Pos('PESO L:', Resposta), 16); //alteração
 
Não a melhor correção mas para mim funcionou
Link para o comentário
Compartilhar em outros sites

 

O retorna da serial da balança Urano US 20/2 POP-S esta assim:

DATA:  00/00/00 VALID.: 00/00/00      TARA:   0.000kg       PESO L:  1.542kg      R$/kg:      0.00      TOTAL R$:      0.00200000000000

 

 

Fiz uma correção nos fontes da ACBRBALUrano nas linhas;

 

linha 76 - sleep(600);// estava 300 estava buscando muito rápido e retornava -9 em quase 60% das leituras de peso

 

linha 91 - Resposta := fpUltimaResposta;
linha 92 - resposta := Copy(Resposta, Pos('PESO L:', Resposta), 16); //alteração
 
Não a melhor correção mas para mim funcionou

 

Link para o comentário
Compartilhar em outros sites

É infelizmente não consegui testar em outros modelos da Urano, mas o que eu fiz foi criar uma nova classe AcbrBalUranoPOP  e adicionei esta alteração lá.

 
 
Cordialmente

Ronei Angelo Grosbelli
Sócio | Desenvolvedor da Parseint
Skype: ronei.parseint | 
 
Link para o comentário
Compartilhar em outros sites

Em anexo os fontes;

 

Só lembrando que o fonte ACBRBALUranoPOP.pas tem que ser adicionado no pacote ACBrSerial.dpk

 

 

 

Obs. qualquer duvida esto a disposição.

 

 

 

 

www.parseint.com.br

 

www.sischef.com

ACBrSerial.rar

Editado por Ronei Angelo Grosbelli
  • Curtir 1
 
 
Cordialmente

Ronei Angelo Grosbelli
Sócio | Desenvolvedor da Parseint
Skype: ronei.parseint | 
 
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Fundadores

Suas alterações estão corretas... e muito bem documentadas...

 

Já incorporei nos fontes, e subo para o SVN assim que tiver chance...

 

Obrigado pela sua contribuição...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...

Na demonstração para balança, seria interessante colocar os seguinte modelos:

Nenhuma
Filizola
Toledo
Toledo2180
Urano
LucasTec
Magna
Digitron
Magellan
Urano Pop
 
No demo atual, não aparece digitron e Urano Pop, o que dificulta o entendimento para quem está começando.
 
Ou quem sabe alguma outra maneira de enumerar os modelos disponíveis no ACBR.
 
Obrigado!!!
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Obrigado pela sugestão...

 

Se desejar enviar modificações nos fontes ficaremos contentes em analisa-las e se possível incorpora-las aos fontes do Projeto

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Prezados, boa tarde;

Estamos com o seguinte problema na leitura de peso de um cliente. Para resumir:

Num executável do exemplo "BalancaTeste.exe" compilado em 2014, a balança URANO esta lendo o peso normalmente.
Quando coloco o "BalancaTeste.exe", compilado com o update no SVN na data de hoje (14/07/2016), simplesmente a balança URANO para de ler o peso (retorna -9).

Alguma ideia?

Desde já agradeço. 
 

Link para o comentário
Compartilhar em outros sites

Já passei vergonha em cliente por me basear no demo :-D. Faz parte.

O itens do dropdown estão incorretos. Em alguma alteração foi incluída a balança Toledo2090 no meio da listagem da balanças.

Itens do dropdown do demo:

Nenhuma
Filizola
Toledo
Toledo2180
Urano
LucasTec
Magna
Digitron
Magellan
9 ------> UranoPOP
Lider

Correto para o componente atualizado:

Nenhuma
Filizola
Toledo
Toledo2090
Toledo2180
Urano
LucasTec
Magna
Digitron
Magellan
10 ------> Urano Pop
Lider
Rinnert
Muller
Saturno
AFTS
Generica

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2845 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.