Jump to content

dev botao

le peso acbrbal


carlosvieiralza@gmail.com
Go to solution Solved by Rafael Dias,
  • Este tópico foi criado há 1648 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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. 

  • Like 1
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

  • Este tópico foi criado há 1648 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...