modbus_rtu_set_rts man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

MODBUS_RTU_SET_RTS(3)	       Libmodbus Manual		 MODBUS_RTU_SET_RTS(3)

NAME
       modbus_rtu_set_rts - set the RTS mode in RTU

SYNOPSIS
       int modbus_rtu_set_rts(modbus_t *ctx, int mode)

DESCRIPTION
       The modbus_rtu_set_rts() function shall set the Request To Send mode to
       communicate on a RS485 serial bus. By default, the mode is set to
       MODBUS_RTU_RTS_NONE and no signal is issued before writing data on the
       wire.

       To enable the RTS mode, the values MODBUS_RTU_RTS_UP or
       MODBUS_RTU_RTS_DOWN must be used, these modes enable the RTS mode and
       set the polarity at the same time. When MODBUS_RTU_RTS_UP is used, an
       ioctl call is made with RTS flag enabled then data is written on the
       bus after a delay of 1ms, then another ioctl call is made with the RTS
       flag disabled and again a delay of 1ms occurs. The MODBUS_RTU_RTS_DOWN
       mode applies the same procedure but with an inversed RTS flag.

       This function can only be used with a context using a RTU backend.

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

ERRORS
       EINVAL
	   The libmodbus backend isn’t RTU or the mode given in argument is
	   invalid.

EXAMPLE
	   modbus_t *ctx;
	   uint16_t tab_reg[10];

	   ctx = modbus_new_rtu("/dev/ttyS0", 115200, 'N', 8, 1);
	   modbus_set_slave(ctx, 1);
	   modbus_rtu_set_serial_mode(ctx, MODBUS_RTU_RS485);
	   modbus_rtu_set_rts(ctx, MODBUS_RTU_RTS_UP);

	   if (modbus_connect(ctx) == -1) {
	       fprintf(stderr, "Connexion failed: %s\n", modbus_strerror(errno));
	       modbus_free(ctx);
	       return -1;
	   }

	   rc = modbus_read_registers(ctx, 0, 7, tab_reg);
	   if (rc == -1) {
	       fprintf(stderr, "%s\n", modbus_strerror(errno));
	       return -1;
	   }

	   modbus_close(ctx);
	   modbus_free(ctx);

SEE ALSO
       modbus_rtu_get_rts(3)

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

libmodbus 3.1.0			  10/06/2013		 MODBUS_RTU_SET_RTS(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net