Fç para ler Toledo no Caixa.

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Maurício Elias
Usuário Nível 3
Usuário Nível 3
Mensagens: 304
Registrado em: 12 Mai 2005 08:48

Fç para ler Toledo no Caixa.

Mensagem 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)
Editado pela última vez por Toledo em 21 Jul 2010 07:50, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
monicafafe
Usuário Nível 1
Usuário Nível 1
Mensagens: 6
Registrado em: 26 Out 2006 19:09

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

Mensagem 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
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem 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 :?)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
alberto_dias
Usuário Nível 2
Usuário Nível 2
Mensagens: 64
Registrado em: 10 Abr 2005 09:46
Localização: Taboão da Serra - SP
Contato:

Mensagem 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á.
Alberto Dias
Atual.: Harbour 3.2.0 dev (r1703241902) + Gtwvg E Hmg IDE 3.5
Máquina Notebook - DELL ( INTEL CORE i5 ) 8 GB
Sistema - Windows 10 64 Bits
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

Amiguinha

Poste o codigo que vc usa para eu dar uma analisada.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
José Pereira
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 07 Jul 2004 00:58

Sem sucesso balança Toledo

Mensagem 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
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem 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.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem 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.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem 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.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem 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
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

lembrando que a balança sempre retorna 0 se o peso nao estiver estabilizado.
Sem mais
Wagner Nunes
www.vagucs.com.br
José Pereira
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 07 Jul 2004 00:58

Obrigado

Mensagem 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
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem 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.
Sem mais
Wagner Nunes
www.vagucs.com.br
José Pereira
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 07 Jul 2004 00:58

pouco conhecimento comunicação serial

Mensagem 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
José Pereira
Usuário Nível 1
Usuário Nível 1
Mensagens: 10
Registrado em: 07 Jul 2004 00:58

Mensagem por José Pereira »

e.t.
se vc tiver estas funções para o clipper 5.2, me mande, por favor.
Fico imensamente agradecido.
Pereira
Responder