Códigos de exceção Modbus TCP/IP e Modbus-SL
Respostas de exceção
As respostas de exceção emitidas pelo cliente ou por um servidor podem ser o resultado de erros de processamento de dados. Pode ocorrer um dos seguintes eventos após um pedido do cliente:
-
Se o servidor receber o pedido do cliente sem um erro de comunicação e gerir o pedido corretamente, envia uma resposta normal.
-
Se o servidor não receber o pedido do cliente devido a um erro de comunicação, não reenvia uma resposta. O programa cliente termina, aplicando uma situação de atraso de tempo ao pedido.
-
Se o servidor receber o pedido do cliente, mas detetar um erro de comunicação, não reenvia uma resposta. O programa cliente termina, aplicando uma situação de atraso de tempo ao pedido.
-
Se o servidor receber o pedido do cliente sem um erro de comunicação, mas não puder efetuá-lo (por exemplo, o pedido consiste na leitura de um registo que não existe), o servidor envia uma resposta de exceção para informar o cliente da natureza do erro.
Estrutura de exceção
O servidor envia uma estrutura de exceção para o cliente para indicar uma resposta de exceção. Uma resposta de exceção tem quatro campos:
Campo |
Definição |
Tamanho |
---|---|---|
1 |
Número do servidor |
1 byte |
2 |
Código de função da exceção |
1 byte |
3 |
Código de exceção |
n bytes |
4 |
Verificação |
2 bytes |
Gerir exceções do Modbus
A estrutura da resposta de exceção é composta por dois campos que a distinguem de uma estrutura de resposta normal:
-
O código da função de exceção é igual ao do código de função de pedido original mais 128 (0x80).
-
O código de exceção depende do erro de comunicação detetado pelo servidor.
A tabela seguinte descreve os códigos de exceção geridos pelos dispositivos sem fios do EcoStruxure Panel Server:
Código de exceção |
Nome |
Descrição |
---|---|---|
01 |
Função ilegal |
O código de função recebido no pedido não é uma ação permitida para o servidor. É possível que o servidor esteja num estado inadequado para processar um pedido específico. |
02 |
Endereço de dados ilegal |
O endereço de dados recebido pelo servidor não é um endereço permitido para o servidor. |
03 |
Valor de dados ilegal |
O valor do campo de dados do pedido não é um valor permitido para o servidor. |
04 |
Falha do dispositivo de servidor |
O servidor não consegue executar uma ação necessária devido a um erro irrecuperável. |
06 |
Dispositivo de servidor ocupado |
O servidor está ocupado a processar outro comando. O cliente deve enviar o pedido quando o servidor estiver disponível. |
Acesso a variáveis
Uma variável Modbus pode ter os seguintes atributos:
-
Apenas de leitura
-
Leitura/escrita
-
Apenas de escrita