99
•
Appendix A - MODBUS RTU Protocol
A.13.
Exception Responses
When the master sends a query frame to an ASTAT-XT, one of the following four responses from the ASTAT-XT is
possible:
1.
When no communication error is detected in the query, and no mistake is found by the communication
program module in the ASTAT-XT, a Normal response is returned.
2.
If the ASTAT-XT does not receive the query frame (for example because of a disconnected serial link cable)
then no response is returned by the ASTAT-XT. After proper time the master will cause a timeout condition.
3.
If the ASTAT-XT receives the query, but faulty CRC bytes and / or Parity bits are detected, no response is
returned by the ASTAT-XT. After the proper time the master will cause a timeout condition.
4.
If no communication error is detected in the query, but the ASTAT-XT communication program module finds
an error such as an illegal function, data address or data value, or if the ASTAT-XT is busy, then an Exception
response is returned. The Exception response includes the Exception Code to inform the master about the type of
the error.
Exception Code Response Frame:
The Exception response frame holds fix number of 5 bytes. The first one, the Slave Address field, is the Serial link
number (transmitted in query and identical to ASTAT-XT Serial Link No.). The second byte, the Function field, returns
the echo of the transmitted query function but with the Most Significant Bit set to 1 (adding $80 to the transmitted
function code). The third byte is the Exception Code informing about the type of error. The last two bytes are the
CRC bytes.
Exception Codes supported by the ASTAT-XT:
Exception
Code Type
Comment
01
Illegal
Function
Requested Function is not supported.
Functions 1..6, 8, 15 or 16 are supported.
02
Illegal Data Address
Data address is not allowable.
03
Illegal Data Value
Data Value is not in allowable range.
06
ASTAT-XT Busy
ASTAT-XT is busy now. The master retransmits the message
later.
Example 10:
The master is trying to force coil # 17 of ASTAT-XT 32. The ASTAT-XT incorporates only 16 coils. The Illegal Data
Address Exception code will be returned:
Query:
byte 1: Serial Link No.
($20)
(32)
byte 2: Function
($05)
byte 3: Coil Address High
($00)
byte 4: Coils address Low
($11)
(17, Non existent Coil)
byte 5: Force Data High
($00)
($0000 = "0" = Low)
byte 6: Force Data Low
($00)
byte 7: CRC_Low
($XX)
byte 8: CRC_High
($XX)
Exception response:
byte 1: Serial Link No.
($20)
byte 2: Function
($85)
(Or $80)
byte 3: Exception Code
($02)
(Illegal Data Address)