Porta ocupada (gnu.io.PortInUseException: Unknown Owner)

Saudações.
Estou com um problema aqui, que, talvez, alguém já tenha passado.
Estou com uma placa esp32 fazendo leituras de diversos sensores, ok. Conectei um inversor weg. Isso tudo modbus RTU. Inicialmente, quando ambos estão na rede começam os problemas de comunicação. Quando isolados funcionavam bem. Recentemente o inversor passou a apresentar falha na comunicação no ScadaBR. O Scada retorna “Houve um problema iniciando a pesquisa. Pode haver um data source já habilitado usando a porta selecionada. (gnu.io.PortInUseException: Unknown Owner)”. Ou seja, ele não é mais encontrado pelo scada, e neste ponto a placa também passa a não ser mais reconhecida.
Usando o QModBus, ambos, a placa e o inversor são lidos sem problemas.
Este problema está nos roubando a tranquilidade. Se alguém souber de uma possível solução, eu agradeço imensamente.

Via de regra, ao usar Modbus Serial no ScadaBR você deve seguir o princípio “uma porta serial, um data source”. O sistema de data sources é estruturado para que todos os escravos de uma rede Modbus Serial sejam cadastrados em um único data source.

Portanto, se você está tentando usar 2 data sources em “paralelo” se comunicando pela mesma porta serial, tente passar toda a configuração para um único data source, criando os data points para cada dispositivo da rede e alterando o parâmetro Id do escravo para diferenciar qual dos dispositivos será lido.

Outra alternativa é usar um gateway para converter Modbus Serial para TCP, como o Mobdus Mechanic.

1 curtida

Olá Celso.
Muitíssimo obrigado pelo retorno.
Na verdade estou usando exatamente esta estrutura. Uma porta serial para um Data Source. Neste Data Source tenho a esp32 com ID 10 e o Inversor com ID 1. Parece-me que está havendo algum tipo de interferência quando ambos estão na rede, porque isoladamente eles parecem funcionar bem.