Ir para conteúdo
  • Cadastre-se

dev botao

Problema com resposta impressora ou acbrMonitor


Ver Solução Respondido por Bruno Freixo,
  • Este tópico foi criado há 821 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

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

  • Fundadores
Postado
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
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.

Postado
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

  • Obrigado 1
  • Fundadores
Postado

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

  • Curtir 2
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.

Postado
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
 

Postado

@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

  • Fundadores
Postado

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
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.

Postado
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.

  • Fundadores
Postado

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
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.

  • 2 semanas depois ...
  • Solution
Postado (editado)
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

Editado por Bruno Freixo
  • Curtir 2
  • 3 anos depois...
  • Este tópico foi criado há 821 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.