Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Administradores
Postado

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 ACBr Pro

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 !!

  • Fundadores
Postado

Isso parece errado...

  Em 02/04/2020 at 14:52, carlosvieiralza@gmail.com disse:

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

    RETURN bufferLen

Expandir  

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.

Postado
  Em 02/04/2020 at 15:49, 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/

Expandir  

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.txtFetching info...

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

trava bem nessa linha

  • Fundadores
Postado

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.

Postado
  Em 02/04/2020 at 21:09, 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

 

Expandir  

deu mesmo erro. 

Postado
  Em 02/04/2020 at 22:06, Rafael Dias disse:

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

Expandir  

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
  • Administradores
Postado

Bom dia.

  Em 03/04/2020 at 02:27, carlosvieiralza@gmail.com disse:

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

Expandir  

Por favor anexe o arquivo alterado.

Att.

Consultora ACBr Pro

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 !!

  • Fundadores
Postado

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]

Expandir  

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]

Expandir  

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.

Postado
  Em 03/04/2020 at 19:13, 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...

Expandir  

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

  • Este tópico foi criado há 1840 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.

The popup will be closed in 10 segundos...