Exceção do modbus master

Estou tendo os os alertas:
Exceção do modbus master: Socket operation on nonsocket: socket available
Exceção do modbus master: Socket operation on nonsocket: Stream closed.
Exceção do modbus master: Socket operation on nonsocket: Socket closed

Alguém, por favor, saberia me dizer o que são e como resolver ?

1 curtida

UP! Mesmo problema aqui. O sistema está funcionando perfeitamente, mas esses avisos nao param de chegar

Este erro pode ocorrer por diversos motivos, contudo, ele indica que uma operação de conexão não pode ser completada, pois GERALMENTE uma operação anterior ainda estava em curso, ou seja:

Nas conexões TCP/IP você faz geralmente o seguinte:

  1. Bate palmas no portão da casa do destinatário;
  2. O destinatário que já esta no portão, escutando por alguém chamar;
  3. Origem diz: Eu vou falar
  4. Destinatário da a permissão.
  5. Origem e Destino começam a trocar dados
  6. No fim, um dos lados diz: Vou encerrar,
  7. O outro lado concorda
  8. A conexão é encerrada.

O erro ocorre quando o passo 3 tenta ser executado, mas a conexão ainda esta acontecendo.

Ou programaticamente falando,
a função socket tenta fazer a conexão, mas ela falha possivelmente pq ela já foi conectada e não foi encerrada, o motivo disso pode ser geralmente que o barramento 485 ainda esteja transmitindo dados, Algum device 485 não respondeu a tempo e esta transmitindo, o barramento fica ocupado, logo não pode criar nova conexão, por isso o sufixo socket available na primeira mensagem.

a segunda mensagem diz que a transmissão de dados foi encerrada,
a terceira mensagem diz Soquete fechado.

Agora vamos as soluções mais comuns:

  1. Aumente o tempo entre as leituras do modbus.
  2. Verifique se naquela leitura todos os periféricos foram lidos, algum retardatário ainda pode estar transmitindo.
  3. Verifique a velocidade (baud rate) do lado serial do barramento 485 se todos estão na mesma velocidade.
  4. Verifique se as duas o pontas do barramento 485 possuem o resistor de terminação de 120ohms, Isso evita o (eco) repique das mensagens. O sinal chega no fim e volta refletido,

Agora, se seu device é um único device MODBUS na interface de rede, verifique cabeamento, quantidade de registros a serem lidos.

2 curtidas