Ir para conteúdo
  • Cadastre-se

dev botao

le peso acbrbal


Ver Solução Respondido por Rafael Dias,
  • Este tópico foi criado há 1455 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Administradores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Bom dia.

Oque ocorre quando vc aciona a leitura do peso? Por favor anexe também os logs da lib.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Isso parece errado...

11 minutos atrás, [email protected] disse:

METHOD LePeso(Timeout) CLASS AcbrBalanca
        buffer := Space(bufferLen)
        DllCall(::hHandle, DLL_OSAPI, "BAL_LePeso",Timeout, @bufferLen)        

    RETURN bufferLen

tente assim:

METHOD LePeso(Timeout) CLASS AcbrBalanca
        buffer := Space(bufferLen)
        DllCall(::hHandle, DLL_OSAPI, "BAL_LePeso",Timeout, @buffer)        

    RETURN @buffer
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

  • Fundadores

Eu realmente não sou conhecedor de xHarbour... notei que o nome do @Eric.Developer, está no .PRG que vc anexou... Talvez ele possa lhe prestar alguma assessoria, para criar um "Bind" para a nossa DLL

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

4 horas atrás, Rafael Dias disse:

eu enviei um demo para o SVN poderia testar com ele.

http://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrLib/Demos/Harbour/BAL/

Trava na hora de retornar o peso. não le mas no log ate aparece o peso. so que trava o sistema 

     Balanca:= ACBrBal():New('acbrbal.ini','')            
     Balanca:ativar()             
     peso = Balanca:Lepeso(200)             
     Balanca:desativar()             
     Balanca := nil
 

logbal.txt

    hResult := DllCall(::hHandle, DLL_OSAPI, "BAL_LePeso", MillisecTimeOut, @ePeso)
 

trava bem nessa linha

Link para o comentário
Compartilhar em outros sites

  • Fundadores

humm.. talvez tenhamos que criar um novo método, que retorno o Peso como String...

O Harbor (clipper) define o tipo da variável, conforme algo é atribuído a ela... tente algo como:

METHOD LePeso(MillisecTimeOut) CLASS ACBrBAL
    local hResult
    local ePeso

    ePeso := 1.23456

    hResult := DllCall(::hHandle, DLL_OSAPI, "BAL_LePeso", MillisecTimeOut, @ePeso)
    ::CheckResult(hResult)
    RETURN ePeso

 

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 minutos atrás, Daniel Simoes disse:

humm.. talvez tenhamos que criar um novo método, que retorno o Peso como String...

O Harbor (clipper) define o tipo da variável, conforme algo é atribuído a ela... tente algo como:


METHOD LePeso(MillisecTimeOut) CLASS ACBrBAL
    local hResult
    local ePeso

    ePeso := 1.23456

    hResult := DllCall(::hHandle, DLL_OSAPI, "BAL_LePeso", MillisecTimeOut, @ePeso)
    ::CheckResult(hResult)
    RETURN ePeso

 

deu mesmo erro. 

Link para o comentário
Compartilhar em outros sites

4 horas atrás, Rafael Dias disse:

Eu atualizei e classe e mandei uma nova versão da dll favor testar com as mesmas.

Boa noite. mais cedo estava testando direto na balança pra não ter duvidas. mas não funcionava nem no emulador nem na balança. agora acabei de testar no emulador e funcionou. 

amanha cedo vou testar na balança e qualquer coisa eu aviso.  tive que fazer uma pequena modificação. Depois atualiza o exemplo. 

METHOD LePeso(MillisecTimeOut) CLASS ACBrBAL
    local hResult, buffer, bufferLen
    bufferLen := STR_LEN
    buffer := Space(bufferLen) 

    hResult := DllCall(::hHandle, DLL_OSAPI, "BAL_LePesoStr", MillisecTimeOut, @buffer, @bufferLen)
    ::CheckResult(hResult)

RETURN val(  StrTran(AllTrim(buffer),",","."))
 

o Xharbour quando puxa o peso da balanca ele vem string com , 'Virgula' ai e necessário transformar em . 'ponto' para depois fazer a conversão.  

Diante de tudo so tenho que agradecer o suporte top de vcs. Muito obrigado. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

8 horas atrás, [email protected] disse:

amanha cedo vou testar na balança e qualquer coisa eu aviso.  tive que fazer uma pequena modificação. Depois atualiza o exemplo

Por favor anexe o arquivo alterado.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Fundadores

A balança não respondeu conforme o protocolo dela... Veja, essa é uma resposta correta

Citar

 - 23:28:35:219 TX -> [ENQ]
 - 23:28:35:647 RX <- [STX]08071[ETX]
              UltimoPesoLido: 8,071 - Resposta: [STX]08071[ETX]

Já na resposta inválida, não existe o marcador de início STX ou #2, nem o ETX

Citar

 - 15:56:08:796 TX -> [ENQ]
 - 15:56:09:848 RX <- D0004.15[CR]
              UltimoPesoLido: -9 - Resposta: D0004.15[CR]

Por isso o componente acredita que a resposta não chegou, e acusa o erro de leitura -9

Verifique com o fabricante, porque o equipamento, está respondendo de duas formas diferentes...

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

11 minutos atrás, Daniel Simoes disse:

A balança não respondeu conforme o protocolo dela... Veja, essa é uma resposta correta

Já na resposta inválida, não existe o marcador de início STX ou #2, nem o ETX

Por isso o componente acredita que a resposta não chegou, e acusa o erro de leitura -9

Verifique com o fabricante, porque o equipamento, está respondendo de duas formas diferentes...

a primeira foi pelo emulador e a segunda pela balança. como o emulador não emula digitron teste como filizola. 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

realmente... agora que notei... que mudou o modelo...

Pelo que li nos fontes... o protocolo dessa balança é o balDigitron_UL

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

  • Este tópico foi criado há 1455 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.