beautypg.com

Despatch Protocol Plus Modbus Communications User Manual

Page 41

background image

Chromalox Instruments and Controls

A-51643 Rev. 6 10/06/03

35

5.4 Exception Response Description

Except for broadcast messages, when a master device sends a query to a slave it expects a normal

response. One of four possible events can occur from the master query:

1. If the slave device receives the query without a communication error, and can handle the query

normally, it returns a normal response.

2. If the slave does not receive the query due to a communication error, no response is returned. The

master program will eventually process a timeout condition for the query.

3. If the slave receives the query, but detects a communication error (parity, CRC), no response is

returned. The master program will eventually process a timeout condition for the query.

4. If the slave receives the query without a communication error, but cannot handle it (for example, if

the request is to read a nonexistent output or register), the slave will return an exception response

informing the master of the nature of the error.

The master device‘s application program has the responsibility of handling exception responses. Typical

processes are to post subsequent retries of the message, to try diagnostic messages to the slave, and to

notify operators. The exception codes supported in the Protocol

TM

Plus controller are summarized in

Table 10 ProtocolTM Plus Exception Code Set.

In an exception response, the slave sets the MSB of the function code to 1. This makes the function code

value in an exception response exactly $80 higher than the value in the query. With 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.

In an exception response, the slave returns an exception code in the data field. The code defines the

condition that caused the exception.

Example of a query with an exception response:

Query

Field Name

RTU Example Data

Description

Slave Address

$06

Slave number 6

Function

$01

Read Output Status

Starting Address Hi

$00

Start reading at output 119

Starting Address Lo

$76

No. of Outputs Hi

$00

Read 8 successive outputs