Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2410 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa Tarde,

Pessoal, estou fazendo a implementação no meu sistema usando uma balança com protocolo TCP. Eu consigo fazer a comunicação tudo certinho, porém utilizando os exemplos do Acbr, o retorno é sempre 0. Verificando os fontes (baixei a utlima versão do trunk) percebi que o retorno da balança não atende as clausulas para a função InterpretarProtocoloEth o retorno da balança é bem diferente do previsto na clausula. O protocolo de comunicação da balança é o P03 que segundo o manual do fabricante tem esse formato.

16.4 Protocolo P03


Canal de Comunicação: Rede Ethernet ou Wlan (WiFi).
A interface de comunicação rede dispõe de um socket do tipo Server,
que pode ser acessado por qualquer programa do tipo Client capaz de
abrir uma conexão TCP/IP. O protocolo disponibilizado neste socket é
para envio de dados contínuo.


16.4.1 Formato do protocolo
STX SWA SWB SWC IIIIII TTTTTT CR (CS)
STX - Start of Text = 02
CR - Carriage Return = 0DH
CS - Byte de Checksum
I - Peso indicado no Display (Líquido ou Bruto)
T - Tara
SWA - STATUS WORD “A”
BIT 2, 1 e 0 ----> 001 = DISPLAY x 10
010 = DISPLAY x 1
011 = DISPLAY x 0.1
100 = DISPLAY x 0.01
101 = DISPLAY x 0.001
110 = DISPLAY x 0.0001
BIT 4 e 3 -------> 01 = TAMANHO DO INCREMENTO I 1
10 = TAMANHO DO INCREMENTO I 2
11 = TAMANHO DO INCREMENTO I 5
BIT 6 e 5 -------> 01 = SEMPRE
BIT 7 -----------> = PARIDADE
SWB - STATUS WORD “B”
BIT 0 -----------> PESO LÍQUIDO = 1
BIT 1 -----------> PESO NEGATIVO = 1
BIT 2 -----------> SOBRECARGA = 1
BIT 3 -----------> MOTION = 1
BIT 4 -----------> SEMPRE = 1
BIT 5 -----------> SEMPRE = 1
BIT 6 -----------> SE AUTO ZERADO = 1
BIT 7 -----------> PARIDADE
SWC - STATUS WORD “C”
BIT 0 -----------> SEMPRE = 0
BIT 1 -----------> SEMPRE = 0
BIT 2 -----------> SEMPRE = 0
BIT 3 -----------> TECLA IMPRIMIR = 1
BIT 4 -----------> EXPANDIDO = 1
BIT 5 -----------> SEMPRE = 1
BIT 6 -----------> SEMPRE = 1
BIT 7 -----------> PARIDADE

Esse é o retorno do log.

--------------------------------------------------------------------------------
ATIVAR - 10/07/17 14:11:44:461 - Modelo: Toledo - Porta: tcp:192.168.0.25:9000         Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE= MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0
--------------------------------------------------------------------------------

 - 14:11:46:805 TX -> [ENQ]
 - 14:11:47:024 RX <- [STX]4p`000098000000[CR][FS][STX]4p`000098000000[CR][FS][STX]4p`000098000000[CR][FS]
              UltimoPesoLido: 0 - Resposta: [STX]4p`000098000000[CR][FS][STX]4p`000098000000[CR][FS][STX]4p`000098000000[CR][FS] - Protocolo: Protocolo C

Alguma dica do que possa estar acontecendo.

Desde já muito obrigado.

Postado

Já testei com outro protocolo disponível P03C, e também não funcionou. Utilizando o modelo 2180 disponível no componente ele conseguiu fazer a leitura, porém o peso está incorreto, exemplo no display 0,90, no software 9,000. Os testes realizados com esse formato novo "eth", foi com qual balança? Era uma tcp ?

wPosIni := PosLast(STX, aResposta);

if (Copy(aResposta, wPosIni + 1, 2) = '02') and
   (Copy(aResposta, wPosIni + 60, 1) = ETX) then
  
  wResposta := InterpretarProtocoloEth(aResposta)

Nessa verificação " if (Copy(aResposta, wPosIni + 1, 2) = '02') and (Copy(aResposta, wPosIni + 60, 1) = ETX) then" que não satisfaz, fiz um teste comentando e forçando ele chamar o InterpretarProtocoloEth, e o resultado fica igual ao da unit toledo2180, ele consegue ler mais o peso vem incorreto.

  • Fundadores
Postado
2 horas atrás, fabio.evolution disse:

Os testes realizados com esse formato novo "eth", foi com qual balança? Era uma tcp ?

Não sei... não fui o autor dessas modificações...

Fique a vontade para propor melhorias nos fontes... por favor tenha o cuidado de não quebrar aplicações que já possam estar usando essa implementação

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 9 meses depois ...
  • Este tópico foi criado há 2410 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.