rlira Postado 27 Fevereiro Postado 27 Fevereiro Senhores , eu tenho andado as voltas com uma rotina de balança para uso em um self-service, a balança uma Toledo Prix 3 , baixei a lib de testes, aqui no meu ambiente não tenho a balança fisica e por isso usei o emulador , estou usando a linguagem Visual FoxPro , carreguei a DLL ( olhei os exemplos ) e consigo ler o peso porém uma única vez , na segunda já vem um erro e simplesmente um erro sem dizer nada mais... pensei ser porque estou usando um emulador e enviei o programa para quem tem a balança mais lá também ocorre o mesmo erro os passos que eu utilizei foram ativar #solicitarPeso ( não sei se isso funciona quanto tentei não deu certo então comentei ) lerpesoStr se eu tento novamente lerpesoStr aqui eu já recebo o retorno -10
Moderadores Juliomar Marchetti Postado 27 Fevereiro Moderadores Postado 27 Fevereiro Como está falando da Lib movi para o subforum da lib sua dúvida. tu está usando o monitoramento de peso? e dai está pegando último peso? https://acbr.sourceforge.io/ACBrLib/BAL_UltimoPesoLido.html Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
rlira Postado 27 Fevereiro Autor Postado 27 Fevereiro oLÁ Boa tarde ! Prezado obrigado já de antemão pela iteração , Então eu nunca fiz uso de nada relacionado a balança , para não dizer isso a unica coisa que já fiz foi relacionado ao código de barra destes dispositivos que começa com 2 mais que não é o caso aqui ... Você pergunta se eu estou usando Monitoramento de peso... olha ... sinceramente eu vou te responder interpretando o termo "monitoramento" que suponho ser algo que monitora a porta por meio de algum evento se eu interpretei certo não não é isso o meu intuito é usar um timer e ficar consultando de tempos em tempos se existe algum algo ( se retornou um peso ) por enquanto na faze de testes eu estou usando um botão mesmo embora eu já tenha o componente timer no form para este fim
rlira Postado 27 Fevereiro Autor Postado 27 Fevereiro (editado) o que ocorre ao ler pela segunda vez em diante é o retorno -10 que segundo o manual que diz Indica que houve erro ao ler o peso da Balança no aCBrBal, mais qual o erro? e porque leu a primeira vez e na segunda em diante não? estou usando um código muito simples ... que obtive nos exemplos Procedure LePesoStr() local hResult, buffer, bufferLen, oErr bufferLen = STR_LEN buffer = Space(bufferLen) hResult = BAL_LePesoStr(2000, @buffer ) ? hResult && aqui já retorna -10 na segunda tentativa Return This.TratarResultado(hResult, @buffer, @bufferLen) EndProc agora eu notei algo... embora o retorno da função retorne -10 no log mostra uma informação do ultimo peso lido como se houvesse um equivoco ai, e outro detalhe se eu uso antes de pedir o peso o comando para solicitar peso ( que eu até removi porque não entendi o seu proposito pratico ... porque pelo nome da função esta claro sim ) segue imagem do log o que esta em amarelo foi quando usei antes de ler o peso a função solicitar peso em azul esta informação que esta vindo no log esta vindo mesmo o retorno da função retornando -10 Editado 27 Fevereiro por rlira mais informações
Moderadores Juliomar Marchetti Postado 27 Fevereiro Moderadores Postado 27 Fevereiro monitorar é uma das opções de configuração https://acbr.sourceforge.io/ACBrLib/ConfiguracoesdaBiblioteca3.html Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
rlira Postado 27 Fevereiro Autor Postado 27 Fevereiro Olá então... Aqui esta configurada como 0 - Não, suponho ser o default
Moderadores Juliomar Marchetti Postado 27 Fevereiro Moderadores Postado 27 Fevereiro Acho que tu manda a configuração e busca o peso e está fechando ou algo assim e ele perde as configurações Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
rlira Postado 27 Fevereiro Autor Postado 27 Fevereiro Cara olha realmente a pouca experiência com este tipo de dispositivo me deixa com todo tipo de duvida mais o código para isso é no mínimo monossilábico ... estar fechando algo impossível o código que chama a o método da DLL eu postei acima BAL_LePesoStr já o código do botão é mínimo mais como disse nenhuma experiência com balança me deixa realmente numa posição desfavorável mais vou colocar aqui imagens que são muito simples .. e que acho que é como deve ser no entanto vou colocar uma outra imagem que é como eu obtenho o peso que é obtido no método TratarResultado que faz uso do BAL_UltimoRetorno que joga o retorno na propriedade This.Mensagem = Strconv(buffer, UTF8_TO_STR) Resumindo... não vejo como eu esteja fechando algo... e uma vez que o log ele registra o peso porém o que ocorre é que ao chamar o peso retorna -10
rlira Postado Sexta as 01:20 Autor Postado Sexta as 01:20 Prezados boa noite Será que após eu obter o peso eu precise fazer algo... ( na verdade nem sei o que dizer ) tipo limpar algo para poder fazer a próxima leitura? na verdade nem sei mais o que fazer ... andei olhando o código de exemplo feito em Harbour que se parece um pouco com o VFP e olhei também em Pyton mais nada me deu a entender que eu esteja fazendo algo errado
Moderadores Juliomar Marchetti Postado Sexta as 12:53 Moderadores Postado Sexta as 12:53 Se tu deixa monitarando a balança , quando estabilizar basta pegar a ultima leitura Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
rlira Postado Sexta as 13:28 Autor Postado Sexta as 13:28 Olá bom dia Juliomar!!!! Prezado obrigado pelo retorno, eu também compreendo que devido a eu nunca ter trabalhado com estes dispositivos isso dificulta um pouco o meu progresso mais .... deixa ver se eu entendi.. hoje eu estou usando a função da DLL BAL_Le_PesoStr vc mencionou ai o termo "pegar a ultima leitura" Então eu passaria a não fazer desta forma mais... primeiro mudar a configuração para MonitorarBalanca=1 segundo usar uma outra função BAL_UltimoPesoLidoStr ou BAL_UltimoPesoLido
Moderadores Juliomar Marchetti Postado Sexta as 13:57 Moderadores Postado Sexta as 13:57 https://acbr.sourceforge.io/ACBrLib/MetodosBAL.html tem os métodos do componente https://acbr.sourceforge.io/ACBrLib/MetodosdaBiblioteca3.html e tem os da biblioteca Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
rlira Postado Sexta as 14:05 Autor Postado Sexta as 14:05 Sim , sim eu sei da documentação até porque além dos exemplos eu as utilizei mais a documentação ela não instrui a nível de negócio e o que vc me disse a pouco ai é negócio , vc me deu uma dica e eu aqui "preso" no le_peso, le_peso ... mais dai o que vc me disse a pouco agora abriu a minha mente pois se eu entendi bem o que vc quis dizer a documentação ela não da esta "dica" pode até ser para os mais experientes
rlira Postado Sexta as 21:41 Autor Postado Sexta as 21:41 Olá boa tarde Eu tentei agora fazer o que vc sugeriu , a lib esta configurada para MonitorarBalanca = 1 eu entendo isso como que isso disparasse um Evento , um OnPeso da vida... não existe na documentação na parte da Balança que descreva evento, apenas Métodos com isso eu Não mais passei a utilizar o comando Le_Peso ou Le_PesoStr entendendo que com o monitoramento eu precisaria substituir estes comandos por outro dai tentei BAL_UltimoRetorno BAL_SolicitarPeso BAL_UltimoPesoLidoStr Nenhum me retornou nada , inclusive o ultimo da erro, já que há um monitoramento ativado, o arquivo de log tem vários conteúdos como UltimoPesoLido: 1,233 - Resposta: 01233 - Protocolo: Protocolo B. vendo este log então eu pensei porque não trocar o BAL_UltimoPesoLidoStr por BAL_UltimoPesoLido é um chute já que a documentação não diz muito sobre isso alias a documentação ela trata da função ou método apenas seria bom que ela desse uma ajuda no emprego ou uso em que momento..... porque usar ... se repete sempre se é uma unica vez.... Resultado com o monitoramento BAL_UltimoPesoLidoStr não funciona mais BAL_UltimoPesoLido sim dai agora eu voltei ao jogo
Moderadores Juliomar Marchetti Postado Segunda as 11:05 Moderadores Postado Segunda as 11:05 só não entendi. deu certo ou não? Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
rlira Postado Há 21 horas Autor Postado Há 21 horas (editado) Olá !!!! Sim, sim deu certo meu caro e muito obrigado Eu só acredito que um passo a passo ou um fluxo de como se deve usar a DLL para esta finalidade poderia figurar nos tutoriais , como eu disse a documentação existe mais ela é direta e simplesmente diz: "- Este comando faz isso!" e só dai o fluxo que eu construi foi meio que baseado na martelada vc viu ai que eu tive que expermentar BAL_UltimoRetorno depois BAL_SolicitarPeso depois BAL_UltimoPesoLidoStr e o comando BAL_UltimoPesoLidoStr deu erro e por fim BAL_UltimoPesoLido e deu certo mais porque eu vi no log que isso estava ecoando lá então experimentei ... deu certo não sei se eu fiz corretamente os passos mais suponho que sim Editado Há 21 horas por rlira
Moderadores Juliomar Marchetti Postado Há 21 horas Moderadores Postado Há 21 horas Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Recommended Posts