ProSoft Technology 5202-DFNT-MCM4 User Manual

Page 68

Advertising
background image

MCM ♦ ProLinx Gateway

Reference

Modbus Master/Slave

Driver Manual


Page 68 of 80

ProSoft Technology, Inc.

October 16, 2009

8.1.10 Modbus Exception Responses

When a Modbus Master sends a request to a Slave device, it expects a normal
response. One of four possible events can occur from the Master's query:

ƒ If the server device receives the request without a communication error, and

can handle the query normally, it returns a normal response.

ƒ If the server does not receive the request due to a communication error, no

response is returned. The Master program will eventually process a timeout
condition for the request.

ƒ If the server receives the request, but detects a communication error (parity,

LRC, CRC, ...), no response is returned. The Master program will eventually
process a timeout condition for the request.

ƒ If the server receives the request without a communication error, but cannot

handle it (for example, if the request is to read a non-existent output or
register), the server will return an exception response informing the Master of
the nature of the error.

The exception response message has two fields that differentiate it from a
normal response:

Function Code Field: In a normal response, the server echoes the function
code of the original request in the function code field of the response. All function
codes have a most-significant bit (MSB) of 0 (their values are all below 80
hexadecimal). In an exception response, the server sets the MSB of the function
code to 1. This makes the function code value in an exception response exactly
80 hexadecimal higher than the value would be for a normal response.

With the function code's MSB set, the Master's application program can
recognize the exception response and can examine the data field for the
exception code.

Data Field: In a normal response, the server may return data or statistics in the
data field (any information that was requested in the request). In an exception
response, the server returns an exception code in the data field. This defines the
server condition that caused the exception.

The following table shows an example of a Master request and server exception

response.

Request Response

Field

Name (Hex) Field

Name (Hex)

Function 01 Function 81

Starting Address Hi

04

Exception Code

02

Starting Address Lo

A1

Quantity of Outputs Hi

00

Quantity of Outputs Lo

01

In this example, the Master addresses a request to server device. The function
code (01) is for a Read Output Status operation. It requests the status of the
output at address 1245 (04A1 hex). Note that only that one output is to be read,
as specified by the number of outputs field (0001).

Advertising