Página 1 de 2

Capturar Pêso

Enviado: 18 Fev 2008 17:52
por JAIR RANGEL
Olá, Pessoal !

Estou precisando capturar Pêso em Balanças FILIZOLA !
Será que alguém de vcs já fizeram esta comunicação........

Desde já agradeço a atenção...........

Jair Rangel (Harbour+MiniGUI+BrMake)

Enviado: 18 Fev 2008 18:52
por sygecom
Já tens a documentação da mesma ? se não tem entra em contato com o fabricante e peça a documentação da mesma, e use a HBCOMM para se comunciar com porta serial.

Enviado: 20 Fev 2008 10:15
por JAIR RANGEL
Olá, Sygecom !

Baixei do site da FILIZOLA o manual de utilização da DLL do Fabricante.
DLL para comunicação com a Balança.

Já utilizou esta DLL ?

O HBCOMM São funções do Harbour, é isto ? Vou pesquisar...............

Obrigado por responder.............


Jair Rangel
(Harbour+MiniGUI+BrMake)

Enviado: 20 Fev 2008 11:10
por Maligno

Enviado: 20 Fev 2008 12:55
por sygecom
JAIR RANGEL escreveu:Olá, Sygecom !

Baixei do site da FILIZOLA o manual de utilização da DLL do Fabricante.
DLL para comunicação com a Balança.

Já utilizou esta DLL ?

O HBCOMM São funções do Harbour, é isto ? Vou pesquisar...............

Obrigado por responder.............


Jair Rangel
(Harbour+MiniGUI+BrMake)
Jair,
Eu nunca usei DLL para comunicação com balanças, sempre preferi usar comunicação direta, assim mesmo nõ vejo problemas em usar DLL , apenas deve saber as funções da DLL.
Na pasta "\minigui\SAMPLES\Advanced\HBCOMM" tem exemplo de uso da HBCOMM e a LIB jah vem na pasta "\harbour\lib"

Enviado: 20 Fev 2008 14:38
por JAIR RANGEL
Sygecom,

Parece incrível, mas não existe a pasta "\MiniGUI\SAMPLES\Advanced\HBCOMM" para mim.
Bem como não existe a HBCOMM.LIB dentro de "harbour\lib".

Baixei do link que o malígno mencionou. Valeu malígno..........
Porém, me parece que tenho que compilar para montar o HBCOMM.LIB.
Vou ter que estudar isto.............
Será que minha versão do Harbour está desatualizada ??
Não baixei nenhuma versão EXPERIMENTAL ainda !
Pode ser que venha na versão EXPERIMENTAL........................

Valeu.....................................

Jair Rangel.
(MiniGUI+Harbour+Brmake)

Enviado: 21 Fev 2008 17:30
por JAIR RANGEL
Olá, pessoal !

Baixei a MiniGUI Experimental. A LIB HBCOMM apareceu ok !
Versão 1.4-48.
Desculpe a ignorância. Vou passar a atualizar com frequência.

Porém ao compilar meu projeto, me aparece alguns erros.....
Estou tentando descobrir porque..........

Até..........

Jair Rangel

Enviado: 22 Fev 2008 12:44
por sygecom
Qualquer coisa prende o grito !

Enviado: 25 Fev 2008 20:18
por JAIR RANGEL
Olá, Sygecon !

Valeu cara........................................................................
Ainda não analisei os ERROS que ocorreram na compilação do meu projeto com a Versão EXPERIMENTAL.
Apareceu outras urgênciais. Mas estarei vendo isto muito breve !

Obrigadúúúúúúúúúúúúú !!

Jair Rangel.
(Harbour+MiniGUI+BrMake) :xau

Re: CAPTURAR PÊSO

Enviado: 31 Mai 2008 17:06
por JAIR RANGEL
Olá, Pessoal !

Estou apanhando para conseguir comunicar com uma Balança Filizola BP 15kg.
Comunicação serial RS232.
Estou utilizando a HBCOMM. Uso a rotina que encontrei nas minhas buscas.
Até agora nada !

Quando faço:
Bytes:=InBufSize( nHandle )
If Bytes > 0
............
......
Else
MsgExclamation ('ERRO NA LEITURA DA PORTA !' )
EndIf

Bytes NUNCA É MAIOR QUE ZERO......

Porém, consigo abrir a porta.
A Balança indica que está conectada.
Mas paro nesta parte....

Se alguém puder ajudar, agradeço.......... :%

Harbour+MiniGui+BrMake

Re: CAPTURAR PÊSO

Enviado: 03 Jun 2008 00:28
por sygecom
JAIR RANGEL escreveu:Olá, Pessoal !

Estou apanhando para conseguir comunicar com uma Balança Filizola BP 15kg.
Comunicação serial RS232.
Estou utilizando a HBCOMM. Uso a rotina que encontrei nas minhas buscas.
Até agora nada !

Quando faço:
Bytes:=InBufSize( nHandle )
If Bytes > 0
............
......
Else
MsgExclamation ('ERRO NA LEITURA DA PORTA !' )
EndIf

Bytes NUNCA É MAIOR QUE ZERO......

Porém, consigo abrir a porta.
A Balança indica que está conectada.
Mas paro nesta parte....

Se alguém puder ajudar, agradeço.......... :%

Harbour+MiniGui+BrMake
Jair, verefique se esse modelo e marca de balança, você deve enviar algum codigo ASCII para ela liberar o peso, se for o caso vc terá que usar por exemplo:
OutChr( nHandle,chr(05) )
Algumas balanças são assim, depois que vc envia algum comando para a mesma que ela retornas os byts.Outra coisa eu tenho em minhas comunicações por costume inicar a porta e já dar um Flush na mesma usando OutBufClr(nHandle). e logo após a leitura faço mais um Flash de novo.
Se prescisar de exemplo de uso completo posso postar aqui.

Re: CAPTURAR PÊSO

Enviado: 03 Jun 2008 08:43
por clebervn
Eu gostaria sim de um exemplo completo, se puder agradeço.

Obrigado !!!

Re: CAPTURAR PÊSO

Enviado: 03 Jun 2008 11:48
por JAIR RANGEL
Olá, Sygecom !

Obrigado por responder.
Sim, eu envio o ENQ (CHR(5)) para a impressora liberar o peso. Este tipo de balança necessita deste comando para liberar o peso.
E logo após abrir a porta, também, faço um Flush na porta com OutBufClr(nHandle).
Não faço após a leitura. Mas, como recomendou, vou fazer também.

Decidi atribuir um valor para a variável BYTES tal qual BYTES:=20. Pois, a função InBufSize(nHandle) não atribuia um valor para a var BYTES.
Então FUNCIONOU CORRETAMENTE.
Estou capturando o danado do peso.
Neste momento estou preparando um arquivo de configuração local para a porta serial.
Tal qual os programas da Filizola (pcscale).

Pois, tenho que comunicar com outra Balança Filizola do tipo Industrial da linha IDS.
É um outro protocolo de comunicação. Por isto, vou preparar as configurações locais para os tipos de Balança que aparecer...

Vou postar aqui a aventura em comunicar com estas Balanças.
Muito obrigado pela contribuição.
:xau

Re: CAPTURAR PÊSO

Enviado: 03 Jun 2008 13:10
por sygecom
clebervn escreveu:Eu gostaria sim de um exemplo completo, se puder agradeço.

Obrigado !!!
Claro segue abaixo um pequeno exemplo de comunicação para balança:

Código: Selecionar todos

Busca_Peso(1,1200,8,1,,,8,400,0) // balança Muller

Function Busca_Peso(PORTA,BAUD,WORDBIT,STOPBIT,vENVIA1,vENVIA2,vTotalbit,vMileseg,vDivisor)

LOCAL cIn_Msg,cPESO:="",NSIZE

comok:= INIT_PORT( "COM"+STR(PORTA,1),BAUD, WORDBIT, 3, StopBit,4000)

If ISWORKING(comok)=.T.  // Conexão com a porta serial
   OutBufClr(comok) // Limpa o Buffer de Saida
   IF !EMPTY(vENVIA1)
      OutChr( comok,vENVIA1 ) // Envia O CODIGO para a balança
   ENDIF
   IF !EMPTY(vENVIA2)
      OutChr( comok,vENVIA2 ) // Envia O CODIGO para a balança
   ENDIF
   cIn_msg:=space(vTotalbit)
   cPESO := ""
   NSIZE := ""

   Millisec(vMileseg)  // tempo obrigatorio de espera

   NSIZE:=INBUFSIZE( comok )    // Obter a contagem dos bytes que esta Aguardaabdo no buffer de entrada
   if nsize > 0
      inchr(comok,nsize,@cIn_msg)  // Buscando Peso
      cPESO   := cIn_Msg
   else
      cpeso:="0"
   endif
   OutBufClr(comok) // Limpa o Buffer de Saida
ELSE
   UNINT_PORT( comok )   // FECHA A PORTA DE COMUNICAÇÃO
   MsgStop("Problemas na Inicialização da Porta Serial, Favor Verificar a Porta COM"+str(PORTA),"Aviso do Sistema")
   cpeso:="0"
EndIf
vPeso := VAL(Subs(cPESO,AT("D",cPESO)+2,6))
cPeso :=""
UNINT_PORT( comok )
liq=vPeso/vDivisor          // resultado para o liquido
Em anexo segue um pequeno Help de como usar a Hbcomm.lib

Re: CAPTURAR PÊSO

Enviado: 04 Jun 2008 12:39
por JAIR RANGEL
Olá, Pessoal !

Ao formar um loop para leitura do Peso até que o Operador pressione a telca ENTER para encerrar a leitura, a verificação da ultima tecla pressionada, no caso, ENTER, não funciona.
Ex:
While lastkey() != 13
...
EndDo

Ou mesmo desta forma:
While .T.
...
...
Inkey(1)
If lastkey()==13 ; exit ; endif
EndDo

Também não funciona. Quando faço a exibição de lastkey() --> 00.
Ou seja, parece que o buffer do teclado não armazena a ultima tecla pressionada...
Alguem já viu isto ou tem alguma idéia do que pode ser.......

Jair Rangel
MiniGUI / Harbour