Olá colegas!
Preciso de ajuda.
Não estou conseguindo ler o peso de uma balança nova que o cliente comprou.
Toledo prix 2098 TI 200.
Tudo correto nas configurações da balança e da porta conforme configurado abaixo.
Código bem simples e sempre funcionou
Agradeço a quem possa ajudar.
*----------------------------------------------------------------
function RECEBEPESO
*----------------------------------------------------------------
local XPorta := TESTA_VAR('W_BALANCA_PORTA','PORTA SERIAL DA BALANCA' ,'1','N') // 1=com1; 2=com2; 3=com3
local XBaudrate := TESTA_VAR('W_BALANCA_BOUND','BAUND DA BALANCA' ,'2','N') // 0=2400 1=4800 2=9600
local XDatabits := TESTA_VAR('W_BALANCA_DATABIT','DATA BIT DA BALANCA' ,'1','N') // 0=7; 1=8
local XParidade := TESTA_VAR('W_BALANCA_PARID ','PARIDADE DA BALANCA' ,'0','N') // 0=nenhum 1=impar 2=par 3=espaço
local nPeso
private peso:=space(5)
xDllBal := LoadLibrary(W_CAMINHO_SYS+"DLL32\P05.DLL" )
nret:=AbrePorta( xporta, XBaudrate,XDatabits,XParidade )
IF VALTYPE(NRET)="N"
if nret>=1
PegaPeso( 0, @Peso, "" )
end
END
npeso:=val(transform( peso, "@R 99.999" ))
FechaPorta()
RETURN(npeso)
DLL32 function AbrePorta( Porta AS LONG, BaudRate AS LONG, DataBits AS LONG, Paridade AS LONG, stopbit AS LONG ) AS LONG PASCAL lib xDllBal
DLL32 function PegaPeso( OpcaoEscrita AS LONG, Peso AS STRING, Diretorio AS STRING ) AS LONG PASCAL lib xDllBal
DLL32 function FechaPorta() AS LONG PASCAL lib xDllBal
*-FIM-------------------------------------------------------