GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MODBUS_NEW_RTU(3) libmodbus Manual MODBUS_NEW_RTU(3)

modbus_new_rtu - create a libmodbus context for RTU

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

The modbus_new_rtu() function shall allocate and initialize a modbus_t structure to communicate in RTU mode on a serial line.

The device argument specifies the name of the serial port handled by the OS, eg. "/dev/ttyS0" or "/dev/ttyUSB0". On Windows, it’s necessary to prepend COM name with "\\.\" for COM number greater than 9, eg. "\\\\.\\COM10". See http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx for details

The baud argument specifies the baud rate of the communication, eg. 9600, 19200, 57600, 115200, etc.

The parity argument can have one of the following values

N for none

E for even

O for odd

The data_bits argument specifies the number of bits of data, the allowed values are 5, 6, 7 and 8.

The stop_bits argument specifies the bits of stop, the allowed values are 1 and 2.

Once the modbus_t structure is initialized, you must set the slave of your device with modbus_set_slave(3) and connect to the serial bus with modbus_connect(3).

The 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.

EINVAL
An invalid argument was given.

ENOMEM

Out of memory. Possibly, the application hits its memory limit and/or whole system is running out of memory.

modbus_t *ctx;
ctx = modbus_new_rtu("/dev/ttyUSB0", 115200, 'N', 8, 1);
if (ctx == NULL) {
    fprintf(stderr, "Unable to create the libmodbus context\n");
    return -1;
}
modbus_set_slave(ctx, YOUR_DEVICE_ID);
if (modbus_connect(ctx) == -1) {
    fprintf(stderr, "Connection failed: %s\n", modbus_strerror(errno));
    modbus_free(ctx);
    return -1;
}

modbus_new_tcp(3) modbus_free(3)

The libmodbus documentation was written by Stéphane Raimbault <stephane.raimbault@gmail.com>
04/09/2022 libmodbus v3.1.6

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.