API – ModbusTCPResiliente
Esta seção documenta a API pública da biblioteca pyModbusTCPtools, com foco na classe ModbusTCPResiliente.
O objetivo é descrever de forma clara e objetiva o comportamento, os parâmetros e os retornos de cada método público, sem expor detalhes internos de implementação.
Classe ModbusTCPResiliente
A classe ModbusTCPResiliente representa um cliente Modbus TCP resiliente, projetado para uso industrial contínuo.
Principais características:
- Reconexão automática
- Backoff exponencial
- Cache de endereços inválidos
- Leitura e escrita tipada
- Tratamento explícito de erros
- Logging estruturado
Criação do cliente
Construtor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Parâmetros
-
host
Endereço IP ou hostname do dispositivo Modbus TCP.
-
port
Porta TCP utilizada pelo servidor Modbus. Valor padrão:
502. -
unit_id
Identificador lógico do dispositivo Modbus.
-
timeout
Tempo máximo de espera por resposta (em segundos).
-
retry_delay
Tempo inicial de espera entre tentativas de reconexão.
-
max_retry_delay
Tempo máximo de espera entre tentativas de reconexão.
-
ping_addr
Endereço utilizado para verificar conectividade ativa.
-
ping_count
Quantidade de registradores utilizados no teste de conexão.
-
log_file
Caminho do arquivo de log. Pode ser
Nonepara desabilitar. -
console
Se
True, imprime logs também no console. -
logger
Logger externo opcional. Se informado, substitui o logger interno.
-
invalid_cache_ttl
Tempo de vida (em segundos) do cache de endereços inválidos.
-
invalid_cache_max
Número máximo de entradas no cache de endereços inválidos.
Gerenciamento de conexão
is_connected
Verifica se a conexão Modbus TCP está ativa por meio de uma leitura real no dispositivo.
1 | |
- Retorna
Truese a comunicação estiver funcional - Retorna
Falseem caso de falha - Pode disparar reconexão automática
close
Encerra explicitamente a conexão Modbus TCP.
1 | |
Leitura de bits
read_coils_safe
1 | |
- Retorna lista de booleanos em caso de sucesso
- Retorna
Noneem caso de falha
read_discrete_inputs_safe
1 | |
Escrita de bits
write_single_coil_safe
1 | |
write_multiple_coils_safe
1 | |
Leitura de registradores (bruto)
read_holding_registers_safe
1 | |
read_input_registers_safe
1 | |
Escrita de registradores (bruto)
write_single_register_safe
1 | |
write_multiple_registers_safe
1 | |
Leitura tipada de registradores
read_holding_typed_safe
1 2 3 4 5 | |
read_input_typed_safe
1 2 3 4 5 | |
Escrita tipada de registradores
write_holding_typed_safe
1 2 3 4 5 6 | |
Exceções
- ModbusConnectionError
- ModbusProtocolError
- ModbusReadError
- ModbusWriteError
- ModbusConversionError
Considerações finais
A classe ModbusTCPResiliente foi projetada para uso industrial contínuo, oferecendo previsibilidade, robustez e clareza de API.