Jump to content

2 Dia do ACBr

Visite Stands dos Patrocinadores
Control iD, CS Devices, Elgin, Gertec, Bematech, Jetway, PlugMobile, Epson, Custom e Sweda
Inscreva-se

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Bruno Freixo

ANSWERED Problema com resposta impressora ou acbrMonitor

Recommended Posts

Prezados. estamos tendo problema em resposta com acbr monitor e impressora fiscal (modelo testado bematech 2100). o sistema funciona normalmente nas primeira sequencia de comandos do fluxo de venda. porem depois de algumas vendas começo a ter problema em receber resposta do acbr em um comando de fluxo de venda conforme o log (atenção a vez ele para no abrir cupom). quando mandei o camando ECF.VendeItem o acbr finalizou as conexões e não respondeu e nem escreveu no log o que obteve da impressora. porem como a impressora não travou e nem o acbr consegui em seguida fazer o cancelamento do cupom em aberto. as vezes o acbr monitor chegar a ficar travado tendo que reiniciá-lo.

Fico no aguardo de ajuda.

LOG.TXT

Share this post


Link to post
Share on other sites
Citar

Conectado em: 30/04/19 10:36:42
Maquina: 127.0.0.1
Esperando por comandos.
30/04/2019 10:36:42 - ALERTA: Fim da Conexão com: 127.0.0.1 em: 30/04/19 10:36:42

Em que ponto do seu Log, está o travamento ? (não há erros aparentes)

Você conecta e desconecta o TCP, a cada comando enviado ?

O mesmo problema ocorre com TXT ?

 


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites
41 minutos atrás, Daniel Simoes disse:

Em que ponto do seu Log, está o travamento ? (não há erros aparentes)

Você conecta e desconecta o TCP, a cada comando enviado ?

O mesmo problema ocorre com TXT ?

 

daniel detalhei um pouco mais confere ai se ajudou a identificar o error, segue em anexo.
Sim desconectamos o TCP a cada comando enviado.
bem nós não usa a comunicação por arquivo txt devido não atender nossas necessidades.

ecf.png

  • Thanks 1

Share this post


Link to post
Share on other sites

Parece que você está desconectando antes de ler a resposta...

Teste a conexão com esse exemplo (muito simples), em Lazarus... Os fontes estão disponíveis para download em nosso SVN

 

ConectaACBrMonitorPLUS.zip

  • Like 2

Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites
Em 30/04/2019 at 12:52, Daniel Simoes disse:

Parece que você está desconectando antes de ler a resposta...

Teste a conexão com esse exemplo (muito simples), em Lazarus... Os fontes estão disponíveis para download em nosso SVN

 

ConectaACBrMonitorPLUS.zip 729 kB · 8 downloads

Daniel. a area destacada em vermelha não teve respota para o comanda abriu a conexão enviou comando de vendaItem e fiquei sem resposta. o meu tempo limite de espera é de 10 segundos acima disso entendo que houve problema. mais o problema é que está muito comun. vou tentar compartilhar outro cenario

 

no print abaixo ele travou quando fui efeturar o pagamento. veja que depois do comando EfetuaPagamento já tem outra conexão pois o sistema deu timeout depois de 3 minutos tentei fazer o cancelamento do cupom em aberto recebi erro componente está ocupado. depois tentei de novo e consegui cancelar o cupom em aberto.
falhacomponente.png.dc5391f3dfd08434fd3338a1e9913d08.png

 

 

Referente a ao fluxo todo comando é aberto uma conexão e fechada depois da resposta ou caso de timeout vou anexa print do codigo em c# 

codigocsharp.png.9845d8eede13311a7758abbffcbf3f2d.png
 

Share this post


Link to post
Share on other sites

@Daniel Simoes fiz uma aplicação menor com apenas abre conexão e envia os comandos.
vou deixa o link do video do processo que fiz e como simular o problema.

Depois de ver o video. https://drive.google.com/file/d/1Tko6DmBX2JzGtwgoQSG6UQ1GVdGa3tT3/view?usp=sharing

vai entender que fica ruim para nós colocar um intervalo de 1 segundo entre os comandos, pois se tiver 20 itens diferente são 20 comandos.

vou deixa em anexo codigo fonte em c# e aplicação compilada. não coloquei parametro para ip e porta do acbr ele está conectando localhost:3434

Debug.rar comandosecf.txt

Share this post


Link to post
Share on other sites

Bom dia

Qual é o timeOut configurado no Monitor para a conexão TCP?


Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

Parece ser algo do seu lado... por favor teste com a aplicação que anexei no post anterior... vários usuários do MonitorPLUS usam diariamente a comunicação por TCP, sem problemas...

Observando o seu código, ele entrará e um Loop, até que ache um ETX (#3)... e somente após isso ele desconecta, correto ?

Então se está chegando no ponto de desconexão, é porque ele recebeu a resposta...

Insira Logs na sua aplicação, para saber se está chegando no ponto de desconexão


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites
5 horas atrás, José M. S. Junior disse:

Bom dia

Qual é o timeOut configurado no Monitor para a conexão TCP?

10000 milisegundos 

 

5 horas atrás, Daniel Simoes disse:

Parece ser algo do seu lado... por favor teste com a aplicação que anexei no post anterior... vários usuários do MonitorPLUS usam diariamente a comunicação por TCP, sem problemas...

Observando o seu código, ele entrará e um Loop, até que ache um ETX (#3)... e somente após isso ele desconecta, correto ?

Então se está chegando no ponto de desconexão, é porque ele recebeu a resposta...

Insira Logs na sua aplicação, para saber se está chegando no ponto de desconexão

sim ele tem fica em loop até acha o final da resposta, mas ele tem um  limite de 10000 milisegundo de espera. caso esse tempo seja atingido ele fecha a conexão também.
obrigado daniel pela atenção.

não estou dizendo que o problema está no acbrMonitor estou tentando identificar o ponto exato. e pelo o que analisei no codigo da minha aplicação essa é a logica.

segue o fluxo.
Conectar na por 3434
faz leitura da conexão
envia comando
faz leitura - se demorar 10 segundos gerar exception. e fecha conexão

fecha conexão

referente o problema está na minha aplicação foi a primeira coisa que pensei já fiz logs no processo por isso consigo afirma que não tive resposta do acbr. alem do logs anterior fiz outra aplicação limpa só pra testar e extressar o protocolo e acbr.
cheguei a evidenciar o problema fazendo video exatamente para ficar mais claro o problema e talvez vocês puder-se ajudar a identificar onde minha logica ta errada
para está perdendo resposta, pois se tem um intervalo de descanso o problema não aconte-se só quando tem muitos comando em sequencia.



mas acredito que esse cenário é novidade também para vocês. vou tentar elaborar outra logica fazer mais teste nesse processo talvez até mudando então para arquivo txt.
obrigado pela atenção de vocês.

Share this post


Link to post
Share on other sites

Bruno....para testar a conexão TCP usamos a aplicação em anexo no Post inicial... além é claro, de aplicações como o DJPDV...

não conseguimos reproduzir o problema mencionado...


Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites
Em 03/05/2019 at 16:26, Daniel Simoes disse:

Bruno....para testar a conexão TCP usamos a aplicação em anexo no Post inicial... além é claro, de aplicações como o DJPDV...

não conseguimos reproduzir o problema mencionado...

organizei toda logica para enviar comandos o acbr de uma vez só utilizando a mesma conexão. evitando abrir e fechar conexão em cada comando.
rotina exemplo
abreconexao
abrecupom
realizavendas
realizavendas
realizavendas
realizapagamentos
fechaCupom
fechaConexão.

já tem uma semana implementada em um cliente e não tivemos reclamação de erro no cupom qualquer coisa dou retorno

Edited by Bruno Freixo
  • Like 2

Share this post


Link to post
Share on other sites

×
×
  • Create New...