RTU Slave (Pro Version)



The RTU Slave component requires a serial interface of some sort which is usually connected via a USB port (USB to serial converter).
Products like this converter:
USB-RS485
are available for purchase online through various sellers and are generally reasonably priced.
This application will work with any product as long as a suitable driver has been installed. The author has had good succes with serial converters based on the FTDI chipset which has a good serial driver for OS X.

!! Warning !!

The author has found that manufacturer supplied OS X drivers for some of the cheaper converters based on the Prolific chipset do not work! However, some third party drivers have be found to work.

Modbus serial (RTU) implementation details

Details about the serial line implementation of Modbus can be found in this document or from the Modbus website

RTU Slave address

The RTU slave responds to all requestes it receives. It can therefore be takes as a slave with multiple addresses [1.247].
A future version of this Application will implement a user configurable slave address.

Selecting RTU Slave port

The top popup selector in the RTU tab lists all available serial ports on your computer. If your port is not listed in there then OS X does not recognise it as a serial port.
RTU Disconnected
Once a port has been selected the Connect button will attach the Modbus slave to the selected port.
A red indicator signifies Offline (Disconnected), a green indicator signifies the server is listening on the port number shown below the indicator.
TCP started
After the Modbus slave has connected to the selected serial port the "Connect" button turns into a "Disconnect" button.

Changing the RTU communication parameters

The bottom section of the RTU tab allows the user to change communication parameters such as baudrate, data bits, stop bits and parity.
Changing any of these parameters while connected will cause the Modbus slave to disconnect briefly before re-connecting with the new settings.

Notes on Modbus RTU

The implementation of the RTU protocol on top of an OS (such as OS X) is limited by the performance of the underlying hardware and software. In particular the RTU protocol relies on inter character and inter message delay times to detect the start/end/break of a Modbus message. The delay times are specied in multiples of character time (1.5 and 3.5) and therefore depend on the baudrate. Even at a slow setting of 9600baud the inter message delay time is only 3ms. The perfomance of USB driver and OS interface results in data frames being passed on to the Application every 15ms which prevents detection of inter message delays.
In practice, it makes very little difference when this Application is the only slave on the network.
In a Modbus RTU network, where this Application is one of many slaves, it is impossible for this slave to correctly detect the start or end of a message.

It is therefore not recommended to connect this RTU slave on real network together with other slaves.


Upgrade to Modbus Server Pro via this button:

ModbusServer
TCP Server Pro Version Features