Página 1 de 2

Fç para ler Toledo no Caixa.

Enviado: 24 Ago 2006 11:03
por Maurício Elias
Bom dia pessoal.

Segue uma rotina para ler peso na balança Toledo no Caixa:
Quem me ensinou foi o Dércio.

Precisa linkar uma das Libs:
CTP52.LIB (no meu caso)
CT.LIB
CTP.LIB + CTUSP.OBJ

Código: Selecionar todos

*----------------------
Function Busca_Peso (nCom)
*----------------------
Local nBuffer := 2400, nPar   := "N", nDados := 8, nStop := 1
Local nIOn := "", nIRQ := "", Inicia := "", nCont := 0, cInput := ""
Local nPeso := "", nTenta := 1

*** Inicializacao da porta ***

if nCom = 1          &&  Buscar em: Gerenciador de Disp - Porta COM(x) - Recursos
  nIO  := "03F8"     &&  -> Intervalo de ES
  nIRQ := 04         &&  -> Pedido de Interrup
elseif nCom = 2
  nIO  := "02F8"
  nIRQ := 03
elseif nCom = 3
  nIO  := "02F8"     ???
  nIRQ := 03         ???
elseif nCom = 4
  nIO  := "02F8"     ???
  nIRQ := 03         ???
endif

do while nTenta <= 3
  Com_Close(nCom)
  Com_SetIO(nCom,nIO)
  Com_SetIRQ(nCom,nIRQ)
  Com_Open(nCom,1000)
  nInicia:=Com_Init(nCom,nBuffer,nPar,nDados,nStop)

  nCont=0
  do while nCont < 7          // * aguarda 7 bytes na porta
     inkey()
     if l()
       Return 0
     endif
     Com_Send(nCom,5)         // * Envia ENQ
     nCont = Com_Count(nCOM)
  enddo

  cInput := Com_Read(nCom)    //* lê a porta
  nPeso = Subst(cInput,2,5)
  nPeso = round( val(nPeso)/1000 ,3)
  if nPeso > 0
    exit
  endif
    
  nTenta++
enddo

Return (nPeso)

Pegar informações data e hora balança Toledo

Enviado: 06 Nov 2006 10:23
por monicafafe
Essa função serve para balança rodoviária também, Modelo 8530 Cougar?
Alguém sabe me dizer como posso pegar informações de data e hora também?

Obrigada

Mônica

Enviado: 06 Nov 2006 15:18
por rochinha
Amiguinha

A balança deve estar conectada a um terminal, um pc, certo?

Porque voce não usa a data e hora do proprio pc até que consiga verificar as informações da balança.

As vezes um quebra gualho se torna solução definitiva.

@braços :?)

Enviado: 06 Nov 2006 15:27
por alberto_dias
Mauricio, Boa Tarde
Eu utilizo o clipper 5.3, ja peguei este exemplo e nao consegui fazer funcionar, não tenho o tools, peguei as libs ct53.lib e ctp53.lib, mas não consegui fazer funcionar.
Estou com um problema, alias um problemão, estou quase perdendo um cliente por este motivo, por não conseguir ler a balanca toledo PRIX III no caixa.
Peguei um exemplo em C e este exemplo gera um arquivo Peso.txt com a resposta da balança.
Mas este programa funciona bem por 1/2 hora ou as vezes 1 hora depois
,não sei porque motivo ele não se consegue mais receber a resposta da porta com1 ou com2, só reiniciando a máquina, ai ela funciona só mais 1/2 hora, já pensou em um mercado lotado ter que reiniciar a máquina.
Preciso de um programa que leia a balança, pode ser um programa externo e devolva por exemplo um arquivo peso.txt com a resposta da balança.
O cliente me deu até o final da semana para resolver este problema.
Voce poderia me ajudar ou orientar.
Agradeço desde já.

Enviado: 13 Nov 2006 13:41
por rochinha
Amiguinha

Poste o codigo que vc usa para eu dar uma analisada.

Sem sucesso balança Toledo

Enviado: 13 Nov 2006 15:03
por José Pereira
Também estou com o mesmo problema.
Tentei a mesma função mas sem sucesso.
Vcs já têm algo melhor?
Pereira
jpereira@meg.org.br

Enviado: 13 Nov 2006 15:41
por rochinha
Amiguinho

Entrei no site www.TOLEDO.com.br e vou dizer nunca vi área de suporte mais fraca que a deles ou estou cego demais, pois não consegui encontrar manuais de seus produtos e muito menos algo sobre softwares de integração.

Portanto se tiver manuais por ai ou exemplos mesmo em VB me manda para eu analisar.

Enviado: 13 Nov 2006 16:49
por vagucs
a toledo é fraca mesma rochinha na qeustão suporte, para fazer leitura de uma balança deles 9490 (acho que é isto) tive quase que brigar com o suporte para me mandarem a documentação correta.

Estas balanças vc pode configurar para ela sempre enviar o peso para o computador ou para vc mandar um CHR(5) e ela retorna na porta o peso.

Acho que isto é padrão para todas as balanças toledo, é demasiadamente simples seus usos e aplicações, mais a noite vou ver se posto a rotina que tenho aqui.

Enviado: 13 Nov 2006 17:08
por rochinha
Amiguinho

Valeu,

Eu nunca tive que implementar uma balança antes e se fosse implementar procuraria Bematech, mas o caso não é este e portanto acho que chegaremos num final feliz.

Enviado: 13 Nov 2006 22:12
por vagucs
A biblioteca serial que usei eu mesmo que fiz, esta rotina esta rodando em xHarbour para Linux perfeitamente, é fácil migrar ela para qualquer lib serial, é uma fgorma padrão para as balanças toledo, a balança tem que estar configurada para so enviar o peso caso vc faça uma requisição via CHR(5)

Código: Selecionar todos

procedure peso
local comando,tentra,bytes,lidos,buf,temp
comando=chr(5)
comwrite(hdlbalanca,comando,len(comando),1)
tentra=time()
bytes=""
do while val(right(elaptime(tentra,time()),2))<=6
   secondssleep(5)
   if com_buffersize(hdlbalanca)<=0
      loop
   end if
   buf=space(com_buffersize(hdlbalanca))
   lidos=comread(hdlbalanca,@buf,len(buf),1)
   if lidos>0
      bytes+=buf
   end if
   if chr(3)$bytes
      temp=substr(bytes,2,len(bytes)-2)
      temp=left(temp,2)+"."+right(temp,3)
      if isnum(temp)
         return val(temp)
      else
         return 0
      end if
      bytes=""
   end if
enddo
return 0

Enviado: 13 Nov 2006 22:13
por vagucs
lembrando que a balança sempre retorna 0 se o peso nao estiver estabilizado.

Obrigado

Enviado: 14 Nov 2006 11:09
por José Pereira
Olá pessoal
Obrigado pela ajuda. Vou tentar implementar esta rotina, tentando em clipper, pois aqueles comandos eu ainda nao conheco, pois são do xHarbour.
Pereira
jpereira@meg.org.br

Enviado: 14 Nov 2006 11:17
por vagucs
como assim comandos do xharbour?

O xHarbour é exatamente igual ao clipper, as unicas coisas que usei as rotinas para ler o buffer da porta, gravar na porta e ler dela, são rotinas que se tivesse criado para clipper o fonte ficaria do mesmo jeito.

O xHarbour não é mistico, nao usei nada de extraordinario nele a rotina funciona da mesma forma que o clipper.

pouco conhecimento comunicação serial

Enviado: 14 Nov 2006 11:30
por José Pereira
Obrigado amigo, mas eu nao tenho as funções que vc usou nesta rotina. Uso o Clipper 5.2 e pretendo ler a comunicação serial com a IOLIB, mas não sei como será o procedimento. Pra complicar, só vou poder fazer isto no ambiente do cliente, pois a balança é imensa. Fica distante de mim cerca de 1 hora de distância. Devo ir lá hj de tarde ou amanhã de manhã.
Grato Pela sua ajuda.
Pereira
jpereira@meg.org.br

Enviado: 14 Nov 2006 11:31
por José Pereira
e.t.
se vc tiver estas funções para o clipper 5.2, me mande, por favor.
Fico imensamente agradecido.
Pereira