ROTINA - Como pegar dados da balança FILIZOLA por FRAZATO.
Enviado: 10 Fev 2005 14:39
Amiguinhos
Post aqui uma solução enviada por João Frazato para trabalho com as balanças Filizola na integra.
"Blz...
Gostaria que você coloque essa rotina para o pessoal que frequenta o fórum do PcToledo, pois eu perdi a minha senha e não estou conseguindo contatar o toledo.
Esta rotina faz a comunicação entre o programa e balanças filizola da linha BP, e de fácil implementação em qualquer sistema.
Requer a biblioteca CTP.LIB
Obrigado,
Maiores dados favor entrar em contato.
Frazato"
Rotina
@braços :?)
Post aqui uma solução enviada por João Frazato para trabalho com as balanças Filizola na integra.
"Blz...
Gostaria que você coloque essa rotina para o pessoal que frequenta o fórum do PcToledo, pois eu perdi a minha senha e não estou conseguindo contatar o toledo.
Esta rotina faz a comunicação entre o programa e balanças filizola da linha BP, e de fácil implementação em qualquer sistema.
Requer a biblioteca CTP.LIB
Obrigado,
Maiores dados favor entrar em contato.
Frazato"
Rotina
Código: Selecionar todos
Clear
Do While .T.
mValor := 0
mPeso := 0
Clear
@ 01,01 say Padc("Leitura de peso na Balanca Filizola Linha BP ",80) Color("GR+/B")
Set Key -1 to Ler_Peso()
@ 12,10 say "Informe o Peso ou F2 para Ler Balanca : " Get mPeso Pict "@EZ 9999.999";
When (Ler_Peso()==.T.);
Valid(Ler_Peso(),mPeso > 0)
@ 13,10 say "Pre‡o Produto :" Get mValor Pict "@EZ 9999.99"
Read
If LastKey()==27
Exit
Endif
Inkey(0)
Enddo
//------------------------------------------------------------------------
Function Ler_Peso()
Local nPorta := 1
Local cTrans := "N"
Local nBits := 8
Local nParad := 1
Local nVeloc := 2400
Local cInicia:= Chr(05) // Padrao utilizado pela linha BP(Filizola)
Local Erro := .F.
Local VlrPeso:= 0
Local nRetorn:= .T.
If mPeso > 0
Return .T.
Endif
@ 24,00 say padc("Balan‡a :"+Str(nPorta,2),80)
If Com_Open(nPorta,1000,1000) == .F.
Erro := .T.
Else
nConf := Com_Init(nPorta,nVeloc,cTrans,nBits,nParad)
Com_Send(nPorta,cInicia)
Inkey(0.10)
Com_Count(nPorta)
Inkey(0.10)
nLeitura := Com_read(nPorta,10)
If Substr(nLeitura,1,1)== Chr(02) .And. Right(AllTrim(nLeitura),1)==Chr(03)
VlrPeso := Val(Substr(nLeitura,2,5))/1000
Endif
Com_Close(nPorta)
Endif
@ 24,00 say padc("",80)
If Erro == .F.
mPeso := VlrPeso
Endif
Return (.T.)