1MODBUS_NEW_RTU(3)              libmodbus Manual              MODBUS_NEW_RTU(3)
2
3
4

NAME

6       modbus_new_rtu - create a libmodbus context for RTU
7

SYNOPSIS

9       modbus_t *modbus_new_rtu(const char *device, int baud, char parity, int
10       data_bit, int stop_bit);
11

DESCRIPTION

13       The modbus_new_rtu() function shall allocate and initialize a modbus_t
14       structure to communicate in RTU mode on a serial line.
15
16       The device argument specifies the name of the serial port handled by
17       the OS, eg. "/dev/ttyS0" or "/dev/ttyUSB0". On Windows, it’s necessary
18       to prepend COM name with "\\.\" for COM number greater than 9, eg.
19       "\\\\.\\COM10". See
20       http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx for
21       details
22
23       The baud argument specifies the baud rate of the communication, eg.
24       9600, 19200, 57600, 115200, etc.
25
26       The parity argument can have one of the following values
27
28N for none
29
30E for even
31
32O for odd
33
34       The data_bits argument specifies the number of bits of data, the
35       allowed values are 5, 6, 7 and 8.
36
37       The stop_bits argument specifies the bits of stop, the allowed values
38       are 1 and 2.
39
40       Once the modbus_t structure is initialized, you must set the slave of
41       your device with modbus_set_slave(3) and connect to the serial bus with
42       modbus_connect(3).
43

RETURN VALUE

45       The function shall return a pointer to a modbus_t structure if
46       successful. Otherwise it shall return NULL and set errno to one of the
47       values defined below.
48

ERRORS

50       EINVAL
51           An invalid argument was given.
52
53       ENOMEM
54           Out of memory. Possibly, the application hits its memory limit
55           and/or whole system is running out of memory.
56

EXAMPLE

58           modbus_t *ctx;
59
60           ctx = modbus_new_rtu("/dev/ttyUSB0", 115200, 'N', 8, 1);
61           if (ctx == NULL) {
62               fprintf(stderr, "Unable to create the libmodbus context\n");
63               return -1;
64           }
65
66           modbus_set_slave(ctx, YOUR_DEVICE_ID);
67
68           if (modbus_connect(ctx) == -1) {
69               fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno));
70               modbus_free(ctx);
71               return -1;
72           }
73

SEE ALSO

75       modbus_new_tcp(3) modbus_free(3)
76

AUTHORS

78       The libmodbus documentation was written by Stéphane Raimbault
79       <stephane.raimbault@gmail.com>
80
81
82
83libmodbus v3.1.6                  01/19/2023                 MODBUS_NEW_RTU(3)
Impressum