Modbus for data collection


Thread Starter

Sunil Puranik

There are temperature controllers (25 nos.) at different locations in one big room sensing temperatures using PT-500. The temperature data and other status details like Oven On/Off, etc. to be transmitted and collected at one dedicated pc. A report using this data to be made.

We are using RS-485 interface.
Can we use Modbus for this application?
How to do it? Can it be a cost effective solution?
What are the steps involved? Do we require any additional Hardware/Software?

Kindly guide me.
You can only use a protocol supported by your 25 controllers.... so if they speak Modbus then yes.

You could use multidrop RS485 using either 2 wire or 4 wire connection.
Modbus can be used to collect data from 25 or more nodes on RS485. You need to make sure your temp controllers and whatever I/O you have to collect the oven status will talk Modbus, and share a comm parameter window. Will they all talk Modbus RTU vs. ASCII and at 19200-N-8-1 for example.

If so, then this can be done, but you'll need additional software on the PC, both to initiate the comm transactions with each of the slaves but also to make the reports, trend screens, etc. This could be software you write (free and low cost libraries are available to handle the Modbus part), or you could purchase software capable of collecting the data and making the reports. There are many available depending on how much flexibility and capability you want and whether you'd like to have some visualization features like trends and so on. Too many to mention in fact, but one that I use a lot is DAQ Factory from

santosh kubasad

The answer to your questions depends on a few factors as commented below:

> We are using RS-485 interface.

<b>> Can we use Modbus for this application?</b>

If the temperature controller that you are using is Modbus compliant then you can certainly use Modbus for this application. This would entail writing an application on the Host PC that acts as a Modbus Master and then communicating with the temperature controllers. If the controllers are not Modbus compliant, then you cannot use Modbus here unless ofcourse you are the designer of the temperature controller and so have the option of adding this support to it.

<b>> How to do it? Can it be a cost effective solution? What are the steps involved? Do we require any additional Hardware/Software?</b>

If the controllers are already Modbus compliant, then all you need is a Modbus Master library for the host. You can then write your application in VC++ or VB or C# using this library and do all the application logic you want to. Alternatively, there are SCADA applications that already support Modbus and you could use them if you do not want to write software at the C/C++/C# level. If you are the designer of the controllers and would like to add Modbus functionality to it, then you need a slave library for the micro controller used in your product. If you need more details on this, please contact me on my email and I will assist you.

The only additional hardware that I think you will need is an RS485 card for your host PC. You can also use a USB to RS485 converter for this purpose.

Santosh Kubasad
Modbus Protocol Engineer
Colways Solutions (
You can find some stuff here that shows how easy things might be:

There is a Modbus example and screenshot near the bottom of the page. There is info about USB to RS-485 adapters. These things might be useful (as a troubleshooting tool) even if you end up using a different software library in the end.