Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

modbus_send_raw_request(3) [debian man page]

MODBUS_SEND_RAW_REQU(3) 					 Libmodbus Manual					   MODBUS_SEND_RAW_REQU(3)

NAME
modbus_send_raw_request - send a raw request SYNOPSIS
int modbus_send_raw_request(modbus_t *ctx, uint8_t *raw_req, int 'raw_req_length); DESCRIPTION
The modbus_send_raw_request() function shall send a request via the socket of the context ctx. This function must be used for debugging purposes because you have to take care to make a valid request by hand. The function only adds to the message, the header or CRC of the selected backend, so raw_req must start and contain at least a slave/unit identifier and a function code. This function can be used to send request not handled by the library. RETURN VALUE
The modbus_send_raw_request() function shall return the full message length, counting the extra data relating to the backend, if successful. Otherwise it shall return -1 and set errno. EXAMPLE
modbus_t *ctx; /* Read 5 holding registers from address 1 */ uint8_t raw_req[] = { 0xFF, 0x03, 0x00, 0x01, 0x0, 0x05 }; int req_length; uint8_t rsp[MODBUS_TCP_MAX_ADU_LENGTH]; ctx = modbus_new_tcp("127.0.0.1", 1502); if (modbus_connect(ctx) == -1) { fprintf(stderr, "Connection failed: %s ", modbus_strerror(errno)); modbus_free(ctx); return -1; } req_length = modbus_send_raw_request(ctx, raw_req, 6 * sizeof(uint8_t)); modbus_receive_confirmation(ctx, rsp); modbus_close(ctx); modbus_free(ctx); SEE ALSO
modbus_receive_confirmation(3) AUTHORS
The libmodbus documentation was written by Stephane Raimbault <stephane.raimbault@gmail.com[1]> NOTES
1. stephane.raimbault@gmail.com mailto:stephane.raimbault@gmail.com libmodbus 3.0.3 05/26/2012 MODBUS_SEND_RAW_REQU(3)

Check Out this Related Man Page

MODBUS_NEW_TCP_PI(3)						 Libmodbus Manual					      MODBUS_NEW_TCP_PI(3)

NAME
modbus_new_tcp_pi - create a libmodbus context for TCP Protocol Independent SYNOPSIS
modbus_t *modbus_new_tcp_pi(const char *node, const char *service); DESCRIPTION
The modbus_new_tcp_pi() function shall allocate and initialize a modbus_t structure to communicate with a Modbus TCP IPv4 or Ipv6 server. The node argument specifies the host name or IP address of the host to connect to, eg. 192.168.0.5 , ::1 or server.com. The service argument is the service name/port number to connect to. To use the default Modbus port use the string "502". On many Unix systems, it's convenient to use a port number greater than or equal to 1024 because it's not necessary to have administrator privileges. RETURN VALUE
The modbus_new_tcp_pi() function shall return a pointer to a modbus_t structure if successful. Otherwise it shall return NULL and set errno to one of the values defined below. ERRORS
EINVAL The node string is empty or has been truncated. The service string is empty or has been truncated. EXAMPLE
modbus_t *ctx; ctx = modbus_new_tcp_pi("::1", "1502"); if (ctx == NULL) { fprintf(stderr, "Unable to allocate libmodbus context "); return -1; } if (modbus_connect(ctx) == -1) { fprintf(stderr, "Connection failed: %s ", modbus_strerror(errno)); modbus_free(ctx); return -1; } SEE ALSO
modbus_new_tcp(3) modbus_new_rtu(3) modbus_free(3) AUTHORS
The libmodbus documentation was written by Stephane Raimbault <stephane.raimbault@gmail.com[1]> NOTES
1. stephane.raimbault@gmail.com mailto:stephane.raimbault@gmail.com libmodbus 3.0.3 05/26/2012 MODBUS_NEW_TCP_PI(3)
Man Page