modbus_reply_exception − send an exception reponse
*int modbus_reply_exception(modbus_t *ctx, const uint8_t *req, unsigned int exception_code);
The modbus_reply_exception() function shall send an exception response based on the exception_code in argument.
The libmodbus provides the following exception codes:
• MODBUS_EXCEPTION_ILLEGAL_FUNCTION (1)
• MODBUS_EXCEPTION_ILLEGAL_DATA_ADDRESS (2)
• MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE (3)
• MODBUS_EXCEPTION_SLAVE_OR_SERVER_FAILURE (4)
• MODBUS_EXCEPTION_ACKNOWLEDGE (5)
• MODBUS_EXCEPTION_SLAVE_OR_SERVER_BUSY (6)
• MODBUS_EXCEPTION_NEGATIVE_ACKNOWLEDGE (7)
• MODBUS_EXCEPTION_MEMORY_PARITY (8)
• MODBUS_EXCEPTION_NOT_DEFINED (9)
• MODBUS_EXCEPTION_GATEWAY_PATH (10)
• MODBUS_EXCEPTION_GATEWAY_TARGET (11)
The initial request req is required to build a valid response.
The modbus_reply_exception() function shall return the length of the response sent if successful. Otherwise it shall return −1 and set errno.
EINVAL
The exception code is invalid
The libmodbus documentation was written by Stéphane Raimbault <stephane.raimbault@gmail.com [1] >
1. |
stephane DOT raimbault AT gmail DOT com |
mailto:stephane DOT raimbault AT gmail DOT com