Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MODBUS_NEW_RTU(3)	       libmodbus Manual		     MODBUS_NEW_RTU(3)

NAME
       modbus_new_rtu -	create a libmodbus context for RTU

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

DESCRIPTION
       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

	   o	N for none

	   o	E for even

	   o	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).

RETURN VALUE
       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.

ERRORS
       EINVAL
	   An invalid argument was given.

EXAMPLE
	   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;
	   }

SEE ALSO
       modbus_new_tcp(3) modbus_free(3)

AUTHORS
       The libmodbus documentation was written by StA(C)phane Raimbault
       <stephane.raimbault@gmail.com>

libmodbus v3.1.4		  04/29/2017		     MODBUS_NEW_RTU(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=modbus_new_rtu&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help