bionic (3) modbus_set_error_recovery.3.gz

Provided by: libmodbus-dev_3.0.6-2+deb9u1build0.18.04.1_amd64 bug

NAME

       modbus_set_error_recovery - set the error recovery mode

SYNOPSIS

       int modbus_set_error_recovery(modbus_t *ctx, modbus_error_recovery_mode error_recovery);

DESCRIPTION

       The modbus_set_error_recovery() function shall set the error recovery mode to apply when the connection
       fails or the byte received is not expected. The argument error_recovery may be bitwise-or’ed with zero or
       more of the following constants.

       By default there is no error recovery (MODBUS_ERROR_RECOVERY_NONE) so the application is responsible for
       controlling the error values returned by libmodbus functions and for handling them if necessary.

       When MODBUS_ERROR_RECOVERY_LINK is set, the library will attempt an immediate reconnection (which may
       hang for several seconds if the network to the remote target unit is down). This mode will try a infinite
       close/connect loop until success on send call and will just try one time to retablish the connection on
       select/read calls (if the connecton was down, the values to read are certainly not available anymore
       after reconnection, except for slave/server). This mode will also run flush requests after a delay based
       on the current response timeout in some situations (eg. timeout of select call).

       When MODBUS_ERROR_RECOVERY_PROTOCOL is set, a sleep and flush sequence will be used to cleanup the
       ongoing communication, this can occurs when the message length is invalid, the TID is wrong or the
       received function code is not the expected one.

       The modes are mask values and so they are complementary.

       It’s not recommended to enable error recovery for slave/server.

RETURN VALUE

       The modbus_set_error_recovery() function shall return 0 if successful. Otherwise it shall return -1 and
       set errno to one of the values defined below.

ERRORS

       EINVAL
           The value of the argument error_recovery is not positive.

EXAMPLE

           modbus_set_error_recovery(ctx,
                                     MODBUS_ERROR_RECOVERY_LINK |
                                     MODBUS_ERROR_RECOVERY_PROTOCOL);

AUTHORS

       The libmodbus documentation was written by Stéphane Raimbault <stephane.raimbault@gmail.com[1]>

NOTES

        1. stephane.raimbault@gmail.com
           mailto:stephane.raimbault@gmail.com