Problemas Comuns no Driver Modbus: Códigos de Exceção do Protocolo

Descrição:

Um problema comum enfrentado pelo driver Modbus é o seguinte: a comunicação ocorre, mas o tag apresenta uma mensagem de erro. De acordo com log do driver, é possível identificar uma mensagem de erro padrão. Como interpretar essa mensagem? Quais são os códigos de exceção do protocolo do driver Modbus?

 

Solução:

A princípio, o protocolo Modbus prevê alguns códigos de exceção; estes códigos são retornados por um equipamento sempre que uma solicitação é recebida mas não pode ser executada, por algum motivo. Quando recebidos, os códigos de exceção são registrados no log de comunicação do driver, e então precedidos pela mensagem “MODBUS exception response”.

A tabela a seguir lista os códigos de exceção, bem como com seus significados. Os códigos que não estão listados abaixo são erros específicos de cada equipamento; portanto, estes devem ser consultados em sua respectiva documentação.

 

Tabela:

Código
(Hexadecimal)
Nome Significado
01 ILLEGAL FUNCTION O código de função recebido não é válido. Isto pode indicar que a função não está implementada, ou então que o Escravo se encontra em um estado inadequado para processá-la.
02 ILLEGAL DATA ADDRESS O endereço de dados recebido não é um endereço válido. Em suma, a combinação do endereço de referência e da quantidade de dados a serem transferidos é inválida.
03 ILLEGAL DATA VALUE O valor presente na requisição do Mestre não é válido. Isto é, há uma falha na estrutura de dados remanescente de uma requisição complexa, como quando o tamanho informado para o bloco de dados não está correto. Esta exceção não indica que os valores submetidos para escrita estejam fora do escopo esperado pela aplicação, uma vez que tal informação não é acessível ao protocolo.
04 SLAVE DEVICE FAILURE Em síntese, este código indica que correu um erro irrecuperável durante o processamento da função solicitada.
05 ACKNOWLEDGE Usado com comandos de programação. O Escravo aceitou a mensagem e a está processando, mas este processamento demanda um longo tempo. Então, esta exceção ocorre para um timeout no Mestre. Portanto, o fim da requisição deve ser testado por um processo de polling.
06 SLAVE DEVICE BUSY Usado com comandos de programação. Indica que o Escravo está processando um outro comando de longa duração e que portanto a solicitação deve ser retransmitida mais tarde, quando o Escravo estiver novamente disponível.
08 MEMORY PARITY ERROR Usado em conjunto com as funções 20 e 21, reference type 6, este código indica portanto que a área estendida de arquivos falhou em um teste de consistência. É provável que o equipamento Escravo esteja precisando de manutenção.
0A GATEWAY PATH UNAVAILABLE Usado em conjunto com gateways. Em suma, este código indica que o gateway não foi capaz de alocar um caminho interno para o processamento da solicitação. É provável que o gateway esteja desconfigurado ou sobrecarregado.
0B GATEWAY TARGET DEVICE FAILED TO RESPOND Usado em conjunto com gateways. Em suma, este código indica que nenhuma resposta foi recebida do equipamento de destino. É provável que o equipamento não esteja presente na rede.

Artigos Relacionados:


Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *